2.0 KiB
Console
Run scenes/console_demo.tscn for simulated commands and a journal feed, or add Console from the layout library.
| Tab | Shortcut | Input |
|---|---|---|
| ROV | F5 | ROV shell command |
| Host | F6 | Host shell command |
| Logs | F7 | Case-insensitive log filter |
| Server | F8 | Server command |
A shortcut selects its tab and focuses its input across either dashboard window. Escape releases focus. Ctrl+Tab / Ctrl+Shift+Tab cycle tabs, Ctrl+L clears the current output, and Up/Down recall commands. Each tab retains its draft, history and output. Follow controls automatic scrolling; Clear keeps command history. Output supports selection and copying.
Shortcuts are exported on the session nodes in components/console_panel.tscn. Conflicting shortcuts show “in use”; the first visible panel owns them. Layout editing suspends console input and shortcuts. Placement persists with the layout; console contents and command history do not.
Transport hooks
components/console_panel.tscn owns four instances of console_session.tscn. Controls and tabs live in the scene tree and inherit the shared theme. Output, prompts and inputs share themes/console_mono.tres, with full hinting, 2× oversampling and slightly strengthened strokes for legibility under scaling.
- Connect
command_requested(session_id, command)to a transport. - Call
set_connection(session_id, connected, message)to update availability and status. - Call
append_output(session_id, text)to deliver output, including trailing newlines where appropriate. - Session IDs are
rov,host,logs, andserver.
The component starts disconnected and rejects command dispatch until connected with a handler attached. Logs are read-only. Scrollback is bounded by each session's max_scrollback_characters.
This is a line-oriented frontend. SSH, local processes, journal streaming, ANSI/VT terminal emulation and interactive full-screen programs are not connected. The demo only simulates responses and never executes system commands.