]> git.sur5r.net Git - i3/i3/blobdiff - src/manage.c
Assign the sticky value for _NET_WM_DESKTOP on scratchpad windows. (#2457)
[i3/i3] / src / manage.c
index 37d50e7bd22526dab63fdb9efc2132735c39e0f8..bbd8400726a17d271e3641838f4fd392b8792764 100644 (file)
@@ -430,7 +430,10 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
     if (xcb_reply_contains_atom(state_reply, A__NET_WM_STATE_STICKY))
         nc->sticky = true;
 
-    if (cwindow->wm_desktop == NET_WM_DESKTOP_ALL) {
+    /* We ignore the hint for an internal workspace because windows in the
+     * scratchpad also have this value, but upon restarting i3 we don't want
+     * them to become sticky windows. */
+    if (cwindow->wm_desktop == NET_WM_DESKTOP_ALL && !con_is_internal(ws)) {
         DLOG("This window has _NET_WM_DESKTOP = 0xFFFFFFFF. Will float it and make it sticky.\n");
         nc->sticky = true;
         want_floating = true;