Commits


bxwm.c: Edit comments.


bxwm.1: Edit description section.


README.md: Edit for clarity and consistency.


bxwm.1: Update author and log file directory.


README.md: Initial commit.


bxwm.1: Initial commit.


Makefile: Add man page install and uninstall.


LICENSE.md: Update license details.


bxwm.c: Reorder functions to match order in forward declarations.


Makefile: Start preparing for compiling bxwm with cproc. - Add -std=c11 and -pendantic to CFLAGS - Change LIBX to LDLIBS


config.def.h: Remove unnecessary comments.


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, config.def.h: Remove dead code.


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).


config.def.h: Edit heading comment.


Makefile: Add target all.


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().


config.def.h: Add STATUSBAR command.


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.


bxwm.c: Change launchprograms key command name to launchprogram.


config.def.h: Define launchprograms command.