]> git.sur5r.net Git - i3/i3/blobdiff - src/tree.c
Call all ewmh_update_* functions together when necessary
[i3/i3] / src / tree.c
index e384987366bd5982f4a430a80b48ed349995e40f..4057d177b60246f9bcf60b609ce692ba8a13431e 100644 (file)
@@ -248,6 +248,11 @@ bool tree_close_internal(Con *con, kill_window_t kill_window, bool dont_kill_par
              * mapped. See https://bugs.i3wm.org/1617 */
             xcb_change_save_set(conn, XCB_SET_MODE_DELETE, con->window->id);
 
+            /* Stop receiving ShapeNotify events. */
+            if (shape_supported) {
+                xcb_shape_select_input(conn, con->window->id, false);
+            }
+
             /* Ignore X11 errors for the ReparentWindow request.
              * X11 Errors are returned when the window was already destroyed */
             add_ignore_event(cookie.sequence, 0);
@@ -295,10 +300,8 @@ bool tree_close_internal(Con *con, kill_window_t kill_window, bool dont_kill_par
     x_con_kill(con);
 
     if (ws == con) {
-        DLOG("Closing a workspace container, updating EWMH atoms\n");
-        ewmh_update_number_of_desktops();
-        ewmh_update_desktop_names();
-        ewmh_update_wm_desktop();
+        DLOG("Closing workspace container %s, updating EWMH atoms\n", ws->name);
+        ewmh_update_desktop_properties();
     }
 
     con_free(con);
@@ -453,7 +456,7 @@ void tree_render(void) {
     mark_unmapped(croot);
     croot->mapped = true;
 
-    render_con(croot, false);
+    render_con(croot);
 
     x_push_changes(croot);
     DLOG("-- END RENDERING --\n");