Sidebar Layouts
The Agents workspace sidebar (C-c A w) stacks four major sections —
Requests → WIP → Live → Sessions — above a Keys/Toggles footer. Each
section has its own row format, glyph set, and (for Requests) a multi-layout
cycle.
These pages mock up the toggle states in colour, because colour is
load-bearing in this UI: it encodes CI state, review state, age, and attention.
A plain-text mock-up (the retired sidebar-demo.txt) could not carry that, so
the layouts now live here.
One page per section:
- Global — org filter, width, footer toggle states
- Requests — the A/B/C/D layout cycle + column anatomy
- WIP — grouping modes today plus a proposed columnar layout
- Live — view modes + linked-PR / linked-repo rows
How to read these mock-ups
Mock-ups use a custom "sidebar DSL" inside <pre class="sb-markup"> blocks.
This allows simple tags like {g}●{/} to render with the real foreground
colours from the Emacs faces.
The colours are faithful to agent-shell/hub/decknix-hub-icons.el and
agent-shell/hub-bulk/decknix-agent-shell-hub.el (cited per page). They are
not screenshots — spacing is approximate; column order and colour are
the contract.
Colour legend (source of truth)
| Swatch | Hex | Semantic | Where it appears |
|---|---|---|---|
| ██ | #98c379 | success / green | approved ●, merged ■, CI pass ⟳, approval ✓, live worktree ⎇*, resolved comments |
| ██ | #e06c75 | error / red | changes-requested ◐/✗, CI fail, conflict ▣/⚠, age ≥3d |
| ██ | #e5c07b | warning / yellow | draft ★, CI running, review-required, bot-pending b, needs-reply, age <3d, ? |
| ██ | #61afef | info / blue | open state word, team @, idle worktree ⎇, branch names |
| ██ | #87d7af | soft green | human reply ↩, bot reply 👽, reply-state comments column |
| ██ | #87d7ff | bright cyan | active-review indicator ◉ |
| ██ | #d7af5f | gold | me @, active-review row tint, needs-reply 💬 |
| ██ | #af5f87 | pink / mauve | bot author π, bot-pending 🤖 |
| ██ | #5c6370 | dim grey | no local clone ↓, stale ⊘ |
| ██ | comment face | dim default | closed ■, sha7, sub-day ages, (none) placeholders |
Shape-family glyphs
The primary status icon folds PR state + CI + review into one glyph
(decknix--hub-primary-status-icon, decknix-hub-icons.el:83):
| Glyph | Meaning | Colour rule |
|---|---|---|
| ○ | placeholder / pre-PR / local branch | shadow |
| ★ | draft | CI: pass / running / fail / orange soft-fail |
| ◐ | open / in-review | blocked / running / cyan commented / else shadow |
| ● | open & approved | success |
| ▣ | merge conflict | error |
| ■ / ■ | merged / closed | merged green, closed dim |
| π | bot author (overrides all above) | pink |
Worktree row badge
A fixed 2-column slot at the start of hub rows
(decknix--hub-worktree-row-badge, hub.el:1672):
| Badge | Meaning |
|---|---|
| ⎇* | branch is checked out in a worktree that is a live session |
| ⎇ | separate worktree of the local clone, no live session yet |
| ↓ | no local clone of the repo on this machine |
·· | (two spaces) primary HEAD / branch ref only / no (repo, branch) context |
Symbol style (y toggle)
y swaps the row-level activity icons (🤖 👽
💬 ↩) between emoji and an
ASCII fallback (β/β/i/i). The Live section count badges (📥 📤) are
always emoji and are not affected by the toggle. The shape-family glyphs and
the columnar ⟳ ✓ ✗ always stay ASCII — Emacs faces cannot tint colour-emoji,
so the colour contract above depends on them being plain glyphs.