summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-09-22 14:36:53 -0500
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-09-26 13:17:07 -0500
commite46238b95ee3e74ee7a54e592276e8b1be2f0ea0 (patch)
treeb0d46b879066b1724e8dc0d46a29309d5f5cab84
parent2385d826122d24b72cab2ce531ad538d87407622 (diff)
change cursor surface in internal calls of motionnotify()
and call motionnotify() after unmapping a client and when focusing a client Fixes: https://github.com/djpohly/dwl/issues/308
-rw-r--r--dwl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/dwl.c b/dwl.c
index 6fbc771..3538cf3 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1199,6 +1199,9 @@ focusclient(Client *c, int lift)
return;
}
+ /* Change cursor surface */
+ motionnotify(0);
+
/* Have a client, so focus its top-level wlr_surface */
client_notify_enter(client_surface(c), wlr_seat_get_keyboard(seat));
@@ -1521,7 +1524,7 @@ motionnotify(uint32_t time)
/* If there's no client surface under the cursor, set the cursor image to a
* default. This is what makes the cursor image appear when you move it
* off of a client or over its border. */
- if (!surface && time)
+ if (!surface)
wlr_xcursor_manager_set_cursor_image(cursor_mgr, "left_ptr", cursor);
pointerfocus(c, surface, sx, sy, time);
@@ -2373,6 +2376,7 @@ end:
wl_list_remove(&c->commit.link);
wlr_scene_node_destroy(c->scene);
printstatus();
+ motionnotify(0);
}
void