From 2dbe5c60636ea1eb3cbef929c1316323addf42a5 Mon Sep 17 00:00:00 2001
From: "Devin J. Pohly" <djpohly@gmail.com>
Date: Fri, 31 Jul 2020 14:00:00 -0500
Subject: [PATCH] simplify pointerfocus

Similar to focusclient
---
 dwl.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/dwl.c b/dwl.c
index a8ce00c..785d34e 100644
--- 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);
-		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 is NULL, clear pointer focus */
 	if (!surface) {
 		wlr_seat_pointer_notify_clear_focus(seat);
 		return;
 	}
 
+	/* 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);
 }