diff options
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 24 | 
1 files changed, 12 insertions, 12 deletions
| @@ -229,11 +229,11 @@ static void createmon(struct wl_listener *listener, void *data);  static void createnotify(struct wl_listener *listener, void *data);  static void createpointer(struct wlr_input_device *device);  static void cursorframe(struct wl_listener *listener, void *data); +static void destroydragicon(struct wl_listener *listener, void *data);  static void destroyidleinhibitor(struct wl_listener *listener, void *data);  static void destroylayersurfacenotify(struct wl_listener *listener, void *data);  static void destroynotify(struct wl_listener *listener, void *data);  static Monitor *dirtomon(enum wlr_direction dir); -static void dragicondestroy(struct wl_listener *listener, void *data);  static void focusclient(Client *c, int lift);  static void focusmon(const Arg *arg);  static void focusstack(const Arg *arg); @@ -340,6 +340,7 @@ static struct wl_listener cursor_button = {.notify = buttonpress};  static struct wl_listener cursor_frame = {.notify = cursorframe};  static struct wl_listener cursor_motion = {.notify = motionrelative};  static struct wl_listener cursor_motion_absolute = {.notify = motionabsolute}; +static struct wl_listener drag_icon_destroy = {.notify = destroydragicon};  static struct wl_listener idle_inhibitor_create = {.notify = createidleinhibitor};  static struct wl_listener idle_inhibitor_destroy = {.notify = destroyidleinhibitor};  static struct wl_listener layout_change = {.notify = updatemons}; @@ -356,7 +357,6 @@ static struct wl_listener request_set_psel = {.notify = setpsel};  static struct wl_listener request_set_sel = {.notify = setsel};  static struct wl_listener request_start_drag = {.notify = requeststartdrag};  static struct wl_listener start_drag = {.notify = startdrag}; -static struct wl_listener drag_icon_destroy = {.notify = dragicondestroy};  #ifdef XWAYLAND  static void activatex11(struct wl_listener *listener, void *data); @@ -1086,6 +1086,16 @@ cursorframe(struct wl_listener *listener, void *data)  }  void +destroydragicon(struct wl_listener *listener, void *data) +{ +	struct wlr_drag_icon *icon = data; +	wlr_scene_node_destroy(icon->data); +	/* Focus enter isn't sent during drag, so refocus the focused node. */ +	focusclient(selclient(), 1); +	motionnotify(0); +} + +void  destroyidleinhibitor(struct wl_listener *listener, void *data)  {  	/* `data` is the wlr_surface of the idle inhibitor being destroyed, @@ -1142,16 +1152,6 @@ dirtomon(enum wlr_direction dir)  }  void -dragicondestroy(struct wl_listener *listener, void *data) -{ -	struct wlr_drag_icon *icon = data; -	wlr_scene_node_destroy(icon->data); -	// Focus enter isn't sent during drag, so refocus the focused node. -	focusclient(selclient(), 1); -	motionnotify(0); -} - -void  focusclient(Client *c, int lift)  {  	struct wlr_surface *old = seat->keyboard_state.focused_surface; | 
