diff options
author | Devin J. Pohly <djpohly@gmail.com> | 2020-07-31 14:00:00 -0500 |
---|---|---|
committer | Devin J. Pohly <djpohly@gmail.com> | 2020-07-31 14:00:00 -0500 |
commit | 2dbe5c60636ea1eb3cbef929c1316323addf42a5 (patch) | |
tree | fce41690c39c2a915dfa120c4081c2bb9eeee7f0 | |
parent | 90d80c0de900b03d36c081423855b18c5fa02f56 (diff) |
simplify pointerfocus
Similar to focusclient
-rw-r--r-- | dwl.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -1054,21 +1054,21 @@ pointerfocus(Client *c, struct wlr_surface *surface, double sx, double sy, if (c && !surface) surface = WLR_SURFACE(c); - /* If surface is already focused, only notify of motion */ - if (surface && surface == seat->pointer_state.focused_surface) { - wlr_seat_pointer_notify_motion(seat, time, sx, sy); + /* If surface is NULL, clear pointer focus */ + if (!surface) { + wlr_seat_pointer_notify_clear_focus(seat); return; } - /* If surface is NULL, clear pointer focus, otherwise let the client - * know that the mouse cursor has entered one of its surfaces. */ - if (!surface) { - wlr_seat_pointer_notify_clear_focus(seat); + /* If surface is already focused, only notify of motion */ + if (surface == seat->pointer_state.focused_surface) { + wlr_seat_pointer_notify_motion(seat, time, sx, sy); return; } + /* Otherwise, let the client know that the mouse cursor has entered one + * of its surfaces, and make keyboard focus follow if desired. */ wlr_seat_pointer_notify_enter(seat, surface, sx, sy); - /* If keyboard focus follows mouse, enforce that */ if (sloppyfocus) focusclient(c, surface, 0); } |