tui: keyboard-driven session launcher/manager (splitux tui) #7

Merged
gabrielgad merged 1 commit from feat/tui into main 2026-06-17 16:42:45 -04:00
gabrielgad commented 2026-06-17 16:41:55 -04:00 (Migrated from github.com)

Adds a splitux tui subcommand: a ratatui terminal UI that replaces the egui GUI for the common flow and works over SSH.

  • Games — filter-as-you-type + select (from scan_handlers()).
  • Build — assemble players (add/del), cycle profile per player. Local mode assigns an input (kb/m | gamepad) per player; Together mode hides the per-player input since each seat is streamed both kb/m + gamepad anyway.
  • Sessions — lists active splitux* systemd units with kill / kill-all / restart-last; auto-refreshes.

Launches detached via splitux launch (setsid, GST_PLUGIN_PATH cleared) so the TUI stays live to manage sessions. Reuses scan_handlers/scan_profiles and the existing launch path; wired as a new tui subcommand in cli.rs. Adds the ratatui dependency.

Adds a `splitux tui` subcommand: a ratatui terminal UI that replaces the egui GUI for the common flow and works over SSH. - **Games** — filter-as-you-type + select (from `scan_handlers()`). - **Build** — assemble players (add/del), cycle profile per player. **Local** mode assigns an input (kb/m | gamepad) per player; **Together** mode hides the per-player input since each seat is streamed both kb/m + gamepad anyway. - **Sessions** — lists active `splitux*` systemd units with kill / kill-all / restart-last; auto-refreshes. Launches detached via `splitux launch` (setsid, GST_PLUGIN_PATH cleared) so the TUI stays live to manage sessions. Reuses `scan_handlers`/`scan_profiles` and the existing launch path; wired as a new `tui` subcommand in cli.rs. Adds the `ratatui` dependency.
Sign in to join this conversation.
No description provided.