Files
SurfaceSide-UI/docs/console_panel.md
T

28 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.