commit 64e848a2266d446a6aa8a1068d6201456ce9462d from: Brett Fisher date: Mon Jun 15 05:24:40 2026 UTC bxwm.c, config.def.h: Decouple status bar from window manager. - Remove spawn() logic and STATUSBAR macro to achieve full independence. - Add XSync() in setup() to ensure proper root window initialization. - Rely on .xinitrc for session orchestration, adhering to the Unix philosophy of modularity. commit - 410f763ac364e3cf7443b45de7012efae14663a5 commit + 64e848a2266d446a6aa8a1068d6201456ce9462d blob - 5087f911e780712fbc97dc10ef013eaab485cf4c blob + 0650c33f2dec07dea2afb90868fa51f88614e0a2 --- bxwm.c +++ bxwm.c @@ -61,7 +61,6 @@ static unsigned int num_or = 0; /* Utilities */ static void die(const char *fmt, ...); static void logmsg(const char *fmt, ...); -static void spawn(const char *cmd); static int xerror(Display *dpy, XErrorEvent *ee); /* Setup & Teardown */ int socket_init(void); @@ -181,12 +180,6 @@ logmsg(const char *fmt, ...) { static void logmsg(const char *fmt, ...) { (void)fmt; } #endif -static void -spawn(const char *cmd) { - if (fork() == 0) - execl("/bin/sh", "sh", "-c", cmd, (char *)NULL); -} - static int xerror(Display *dpy, XErrorEvent *ee) { char buf[1024]; @@ -266,6 +259,8 @@ setup(void) { PropertyChangeMask; XChangeWindowAttributes(dpy, root, CWEventMask, &wa); + XSync(dpy, False); + Cursor cursor = XCreateFontCursor(dpy, XC_left_ptr); XDefineCursor(dpy, root, cursor); XFreeCursor(dpy, cursor); @@ -312,8 +307,6 @@ setup(void) { PropModeReplace, (unsigned char *)&active, 1); update_workarea(); - - spawn(STATUSBAR); } static void blob - acba364276cac1e8720bc2e2891104fc6b405fa2 blob + 3f3a95a650ce3b1c583d228ab0fe0e70a79de348 --- config.def.h +++ config.def.h @@ -10,7 +10,6 @@ #define BORDER_UNFOCUSED "#555555" /* Grey */ #define PHI 1.618033988749895 /* Golden ratio */ #define INITIAL_HEIGHT 0.5 /* 50% of screen height */ -#define STATUSBAR "$HOME/.local/bin/bxbarrc.lua | $HOME/.local/bin/bxbar" #define NUM_WORKSPACES 10 #define INITIAL_WORKSPACE 0