DashboardApp class
A full-screen TUI over the OmnyShell CLI: log in to a Hub, then work across four top-level tabs — Nodes (browse a node's info and sessions, and resume / peek / detach / terminate them), Tunnels (open / list / close), Drive (mount / sync / diff / resolve / unmount / remount) and AI (view / edit config, validate models) — without typing individual commands. Tab / Shift-Tab (or the number keys) switch tabs.
Built on the same immediate-mode toolkit as the :ide command (ScreenBuffer,
Rect, Style, KeyDecoder) and driven through the injected
DashboardBackend port, so the whole app is dart:io-free and testable with a
fake terminal + fake backend. run takes over the terminal until the user
quits with Ctrl-Q, then restores it.
Resuming or peeking a session hands the real terminal to the backend's live interactive runner: the app leaves the alt-screen, stops rendering, awaits the backend, then re-enters and refreshes.
Constructors
- DashboardApp({required TerminalDriver terminal, required DashboardBackend backend, String? seedHub, String? seedPrincipal, DateTime clock()?})
Properties
- debugScreen → ScreenBuffer?
-
The last rendered frame (for tests);
nullbefore the first render.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
run(
) → Future< void> - Runs the dashboard until the user quits, restoring the terminal afterwards.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited