commit 3f753c589ef7ac7e41c6daddea83b1714116c7fb from: Brett Fisher date: Mon Jun 15 19:45:40 2026 UTC README.md: Edit introduction. commit - 82109e7b994a60a00c8f6022c23d3848fcda3a1b commit + 3f753c589ef7ac7e41c6daddea83b1714116c7fb blob - c02e7c0df57896ee0f47b9e8ba3d1fb4eb28d875 blob + 9e5e60bd040e92a09a2fa313bfd380c5a66dbe31 --- README.md +++ README.md @@ -1,26 +1,28 @@ # bxwm -A very basic X window manager, a.k.a Brett's X window manager. +A very basic X window manager. ## Yet Another Window Manager? -I went down the path of minimalist window managers a very long time -ago. I used [dwm](https://dwm.suckless.org/) for many years. I tried out both - [i3](https://i3wm.org/) and [bspwm](https://github.com/baskerville/bspwm). I've relied on [cwm](https://cvsweb.openbsd.org/xenocara/app/cwm/) for the most recent several years. +Over the years, I have relied on or tried out a number of minimalist +window managers. dwm](https://dwm.suckless.org/) was a mainstay for +a long time. I tried out both [i3](https://i3wm.org/) and [bspwm](https://github.com/baskerville/bspwm). [cwm](https://cvsweb.openbsd.org/xenocara/app/cwm/) was my choice the last few years. -One day not too long ago when I should've been working, I daydreamed -about a window manager that did nothing more nor less than what I -needed a window manager to do. That matched my worflow without -tweaking or patching or scripting or hacking. +Each has some great design principles and features, and each had +things that I tried to tweak or patch or script or hack my way +around. What if there were a window manager that did nothing more +nor less than what I needed a window manager to do? That matched my +worflow without the work arounds? -Dreaming led to looking up minimal window manager source code, then -learning to read C code, then designing, then roadmapping, then -stumbling along writing C code, a lot of trial and error. And voilĂ . +These questions led to looking up the source code of a number of +minimalist window managers, followed by starting to learnto read C +code, then designing, then roadmapping, then stumbling along writing +C code, a lot of trial and error. And voilĂ . -Here is yet another window manager. My window manager. __bxwm__. -A stacking window manager that is purposely opinionated regarding -window placement and sizing, provides a straight forward work -environment, and prefers simplicity and tranquility. +Here is yet another window manager. My window manager. A stacking +window manager that is purposely opinionated regarding window +placement and sizing, provides a straight forward work environment, +and prefers simplicity and tranquility. In addition to being the window manager I use every day, __bxwm__ also serves as my primary project for transitioning from writing @@ -31,7 +33,7 @@ philosophy, and clean, readable API design. ## Dependencies - Xlib - - A C compiler compliant with the C11 standard (e.g. cproc or gcc). + - A C compiler compliant with the C11 standard. - bxhkd, basic X hotkey daemon (required for managing key commands). ## Build @@ -61,9 +63,9 @@ make uninstall ## Configuration -__bxwm__ is configured at compile-time by editing config.def.h. After -making changes, the program must be recompiled and reinstalled. See -bxwm(1) for details. +__bxwm__ is configured by config.def.h. User customizations should +be made in config.h. After making changes, the program must be +recompiled and reinstalled. See bxwm(1) for details. ## Design & Functionality @@ -72,7 +74,7 @@ __bxwm__ is built around a set of opinionated primitiv - Window Sizing & Placement - New windows are opened - small, centered on the screen, and, - - at a gold ratio dimension. + - at a golden ratio dimension. - Windows can be moved and resized to - centered half the width of the screen and full height, - right half of the screen and full height, @@ -93,7 +95,7 @@ __bxwm__ is built around a set of opinionated primitiv - Workspaces are navigated via key command. Window and workspace management and navigation commands via hotkeys -are sent to __bxwm__ via __bxhkd__. +are sent to __bxwm__ from __bxhkd__. Add the following lines to `~/.xinitrc` to start __bxwm__.