Alt+Tab window switcher (MRU), snap/maximize, panel separators

- window_switcher action: overlay listing windows in most-recently-used
  order; Tab/arrows cycle, Enter confirms, Esc cancels. Bound to
  alt+tab with alt+w as fallback for terminals that swallow alt+tab
- snap_left/snap_right actions (alt+left/alt+right) tile the focused
  window to half the content area; dragging a window to the screen
  edge snaps it too
- maximize action (alt+up) toggles maximize/restore, double-click on
  the title bar does the same; restore returns the pre-snap geometry
- Panel: separator between focus dot and buttons, separators between
  right-docked status widgets, and item widths now use display width
  (fixes rects for åäö/wide labels)
- Integration suite: 23 checks, all passing

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 19:40:28 +02:00
parent 1c7999de09
commit b85345be99
5 changed files with 356 additions and 1 deletions

View File

@@ -44,6 +44,39 @@ scope = "global"
label = "Ny terminal"
action = { type = "spawn_terminal" }
# Fönsterväxlare (Alt+Tab-overlay i MRU-ordning).
# OBS: vissa terminaler/skrivbord fångar alt+tab själva — alt+w är reserv.
[[keybind]]
key = "alt+tab"
scope = "global"
label = "Fönsterväxlare"
action = { type = "window_switcher" }
[[keybind]]
key = "alt+w"
scope = "global"
action = { type = "window_switcher" }
# Fäst fokuserat fönster som vänster/höger halvskärm
[[keybind]]
key = "alt+left"
scope = "global"
label = "Fäst vänster"
action = { type = "snap_left" }
[[keybind]]
key = "alt+right"
scope = "global"
label = "Fäst höger"
action = { type = "snap_right" }
# Maximera/återställ fokuserat fönster (även dubbelklick på titelraden)
[[keybind]]
key = "alt+up"
scope = "global"
label = "Maximera/återställ"
action = { type = "maximize" }
# Avsluta TUI-WM när skrivbordet är fokuserat
[[keybind]]
key = "ctrl+q"