Status icon on the left or right of rows and tabs, by default

Closed
TE
20d ago
+385-64

Leo and Lawrence's team call asked for status icons on sidebar rows and tabs in place of kind icons with a corner badge, on the left or the right, with tabs matching rows. Leo 2026-10-15: no chat or kind icon on any sidebar row by default, the status icon follows sidebar.statusIconSide, and tabs match.

  • Rows (sidebar.rowBadge, new default Status icon): no kind icon on any row (agent, terminal, browser), no corner badge, no unread count. One status icon shows the row's most urgent state (error, then needs input, then working, then done for unread work); its tooltip lists every pending item.
    • Left: the status icon sits in a fixed slot before the title, so titles line up whether a row has a state or not.
    • Right: the left side is empty and the icon takes the trailing status slot.
  • Side (sidebar.statusIconSide, left or right, default left): a Debug Settings choice until it is promoted.
  • Tabs follow the rows: no kind icon or agent mark. A tab's status icon takes the icon's slot on the left, or sits at the title's end on the right with the title starting where the icon was. Pinned tabs keep their icon (it is all they show), and so does a user's own icon. Working tabs keep the spinner in the icon slot.
  • The old looks stay in Debug Settings: corner badge, glyph stack, count with trailing glyph.

Call for Leo: browser favicons. A browser row or tab keeps its page's favicon on the left, since it is the page's own icon, not a kind icon (you asked for favicons there separately). Until a page reports one, the row shows no icon (the globe kind icon is gone).

SidebarRowBadgeStyle moves to CmuxNextDesign so the tab strip can read it.

Stills

Real cmux NEXT DEV build of this head. Same window and workspaces in each: deploy (needs permission), review (question), tests (done), api (needs permission in a tab, with working, permission, done and browser tabs), notes (quiet), docs (github.com).

DarkLight
Base (corner badge)base darkbase light
Status icon, left (default)left darkleft light
Status icon, rightright darkright light

A browser row keeps its favicon (docs, left):

docs favicon

The github.com tab in the api strip shows no favicon in these stills because its page had not loaded yet; it showed the globe kind icon in base.

Tests

StatusIconSideTests covers the default (no chat icon, status on the left), no kind icon on any row, rows left and right, unread work showing done, titles on one column, tabs left and right, tabs without kind icons with a browser favicon kept, and tabs following the row style. Each behavior commit follows a red test commit. The corner badge tests now pin the corner look.

Changelog

Changed: Sidebar rows and tabs show one status icon (on the left by default) in place of kind icons and the corner badge.

🤖 Generated with Claude Code