Keys

Manganese uses sway's keys on the Meta key (the Windows or Super key).

Windows

KeysDoes
Meta+H/J/K/L, Meta+arrowsFocus the window left, down, up or right
Meta+Shift+H/J/K/L, Meta+Shift+arrowsMove the window that way, onto the next monitor past the edge
Meta+Shift+QClose the window
Meta+FFullscreen on this monitor
Meta+Shift+FFullscreen across every monitor
Meta+Shift+TabFloat the window, or tile it again
Meta+TabSwitch between floating and tiled windows
Meta+MinusShow or hide the scratchpad
Meta+Shift+MinusMove the window to the scratchpad

Workspaces

KeysDoes
Meta+1 … Meta+0Go to workspace 1–10
Meta+Shift+1 … Meta+Shift+0Send the window to workspace 1–10

Layout

KeysDoes
Meta+WTabs; merges a selected split into one group
Meta+SStacked
Meta+ESplits a group's tabs side by side, switching between across and down
Meta+B / Meta+VMove the window out of its group, to the right / below
Meta+A / Meta+Shift+ASelect the window's group / back to the window

The desktop

KeysDoes
Meta+Space, Meta+DThe launcher
Meta+Shift+VClipboard history
Meta+Shift+SpaceOpen the copied address, or search for the copied text
Meta+Shift+ReturnLock
PrintScreenshot
Volume, mute and brightness keysStep the level, shown in a small notice

In a browser window

KeysDoes
Alt+Left / Alt+RightBack / forward
Ctrl+RReload
Ctrl+FFind in the page
Ctrl+Plus / Ctrl+Minus / Ctrl+0Zoom in / out / reset
Ctrl+Shift+PPrint
Ctrl+Shift+IDeveloper tools

Add your own

Keys are set in a config module, ~/.config/domicile/domicile.tsx, in place of domicile.json. Edit it in any editor, or on the Settings app's Code page; the desktop reloads it when you save. This one keeps the defaults and adds a terminal on Meta+Return:

import { runManganese } from "@domicile-desktop/manganese";import {  DEFAULT_KEYBINDINGS,  exec,} from "@domicile-desktop/manganese-window-management/keyboard/commands";export const Shell = runManganese({  keybindings: {    keybindings: { ...DEFAULT_KEYBINDINGS, "Meta+Return": exec("kitty") },  },});
  • exec takes the program and its arguments. For a shell line, use exec("sh", "-c", "…").
  • Every other action has a command too, such as resize grow left, notifications, night-light and keymap next. The full list, and an example for other keyboard layouts: KEYS.md.
  • domicile send-shell <command> runs one from a terminal: domicile send-shell workspace 2.
This page on GitHub