Skip to content

Usage & Shortcuts

All shortcuts are registered in KWin and rebindable via System Settings → Shortcuts → KWin.

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).

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=true
  • DefaultLayout=MasterStack
  • EnabledLayouts=MasterStack,Stacked
  • MasterRatio=0.5
  • MasterCount=1
  • GapBetween=4
  • GapLeft=8 etc.
  • Output-specific under [Tiling][Output HDMI-1] etc.
  • Tiling is enabled by default once the module is active.
  • On the kwin-noctalia session, a oneshot kwin-tiling-config.service ensures [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.
  • 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).

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).
  • 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).