]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Correctly initialize the new atom, don’t float dock windows
authorMichael Stapelberg <michael@stapelberg.de>
Sat, 13 Jun 2009 10:18:16 +0000 (12:18 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 13 Jun 2009 10:18:16 +0000 (12:18 +0200)
src/mainx.c
src/manage.c

index 5e9bf0776d0a96730bc6ad6330a1b9539101d050..67ab25fd055ac0b41d4a04f2dc259eac1470b38b 100644 (file)
@@ -160,6 +160,7 @@ int main(int argc, char *argv[], char *env[]) {
         REQUEST_ATOM(_NET_WM_WINDOW_TYPE);
         REQUEST_ATOM(_NET_WM_DESKTOP);
         REQUEST_ATOM(_NET_WM_WINDOW_TYPE_DOCK);
+        REQUEST_ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
         REQUEST_ATOM(_NET_WM_STRUT_PARTIAL);
         REQUEST_ATOM(WM_PROTOCOLS);
         REQUEST_ATOM(WM_DELETE_WINDOW);
@@ -263,6 +264,7 @@ int main(int argc, char *argv[], char *env[]) {
         GET_ATOM(_NET_WM_WINDOW_TYPE);
         GET_ATOM(_NET_WM_DESKTOP);
         GET_ATOM(_NET_WM_WINDOW_TYPE_DOCK);
+        GET_ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
         GET_ATOM(_NET_WM_STRUT_PARTIAL);
         GET_ATOM(WM_PROTOCOLS);
         GET_ATOM(WM_DELETE_WINDOW);
index 09cf66eb5cf1ae5ab372f0a9308705d71ed48cc0..84e0e15f0e08b7568dfc6f72522e891ff2b673b1 100644 (file)
@@ -256,6 +256,8 @@ void reparent_window(xcb_connection_t *conn, xcb_window_t child,
                                 new->force_reconfigure = true;
                                 new->container = NULL;
                                 SLIST_INSERT_HEAD(&(c_ws->screen->dock_clients), new, dock_clients);
+                                /* If it’s a dock we can’t make it float, so we break */
+                                break;
                         } else if (atom[i] == atoms[_NET_WM_WINDOW_TYPE_DIALOG]) {
                                 /* Set the dialog window to automatically floating, will be used below */
                                 new->floating = FLOATING_AUTO_ON;