Skip to content

Rebuild the TUI: sidebar, keymap, themes and background loading - #9

Merged
madeofpendletonwool merged 4 commits into
mainfrom
feat/tui-shell
Oct 19, 2026
Merged

madeofpendletonwool merged 4 commits into
mainfrom
feat/tui-shell

Conversation

@madeofpendletonwool

Copy link
Copy Markdown
Owner

First part of Phase 4. The TUI no longer waits on the network, gets a sidebar layout with a now-playing bar, configurable keys, the web app's themes and mouse support, and every existing page is rebuilt on it.

Pages no longer wait on the network in the render loop: loads run in the
background with a spinner, changes show at once and report back as toasts, and
data that changes on one page refreshes on the others. The frame is a sidebar,
a now-playing bar with a clickable progress bar, and key hints for the page
you're on. Keys come from a keymap with per-page contexts that keymap.toml can
override, and ? lists them. Every list filters as you type and takes the mouse.

Colors come from the web app's 25 themes, with roles derived for a terminal and
fallbacks where a token doesn't read on its background, mapped to 256 colors
where the terminal lacks 24-bit color, plus a Terminal theme. Episodes get a
details page with show notes rendered from HTML.
The signal task stopped listening after SIGTERM, so a SIGHUP that followed (a
terminal closing while Firewood wound down) went unhandled and crossterm spun
on the dead tty, leaving the process running and playing. Keep waiting for
SIGHUP after SIGTERM, and save and exit from the signal task if the main loop
hasn't finished within a few seconds.
The LICENSE file is GPLv3, but the README and the RPM spec said MIT and
Cargo.toml named none.
@madeofpendletonwool
madeofpendletonwool merged commit d844cb4 into main Oct 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant