Files

2.0 KiB
Raw Permalink Blame History

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, and server.

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.