Skip to content

faba's terminal views as detachable sessions - #34

Merged
YPARK merged 1 commit into
mainfrom
detachable-tui
Oct 19, 2026
Merged

YPARK merged 1 commit into
mainfrom
detachable-tui

Conversation

@YPARK

@YPARK YPARK commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

faba's views now run through legume-tui (0.3.3) on data-beans 0.9's session screens, as senna, pinto, lupin and data-beans already do: they survive a dropped connection and can be left and resumed, with images intact.

  • ctrl+alt+d detaches (the first time it asks for a label), ctrl+alt+s switches sessions; starting a view again with nothing named offers the live sessions; a named input starts a new one. New attach, sessions, kill, rename subcommands; --no-detach runs in the terminal only. faba cluster and batch runs stay plain.
  • One screen per command; the session keys sit at the end of the title row and the logo stands clear of them.
  • Figures pick their drawing method through the crate for the attached terminal (FABA_TUI_IMAGES still overrides); pictures are made again after an attach.
  • kill takes the quit path: qc drops changed thresholds without asking, a write under way finishes; faba run is interrupted, given a grace, then stopped with its process group (the pipeline does not read the interrupt, so a step may leave partial output, as pressing s twice does today).
  • faba's own copy of the child runner is replaced by legume_tui::child.

Tests drive the real binary through pseudo-terminals: hosted start, dropped client, reattach with images sent again, kill, the target rule and resume picker, --no-detach, and an early error staying on screen.

pwm, pileup, metagene, qc, modules and run views run through legume-tui
on data-beans 0.9's session screens: they survive a dropped connection,
ctrl+alt+d detaches, ctrl+alt+s switches, and starting a view again
with nothing named offers the live sessions. New attach, sessions, kill
and rename subcommands; --no-detach runs in the terminal only; cluster
runs plain.

- One screen per command; the session keys sit at the end of the title
  row and the logo stands clear of them.
- Figures pick their drawing method through the crate for the attached
  terminal (FABA_TUI_IMAGES still overrides), and pictures are made
  again after an attach.
- kill takes the quit path: changed thresholds are dropped without
  asking, a write under way finishes; a run is interrupted, given a
  grace, then stopped with its group.
- faba's own copy of the child runner gives way to legume_tui::child.
@YPARK
YPARK merged commit 6dc8dcc into main Oct 19, 2026
6 checks passed
@YPARK
YPARK deleted the detachable-tui branch October 19, 2026 04:19
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