Releases: z20240/yabai-dockstack
Release list
v0.2.11
One-key window menu + quick-select
- Open window menu — new hotkey action (default ⌃,) pops the cross-space window menu from the menu-bar icon. Configurable in Settings → Keyboard like every other binding (open the Keyboard pane and press Apply once to install it into skhd).
- Quick-select keys — while the menu is open, every window row shows a key (1–9, 0, then letters); press it to focus that window instantly. Arrow keys + Return still work.
- Fix: recorded punctuation hotkeys now emit uppercase hex keycodes (skhd rejects lowercase — e.g.
0x2bvs0x2B).
v0.2.10
Icons & multi-language UI
- SF Symbol icons next to every hotkey in the Keyboard pane.
- Full UI localization — English, Traditional Chinese (繁體中文), Japanese (日本語): Settings tabs and panes, hotkey action names and group headers, menu-bar menu, hotkey recorder, and the yabai setup guide.
- Language picker in Appearance (default: follow the system language); switching applies instantly.
- Keyboard pane now opens scrolled to the top.
- Localization is guarded by tests: the three string tables must stay in perfect parity, every hotkey must have a translation, every referenced key must exist, and every SF Symbol name is validated.
v0.2.9
Fix: cross-display space moves now work for tiled (yabai-managed) windows. yabai refuses --move abs on managed windows ("cannot move a managed window"), so cross-display sends silently degraded into a same-display walk. The window is now floated for the journey and re-tiled on arrival; abort paths also restore state.
v0.2.8
SIP-free space moves
The "send window to space" hotkeys (ctrl+cmd+←/→, ctrl+cmd+1–9) now work with SIP fully enabled — no more scripting-addition requirement for these bindings.
- When yabai's scripting addition is unavailable, the helper scripts delegate to the resident app, which simulates the native gesture: it drags the window by its titlebar and presses the Mission Control switch keys via synthetic events (cross-display targets hop via an absolute AX move first).
- Expect the normal macOS space-switch slide animation, one hop per space.
- With SIP partially disabled + SA loaded, the original instant yabai path is used automatically.
- Requires the app running and the Accessibility permission it already uses.
Limitations: windows without a draggable titlebar area at top-center (fullscreen games, tab-bar-filled titlebars) may not move; a display currently showing a macOS-fullscreen space can't receive windows; avoid touching mouse/keyboard during the ~1–2 s simulation.
Under the hood: new pure-logic SpaceTravelPlanner (unit-tested), a socket command channel on the existing IPC socket (backward compatible), CGEvent simulation engine, and content-aware helper-script upgrades on launch.
v0.2.7
Import existing config
New Import existing… button in both Settings panes (and a one-time auto-import on first launch). If you already hand-wrote bindings in ~/.yabairc / ~/.skhdrc, the app now pulls the ones it recognizes into its managed region and comments out the originals (# [yabai-dockstack imported] …), so the UI becomes the single source of truth — rebinding/disabling in the UI actually takes effect instead of double-firing alongside your old line.
- Matches by command (path differences ignored); your jq/custom/shell lines, signals, and SA bootstrap are left untouched.
- Writes back up to
.bakfirst; never auto-applies (press Apply afterward). - Clean installs are unaffected (nothing to import).
brew update && brew upgrade --cask z20240/tap/yabai-dockstack
v0.2.6
Fixes
- yabai Settings pane layout is finally correct: the form no longer drifts, the blank gap above it is gone, and the Default layout control shows BSP / Float / Off (previously clipped to '…').
- The Settings window title now shows the version, e.g. 'yabai-dockstack Settings (v0.2.6)'.
v0.2.5
v0.2.4
v0.2.3
v0.2.2
Fix
Swapped the Float and Off behaviors so they match what the labels imply:
- Float — every window floats (yabai's floating-mode shortcuts like corner/half grid moves apply). Implemented as
layout float+ a globalmanage=offso each window's floating flag is set. - Off — yabai stops tiling and otherwise leaves your windows alone (native feel).
(BSP is unchanged: tiling with the BSP-mode shortcuts.)
brew update && brew upgrade --cask z20240/tap/yabai-dockstack