oxwm github discord tonybtw.com

Quick start

Create a config

oxwm writes a default config on first launch. You can also create it yourself:

oxwm --init

Either way it ends up at ~/.config/oxwm/config.lua.

First keys

The default modifier is Mod4, the Super key. These are the bindings you need on day one:

Key Action
Mod+Return Open a terminal
Mod+D Run dmenu
Mod+Q Close the focused window
Mod+J / Mod+K Focus the next or previous window
Mod+1 to Mod+9 Switch to a tag
Mod+Shift+1 to Mod+Shift+9 Move the window to a tag
Mod+Shift+/ Show the keybind overlay
Mod+Shift+R Reload the config
Mod+Shift+Q Quit oxwm

The default terminal is alacritty and the launcher is dmenu_run. If you do not have them, install them or change the config before you log in. The full list is on the keybindings page.

Change something

Open the config and set your terminal:

oxwm.set_terminal("st")

Save, press Mod+Shift+R, then Mod+Return. No rebuild and no logout.

Check a config

If a reload does nothing, the config probably has an error. Run the validator:

oxwm --validate

It loads the file, prints any Lua error and exits.

Try it in a window

You can run oxwm inside a nested X server without touching your session:

Xephyr -screen 1280x800 :2 &
DISPLAY=:2 oxwm

From a source checkout, zig build xephyr does both steps.

Next