Yabar's mark: a stack with tabs beside two tiles
A menu bar companion for yabai

Spaces, stacks and tabs for yabai.

Your spaces in the menu bar. Every stack marked with icons, pills or i3-style tabs beside it. One set of keys through stacks and tiles, a launcher for every window, and layouts per display: columns instead of the spiral, and the focused window always given room.

$ brew install --cask mpdreamz/tap/yabar
Yabar's tabs over a stack of terminals beside a browser, notes and music, the spaces in the menu bar
Stacks

See what's in a stack.

yabai shows only the window on top. Yabar marks the rest beside it, never over it: it asks yabai for just enough room, and gives it back when the stack goes.

i3-style tabs across the top of a stack
Tabsi3's tabbed layout: icon and title, across the top.
App icons down the side of a stack
IconsThe apps, down the side facing the screen.
Slim pills beside a stack
PillsJust enough to count them.
Keys

One set of keys, stacks and tiles.

Along a stack, the keys step through its windows; past the end, on to the next tile, then the next display. Back into a stack, you land where you left it. The way i3 does it, from skhd.

lcmd - h : yabar focus west
lcmd - j : yabar focus south
lcmd - k : yabar focus north
lcmd - l : yabar focus east
lcmd + shift - space : yabar launcher
lcmd - 0 : yabar focus attention
A stack with tabs, the first one focused
Launcher

Any window, on any space.

Windows, stacks, scratchpads, apps, and Yabar's and yabai's commands, with badges for the space, the stack and who wants you. Enter goes there; ⌘Enter opens a new copy; > runs yabai.

Yabar's launcher listing windows with their space and stack, a stack, an app and commands
Layouts, per display

Columns, and room for what you're on.

Three or four columns instead of yabai's spiral, extra windows as rows or stacks, and the focused column given the golden share. Set it for the laptop's screen, the big monitor, or one labelled space.

Four windows in yabai's spiral
yabai's spiral
The same windows as four columns
Four columns
The focused column with the golden share
Focus sizing, golden ratio
Auto-stackAt most so many tiles; a new window beyond goes into the focused stack.
ProfilesLayout, padding, gap, columns and indicators per display or labelled space.
Scratchpadsyabai's own, set up in Yabar and shown with one key.
Well behaved

Stays out of your yabai.

No permissionsTitles, frames and focus come from yabai: no Accessibility, no Screen Recording.
Your .yabairc winsOnly per-space settings, all labelled, all put back on quit, kill or the next launch.
Native and smallSwift, talks to yabai's socket directly; signed, notarized, updates itself.

Questions

What does it need?

An Apple Silicon Mac on macOS 15 or later, and yabai. yabai's scripting addition is optional: without it, clicking a space focuses one of its windows instead, and scratchpads are off.

Does it replace stackline or SpaceId?

Both, natively: stack indicators without Hammerspoon, and the spaces in the menu bar, signed and notarized.

Will it change my yabai setup?

Only per space and only while it runs: padding and gap for the indicators, and what your profiles ask. Everything carries a yabar- label and goes back to your .yabairc's values when Yabar quits.

How do I bind keys?

The cask puts yabar on your PATH; bind yabar focus, yabar launcher and yabar scratchpad in skhd. See Keys.

Is it free?

Yes, MIT licensed, on GitHub.

Tile like you mean it.