JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Set stacking order when setting up a new status bar.
[spectrwm.git] / spectrwm.c
index bafbc34..3719d0d 100644 (file)
@@ -2769,6 +2769,13 @@ bar_setup(struct swm_region *r)
            XCB_COPY_FROM_PARENT, XCB_CW_BACK_PIXEL | XCB_CW_BORDER_PIXEL
            | XCB_CW_EVENT_MASK, wa);
 
+       /* Stack bar window above region window to start. */
+       wa[0] = r->id;
+       wa[1] = XCB_STACK_MODE_ABOVE;
+
+       xcb_configure_window(conn, r->bar->id, XCB_CONFIG_WINDOW_SIBLING |
+           XCB_CONFIG_WINDOW_STACK_MODE, wa);
+
        r->bar->buffer = xcb_generate_id(conn);
        xcb_create_pixmap(conn, screen->root_depth, r->bar->buffer, r->bar->id,
            WIDTH(r->bar), HEIGHT(r->bar));
@@ -4960,8 +4967,7 @@ max_stack(struct workspace *ws, struct swm_geometry *g)
                }
        }
 
-       if (TRANS(win)) {
-               parent = find_window(win->transient);
+       if (TRANS(win) && (parent = find_window(win->transient))) {
                raise_window(parent);
 
                TAILQ_FOREACH(w, &ws->stack, stack_entry)