Commit Briefs
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.
config.def.h: Update per refactor of bxbar, basic X status bar.
- Edit STATUSBAR - Display info in status bar piped in from Lua script.
bxwm.c: Clear _NET_ACTIVE_WINDOW when workspace has no focus.
- Update focus_next() and focus_prev() to reset the _NET_ACTIVE_WINDOW atom when transitioning to a workspace without clients. - Ensures consistent state display in status bars and external monitors.
bxwm.c: Standardize error handling with die() function.
- Add die() function matching bxnotify pattern for consistent error handling across the suite. - Replace fprintf/exit/cleanup call sites with die(). - Fix shadowing bug in socket_init() where local variables masked globals, preventing proper cleanup.
bxwm.c: Add support for override_redirect windows.
- Add guard in manage() to ignore override_redirect windows. - Implement or_add/or_remove to track override_redirect windows via CreateNotify. - Add restack_overrides() to ensure these windows remain above the managed stack. - Add feature for keeping bxnotify notifications above the managed stack.
Makefile: Start preparing for compiling bxwm with cproc.
- Add -std=c11 and -pendantic to CFLAGS - Change LIBX to LDLIBS
bxwm.c: Clean up of comments and debugging.
- Remove redundant code-restatement comments - Add structural comments for file readability - Convert non-critical fprintf calls to logmsg - Remove unnessary cleanup() fprintf call
bxwm.c: Decouple key handling logic from the window manager.
- Remove X11/keysym.h header - Remove Keycode caching in main() - Remove KeyPress event handling in main() - Remove XGrabKey calls in setup()
