commit 2dbe5c60636ea1eb3cbef929c1316323addf42a5
parent 90d80c0de900b03d36c081423855b18c5fa02f56
Author: Devin J. Pohly <djpohly@gmail.com>
Date: Fri, 31 Jul 2020 14:00:00 -0500
simplify pointerfocus
Similar to focusclient
Diffstat:
| M | dwl.c | | | 16 | ++++++++-------- |
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/dwl.c b/dwl.c
@@ -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);
}