Aerospike Gnome (Tiling Window Manager)
Aerospike is a simple and opinionated tiling window manager for gnome.
This project takes inspiration from previous gnome tiling window managers such as forge and cosmic-shell as well as MacOS tiling WMs, mainly Aerospace (not affiliated).
Current Features
- Auto-tiling
- Accordion layouts with variable sizes
- Tabbed layouts
- Tree-based (albeit set depth of 2 for now) container-window paired layout similar to Aerospace
- Diagram for this is pending
Planned functionality
- Full Keyboard control w/window movement
- Sub-containers (more tree layers than the 1 supported for now)
- Gap size customization
Not currently planned
- Active window borders
- See my other extension for a rainbow or static border - PrettyBorders
- complicated window dragging features and uis
- Aerospace supports control + drag to combine windows while moving with the mouse, and normal window dragging.
Installation
Aerospike isn't on the GNOME extension store yet, so install it from source.
This builds the extension locally and drops it into your user's extension dir.
Requires just as the command runner, plus the
same build toolchain used for development (see Development):
fnm for a Node runtime (the build runs on Node via pnpm) and glib2 for
glib-compile-schemas.
Arch Linux:
sudo pacman -S git just fnm glib2 # fnm needs its shell hook on PATH: https://github.com/Schniz/fnm#shell-setup
Clone and install:
git clone https://github.com/lucasoskorep/aerospike-gnome
cd aerospike-gnome
fnm install
fnm use
just install
After installing from source, enable it (toggle in the Extensions app, or):
gnome-extensions enable aerospike@lucaso.io
Re-login or restart the shell (Alt+F2 → r on X11) to pick it up.
Development
Building and debugging locally needs a few extra tools:
just— the command runnerfnm— fast node version manager (the build runs on Node via pnpm)glib2— providesglib-compile-schemasfor compiling the settings schema
Arch Linux:
sudo pacman -S just fnm glib2
Set up the Node runtime with fnm (the pinned version lives in .node-version):
fnm install
fnm use
Then:
just install # install deps + build + drop into the extension dir
just lint # lint
just test # run the test suite
just test-watch # run tests in watch mode
just live-debug # tail gnome-shell logs while you poke at it