commit 382e21a945632dbd64c5a503221633b95ff68032
parent 331482cd3149c39c5fde2dbc62845423dc740061
Author: wh1tepearl <wh1tepearl@gmail.com>
Date: Sat, 13 Jun 2026 22:41:54 +0100
yes
Diffstat:
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -41,6 +41,16 @@ static const int left_sidepad = 0; /* left horizontal padding of bar */
static const int right_sidepad = 0; /* right horizontal padding of bar */
#endif
+#define BAR_ALWAYS_ON_TOP 1 /* Makes internal bar on top of other windows. */
+
+#if EXTERNAL_BARS
+#define EXTERNAL_BARS_ALWAYS_ON_TOP 1 /* Makes external bars on top of other windows. */
+#endif
+
+#if INFINITE_TAGS
+#define PINNED_WINDOWS_ALWAYS_ON_TOP 1 /* Makes pinned windows on top of other windows */
+#endif
+
/* tagging */
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
diff --git a/vxwm.c b/vxwm.c
@@ -1715,7 +1715,7 @@ restack(Monitor *m)
Client *c;
XEvent ev;
XWindowChanges wc;
-#if EXTERNAL_BARS
+#if EXTERNAL_BARS && EXTERNAL_BARS_ALWAYS_ON_TOP
ExternalBarStrut *exb;
#endif
@@ -1733,7 +1733,7 @@ restack(Monitor *m)
wc.sibling = c->win;
}
}
-#if INFINITE_TAGS
+#if BAR_ALWAYS_ON_TOP
else {
if (m->sel && m->sel->isfullscreen)
return;
@@ -1746,14 +1746,17 @@ restack(Monitor *m)
}
}
XRaiseWindow(dpy, m->barwin);
-#if EXTERNAL_BARS
+#endif
+#if EXTERNAL_BARS && EXTERNAL_BARS_ALWAYS_ON_TOP
for (exb = ebarstruts; exb; exb = exb->next)
XRaiseWindow(dpy, exb->win);
#endif
- /* raise pinned windows because it is annoying when they are below others */
+#if INFINITE_TAGS && PINNED_WINDOWS_ALWAYS_ON_TOP
for (c = m->stack; c; c = c->snext)
if (ISVISIBLE(c) && c->is_pinned)
XRaiseWindow(dpy, c->win);
+#endif
+#if BAR_ALWAYS_ON_TOP
}
#endif
XSync(dpy, False);