fix: skip unmap notifications for unmanaged clients
This commit is contained in:
parent
527f644a94
commit
e0bc89ecdc
BIN
build/client.o
BIN
build/client.o
Binary file not shown.
BIN
build/main.o
BIN
build/main.o
Binary file not shown.
@ -833,6 +833,7 @@ void client_set_fullscreen(Client *client, bool fullscreen)
|
||||
XRaiseWindow(dwn->display, client->window);
|
||||
XSync(dwn->display, False);
|
||||
} else {
|
||||
client->flags |= CLIENT_UNMANAGING;
|
||||
client->flags &= ~CLIENT_FULLSCREEN;
|
||||
atoms_update_wm_state(client->window, ewmh.NET_WM_STATE_FULLSCREEN, false);
|
||||
api_emit_window_fullscreen(client->window, false);
|
||||
@ -855,6 +856,7 @@ void client_set_fullscreen(Client *client, bool fullscreen)
|
||||
decorations_render(client, true);
|
||||
client_raise(client);
|
||||
XSync(dwn->display, False);
|
||||
client->flags &= ~CLIENT_UNMANAGING;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -335,6 +335,11 @@ static void handle_unmap_notify(XUnmapEvent *ev)
|
||||
return;
|
||||
}
|
||||
|
||||
if (c->flags & CLIENT_UNMANAGING) {
|
||||
LOG_DEBUG("handle_unmap_notify: window %lu is being unmanged, skipping unmap", c->window);
|
||||
return;
|
||||
}
|
||||
|
||||
if (c->workspace != (unsigned int)dwn->current_workspace) {
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user