forked from mirror/dwl
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
This commit is contained in:
parent
2385d82612
commit
e46238b95e
1 changed files with 5 additions and 1 deletions
6
dwl.c
6
dwl.c
|
@ -1199,6 +1199,9 @@ focusclient(Client *c, int lift)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Change cursor surface */
|
||||||
|
motionnotify(0);
|
||||||
|
|
||||||
/* Have a client, so focus its top-level wlr_surface */
|
/* Have a client, so focus its top-level wlr_surface */
|
||||||
client_notify_enter(client_surface(c), wlr_seat_get_keyboard(seat));
|
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
|
/* 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
|
* default. This is what makes the cursor image appear when you move it
|
||||||
* off of a client or over its border. */
|
* off of a client or over its border. */
|
||||||
if (!surface && time)
|
if (!surface)
|
||||||
wlr_xcursor_manager_set_cursor_image(cursor_mgr, "left_ptr", cursor);
|
wlr_xcursor_manager_set_cursor_image(cursor_mgr, "left_ptr", cursor);
|
||||||
|
|
||||||
pointerfocus(c, surface, sx, sy, time);
|
pointerfocus(c, surface, sx, sy, time);
|
||||||
|
@ -2373,6 +2376,7 @@ end:
|
||||||
wl_list_remove(&c->commit.link);
|
wl_list_remove(&c->commit.link);
|
||||||
wlr_scene_node_destroy(c->scene);
|
wlr_scene_node_destroy(c->scene);
|
||||||
printstatus();
|
printstatus();
|
||||||
|
motionnotify(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in a new issue