Commit Briefs
README.md, bxbar.1: Add user-facing documentation. (main)
- Create README.md detailing build, configuration, and pipeline. - Create bxbar.1 manual page with standard SEE ALSO references.
bxbar.c: Standardize code structure and improve logging safety.
- Apply static qualifiers to run() and draw() for consistency. - Forward-declare text_fit() to match the call hierarchy. - Reorder functions to mirror the execution flow. - Remove redundant initial draw logic.
bxbarrc.lua: Refactor workspace loop and refine battery UX.
- Use table.insert and table.concat for workspace string building. - Update battery icon logic to use math.ceil for more intuitive visual depletion. - Remove dead code remnants and redundant comments.
bxnet.c, config.def.h, bxbarrc.lua, Makefile: Implement C helper
for network interface status. - Create bxnet to monitor /sys/class/net/ for active interfaces. - Implement kernel-level detection for WiFi and Ethernet. - Define network state icons in config.def.h. - Update Makefile to build the new helper binary.
bxbar.c, config.def.h: Implement die() and refine logging strategy.
- Introduce die() for fatal error handling and standardized exit codes. - Implement compile-time DEBUG_LOGGING gate in config.def.h. - Remove hardcoded log path; pipe logmsg() output to stderr. - Standardize error reporting using die() in setup and initialization.
bxbar.c, bxbarrc.lua, config.def.h: Use invisible delimiter and
refine spacing. - Set DELIMITER to '\x01' (SOH) to prevent visual rendering artifacts. - Implement gap logic in draw() to enforce consistent 4-space separation between left and right elements. - Change default bar height. - Update bxbarrc.lua to use string.char(1) for delimiter output. - Update bxbarrc.lua to find battery path once at startup. - Update bxbarrc.lua to get and display battery status.
manage-bxbar, datetime.lua, workspace.lua: Remove Lua scripts as
part of refractor to implement workspace and active window monitoring.
bxbar.c, bxbar-ctl.lua, bxinfo.c: Implement workspace and active
window monitoring. - Add bxinfo helper to query EWMH atoms directly from X server. - Refactor lua/manage-bxbar to bxbar-ctl.lua to orchestrate window/workspace state. - Update bxwm.c to clear active window state on empty workspaces. - Consolidate status bar logic into a single Lua loop.
config.def.h: Corrections.
- Change default bar height. - Add missing DELIMITER parameter.
lua/manage-bxbar, lua/bxbar/datetime.lua, lua/bxbar/workspace.lua:
Create scripts to send information to display in bxbar. - manage-bxbar to manage Lua modules. - date-time.lua to display date, day of week, and time. - workspace.lua to display current workspace number
bxbar.c, config.def.h: Set left/right split rendering via DELIMITER.
- Extract text truncation into text_fit() helper. - Split stdin on DELIMITER so text before the delimiter renders left-aligned and text after renders right-aligned. - Falls back to full left-aligned rendering when no delimiter is present.
bxbar.c: Organize order of functions.
- Set order of forward function declarations and functions consistent with when called by main(), then setup(), and run() functions.
bxbar.c: Edit comment heading.
- Make consistent with comment headings in other basic X projects
config.def.h: Adopt conventional Make variable and target naming.
- Rename LIBS to LDLIBS for standard implicit rule compatibility. - Add explicit 'all' target as default build entry point. - Declare 'all' as phony.
