Skip to content

Interactive views as detachable sessions - #36

Merged
YPARK merged 4 commits into
mainfrom
detachable-tui
Oct 19, 2026
Merged

YPARK merged 4 commits into
mainfrom
detachable-tui

Conversation

@YPARK

@YPARK YPARK commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

The --interactive views now run through legume-tui, as the other legume tools' screens do: they survive a dropped connection and can be left and resumed.

  • ctrl+alt+d detaches, ctrl+alt+s switches sessions. New attach, sessions, kill, rename subcommands; --no-detach (with -i) runs in the terminal only.
  • One session for every view of a command; squeeze checks for a stop between files.
  • kill takes the quit path: a write under way finishes first; work before the first view is stoppable without bringing the screen up.
  • Log lines raised while a view is up are held and written after it; without -v only errors show, as before.
  • run_screen and run_screen_with keep working for dependents (faba), now as plain sessions; session-taking variants sit beside them.
  • legume-tui is optional under the tui feature, without its graphics.

Tests drive the real binary through pseudo-terminals.

YPARK added 4 commits October 18, 2026 16:19
The --interactive views run through legume-tui: they survive a dropped
connection, ctrl+alt+d detaches and ctrl+alt+s switches. New attach,
sessions, kill and rename subcommands; --no-detach runs in the terminal
only.

- One session for every view of a command; squeeze checks for a stop
  between files.
- kill takes the quit path: a write under way finishes first.
- Log lines raised while a view is up are held and written after it.
- run_screen and run_screen_with keep working for dependents, now as
  plain sessions; session-taking variants are added beside them.
- Log lines raised while a view is up are held and replayed by the
  crate's gate; without -v only errors are shown, as before.
- Work before the first view is stoppable without bringing the screen
  up, so a kill waits for a write under way and nothing flashes.
- Plain sessions, repaint rounds, help keys and session help come from
  the crate.
The key help reads as it did with 0.2, and what a session leaves goes to
the terminal attached when it ends; tool-side workarounds for both are
gone.
CI sets RUST_BACKTRACE, which the harness passed to the tool, so an
error's trace pushed the error off the test screen; on macOS the harness
also lost the terminal once the program exited. Both are fixed in the
crate.
@YPARK
YPARK merged commit 2cbb464 into main Oct 19, 2026
5 checks passed
@YPARK
YPARK deleted the detachable-tui branch October 19, 2026 02:26
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