From 1546891e6ab008b0383ebffe85ec0e761f58b7e1 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 6 Apr 2015 15:40:12 +0200 Subject: [PATCH] Bugfix: Remove windows from the save set when unmapping. fixes #1617 --- src/tree.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/tree.c b/src/tree.c index b40ba2a2..753b02fc 100644 --- a/src/tree.c +++ b/src/tree.c @@ -253,6 +253,13 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool cookie = xcb_change_property(conn, XCB_PROP_MODE_REPLACE, con->window->id, A_WM_STATE, A_WM_STATE, 32, 2, data); + /* Remove the window from the save set. All windows in the save set + * will be mapped when i3 closes its connection (e.g. when + * restarting). This is not what we want, since some apps keep + * unmapped windows around and don’t expect them to suddenly be + * mapped. See http://bugs.i3wm.org/1617 */ + xcb_change_save_set(conn, XCB_SET_MODE_DELETE, con->window->id); + /* Ignore X11 errors for the ReparentWindow request. * X11 Errors are returned when the window was already destroyed */ add_ignore_event(cookie.sequence, 0);