ace

A tiling window manager that gets out of the way.

ace is a minimal X11 window manager written in C++17. No compositor bloat, no windows to drag around — every new window is tiled automatically into a master and stack layout, with a footprint of about 5MB of RAM.

kitty
~/ace $
notes.md
htop
hover a window to focus it — focus follows the mouse in ace

Small on purpose

ace does one job: tile your windows. Everything else — the terminal, the launcher — is a program you already have.

~5MB
resident memory
C++17
language
Xlib
only dependency
GPLv3
license

Keybinds

The defaults. Every one of them can be changed with bind lines in ~/.config/ace/config, and Super + R reloads the file without a restart.

Super+J / K
Focus the next or previous window
Super+Shift+J / K
Swap the focused window with the next or previous one
Super+Return
Make the focused window the master
Super+H / L
Shrink or grow the master area
Super+Space
Open a terminal
Super+D
Open the application launcher
Super+F
Make fullscreen
Super+0–9
Switch workspace
Super+Shift+0–9
Move the focused window to a workspace
Super+Q
Close a window
Super+R
Reload the config
Super+Ctrl+Q
Quit ace

Install

ace needs a C++17 compiler and libX11. Pull the headers for your distro, then build.

arch linux
$ sudo pacman -S libx11 xorg-server-xephyr
debian / ubuntu
$ sudo apt install libx11-dev xserver-xephyr
build & try it
$ git clone https://github.com/fuewwa/ace
$ cd ace && sudo make clean install
run it by default
$ echo 'exec /path/to/ace' >> ~/.xinitrc
$ startx