Commit Briefs
bxwm.c: Edit comments. (main)
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()
bxwm.c:
- Implement socket-based Inter-Process Communication (IPC) for command execution. - Replace blocking XNextEvent() loop with poll() multiplexing to watch both X11 events and a new Unix domain socket. - Add socket_init() and handle_socket_command() to manage IPC. - Migrate window management commands to be callable via socket strings. - Refactor event loop to handle X11 events and socket commands concurrently.
bxwm.c:
- Edit functions to convention first line return types and second line begins with function name. - Remove unnecessary debug messages. - Retain useful dembug messages in manage(), unmanage(), and focus_client(). - Add consistent logmsg() to bxwm (stderr, #ifdef DEBUG guarded).
bxwm.c:
- Add state management and logic for integration with bxbar. - Add layout state to Client struct to track window geometry. - Implement arrange() to re-tile windows when work area changes. - Modify layout functions to update layout state instead of changing focus. - Set dock windows to persistent workspace -1. - Prevent dock windows from being moved or reassigned. - Spawn STATUSBAR command on startup via setup().
bxwm.c:
- Implement sticky status bar/dock. - Set dock workspace to -1 in manage() so view() skips it. - Prevent dock from being reassigned to a specific workspace in movetows().
bxwm.c:
- Implement detection of status bar (dock) and geometry for window layouts to allow for status bar (dock). - Add support for _NET_WM_STRUT_PARTIAL and _NET_WM_STRUT. - Implement update_workarea() to track usable screen geometry. - Add _NET_WM_WINDOW_TYPE_DOCK support to identify bar/dock windows. - Refactor layout functions (center, half, small, maximize) to use work area. - Wire PropertyNotify events to automatically update geometry when struts change. - Disable placement logic for dock windows in manage().
bxwm.c:
- Implement basic EWMH/ICCCM compliance. - Set EWMH root window properties for workspace and client state so external tools (panels, pagers) can read bxwm state. - Replace XKillClient with WM_DELETE_WINDOW protocol for graceful window closing. - Atoms supported: _NET_SUPPORTED, _NET_NUMBER_OF_DESKTOPS, _NET_CURRENT_DESKTOP, _NET_CLIENT_LIST, _NET_ACTIVE_WINDOW, _NET_WM_DESKTOP.
