Usage & Shortcuts
All shortcuts are registered in KWin and rebindable via System Settings → Shortcuts → KWin.
Default shortcuts
Section titled “Default shortcuts”| Action | Default binding |
|---|---|
| Focus left/right/up/down | Meta+Left/Right/Up/Down |
| Toggle floating | Meta+W |
| Promote to master | Meta+Shift+Space |
| Move window prev/next in layout | Meta+Shift+Left/Right |
| Move window to left/right output | Meta+Shift+Ctrl+Left/Right |
| Increase / decrease master width | Meta+Ctrl+L / Meta+Ctrl+H |
| Increase / decrease master count | Meta+Ctrl+. / Meta+Ctrl+, |
| Cycle layout | (unbound) |
| Switch to MasterStack / Stacked | (unbound) |
Mouse:
- Drag the master/stack divider to set the master ratio interactively.
- Drag a tiled window onto another to swap positions.
- Resizing other edges reflows (snaps back to layout).
KCM / Settings
Section titled “KCM / Settings”A dedicated tiling KCM lives at:
System Settings → Window Management → Tiling
Controls (from tilingsettings.kcfg):
- Enable tiling (global master switch)
- Available layouts (MasterStack, Stacked checkboxes)
- Default layout
- Master width (%)
- Master count
- Gap margins (Left/Right/Top/Bottom)
- Gap between tiles
- Per-output subgroups for overrides
Settings live in ~/.config/kwinrc under the [Tiling] group.
Example keys:
Enabled=trueDefaultLayout=MasterStackEnabledLayouts=MasterStack,StackedMasterRatio=0.5MasterCount=1GapBetween=4GapLeft=8etc.- Output-specific under
[Tiling][Output HDMI-1]etc.
Automatic behavior
Section titled “Automatic behavior”- Tiling is enabled by default once the module is active.
- On the kwin-noctalia session, a oneshot
kwin-tiling-config.serviceensures[Tiling] Enabled=true. - New windows are automatically tiled according to the active layout engine for the (output, desktop).
- Moving windows between desktops or outputs triggers autotile + focus follow.
- Layout state (master count/ratio) persists via kwinrc writes.
Layouts
Section titled “Layouts”- MasterStack: one (or N) primary column(s) + vertical stack on the side.
- Stacked: every window occupies the full area (cycling via focus or layout switch).
Cycle between enabled layouts with the cycle action (or KCM).
Packaging / activation
Section titled “Packaging / activation”See the nixos module and hjem profile:
modules/nixos/kwin-tiling.nix— applies the overlay only for hosts that opt in.hjem/profiles/kwin-noctalia.nix— configures kwinrc and disables legacy tilers.- Only active on machines that include
nixos.kwin-tiling(lea currently).
Limitations (current)
Section titled “Limitations (current)”- Master ratio is currently a single value (not per-desktop or per-output).
- Divider drag with non-zero gaps is approximate.
- No per-leaf weights inside stacks yet (see roadmap).
For authoritative maintenance notes see the KWin source, packaging in pkgs/kwin-tiling and the in-repo architecture references (see Overview).