Rebuild the GUI as if polish had been a requirement from day one: - AdwOverlaySplitView sidebar (collapses below 760sp), AdwTabView/ AdwTabBar tabs with spinner, attention icon and off-screen glow - one primary menu; every command is a win.* action with a Ctrl+Shift accelerator; header "needs you" count button - shared status vocabulary (status.rs + data/style.css) for sidebar rows, tabs and pane headers; colours from libadwaita variables - sidebar rows and tab pages reconciled in place, so selection and scroll survive refreshes and state changes can transition - panes as cards: status header, hover actions, focus outline, attention rings as outer shadows (no terminal resize) - terminals follow the desktop monospace font and a GNOME palette for light/dark; bundled symbolic icons in a GResource - disconnect banner, human-readable toasts, About dialog Fixes surfaced while verifying it: - pane.attach now sends replayable VT state (TerminalBackend:: screen_state) instead of plain text: colours and line starts survive attach in the GUI and the CLI - headless resize keeps the visible screen instead of discarding it - IPC actor selects on UI requests and the event stream instead of polling every 50ms, removing per-keystroke and per-call latency Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Lucenx9 committed on 9/28/2026, 9:31:38 PMparenta87a4a9
27 files changedLine totals unavailable