Remove windows from the save set in unmanage

While a window is in the save set, it will automatically be made visible again
when awesome exits/dies. This makes sure that the next window manager will pick
this window up and handle it properly again.

But when a window explicitly asks not to be visible, it doesn't want to be
visible. Even if awesome dies. So we should remove the client's window from the
save set in client_unmanage.

Thanks to anrxc and his xwrits.

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter 2010-07-24 19:44:28 +02:00
parent d45d31ebae
commit db958cafb4
1 changed files with 4 additions and 0 deletions

View File

@ -1317,6 +1317,10 @@ client_unmanage(client_t *c)
ewmh_update_net_client_list(c->phys_screen); ewmh_update_net_client_list(c->phys_screen);
/* Remove this window from the save set since this shouldn't be made visible
* after a restart anymore. */
xcb_change_save_set(globalconf.connection, XCB_SET_MODE_DELETE, c->window);
/* set client as invalid */ /* set client as invalid */
c->invalid = true; c->invalid = true;