Files
aerospike-gnome/README.md
T
Lucas Oskorep c9ef3f404a
Build and Test / build (push) Successful in 44s
Build and Test / release (push) Successful in 4s
docs: add source install + dev instructions, bump Node to 26
2026-09-07 14:16:28 -04:00

2.4 KiB

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.

Arch Linux:

sudo pacman -S git just

Clone and install:

git clone https://github.com/lucasoskorep/aerospike-gnome
cd aerospike-gnome
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+F2r on X11) to pick it up.

Development

Building and debugging locally needs a few extra tools:

  • just — the command runner
  • fnm — fast node version manager (the build runs on Node via pnpm)
  • glib2 — provides glib-compile-schemas for 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