diff --git a/dwl.c b/dwl.c index 9f6a2e7..995c77c 100644 --- a/dwl.c +++ b/dwl.c @@ -2280,6 +2280,10 @@ unmapnotify(struct wl_listener *listener, void *data) { /* Called when the surface is unmapped, and should no longer be shown. */ Client *c = wl_container_of(listener, c, unmap); + if (c == grabc) { + cursor_mode = CurNormal; + grabc = NULL; + } wl_list_remove(&c->link); if (client_is_unmanaged(c)) return;