Harry Bayliss b5dfaf39c4 Marquee long sidebar names; truncate with ellipsis otherwise
Sidebar rows that overflow the rail width used to spill characters
into the main viewport. They now truncate with a trailing "…"
when unfocused (or when the focused name still fits). The focused
row whose name overflows runs a pause-scroll-pause marquee: 1 s
hold on the head, ~150 ms per cell scroll, 1 s hold on the tail,
snap back. The row's geometry never moves while it animates, so
nothing below shifts.

A dedicated 150 ms goroutine flips sidebarDirty only while a row
is actively animating; the chrome ticker does the actual repaint.
Idle is a single cheap wakeup. focus / spawn / exit / restart all
reset the marquee state so the new focused row starts from frame
zero. When the row's budget is tight, the trailing timer
indicator drops before the name ellipses since the name is the
only identifier the row carries.

clampVisible() is a defensive net inside write(): even if a row's
decoration size were mis-computed, it will not spill past the
sidebar band into the PTY area.
2026-05-15 15:33:39 +01:00
2026-05-14 16:37:46 +01:00
2026-05-14 16:03:49 +01:00
wip
2026-05-15 00:28:06 +01:00
wip
2026-05-15 00:28:06 +01:00
wip
2026-05-15 00:28:06 +01:00
2026-05-14 14:00:45 +01:00
2026-05-14 13:37:20 +01:00
Description
Terminal-based agent orchestration shell. Named after my dog.
3.1 MiB
v0.0.7 Latest
2026-05-18 13:02:46 +01:00
Languages
Go 99.6%
Makefile 0.4%