NekoWM is a lightweight, stack-like tiling window manager with split-based layouts.
Newly spawned window splits space with the previously added window in the current stack. With each new window recursively halving the space of the one before it.
Spawn 2 windows:
window1: 50%
window2: 50%
Spawn another:
window1: 50%
window2: 25%
window3: 25%
Spawn one more:
window1: 50%
window2: 25%
window3: 12.5%
window4: 12.5%
NekoWM is designed to be a single, self-contained binary with:
- No runtime dependencies (beyond X11 libraries)
- No config files
- No external daemons
NekoWM is supposed to only manage your windows, not more or less. This means:
- Basic messages for window operations like
- Map window
- Fullscreen window
- Close window
- No reconfiguring on runtime
- No changing montior mapping
- No adding or removing stacks
- No changing any bar colors or bar positions
libxcb(keysymsandrandr)Xlib(only for keysyms, see Xlib note)gcc(editMakefileto use another compiler)make
makemake installmake uninstallmake cleanThis creates a desktop session entry
make sessionXlib is only used for the keysym macros (XK_*). You can avoid this dependency by replacing the macros with raw keycode values (e.g., 38, 40, etc.).
To disable Xlib entirely, edit src/neko.h and Makefile.
NekoWM customization is done by editing the config file and compiling from source. Due to the Philosophy of NekoWM there will not be any config file being read from any other place on the system. Unfortunately there is no other way to configure NekoWM other than to recompile the entire program.
| Name | Function |
|---|---|
| BORDER | Edit the border width of each mapped window |
| FOCUSED | The border color of the currently focused window |
| UNFOCUSED | Self explanatory |
| GAP | The gap between each mapped window |
| SOCKET_PATH | The path for the UNIX socket |
| LOG_PATH | The path of the log file |
- MOD1 = Alt
- MOD2 = Shift
- MOD3 = Control
- MOD4 = Super
Example:
{ MOD, Key, Command },
Note
Each mod is a flag meaning you can stack them.
Example:
{ MOD1 | MOD2, XK_Return, "dmenu_run" },
This will create a keybind alt + shift + return|enter which will in response execute dmenu_run
NekoWM is licensed under the MIT License.