Keys and mouse¶
The footer carries the short version at all times:
tab pane · drag to select+copy · ⏎ send (or paste a path) · ↑↓ history · /copy values · /help commands · ctrl-e export · ctrl-o model · ctrl-c quit
Everywhere¶
| key | does |
|---|---|
| Tab | next pane |
| Enter | send the line, or load a path you pasted |
| Ctrl+E | export |
| Ctrl+O | reopen the model picker (this re-runs the pipeline) |
| Ctrl+T | expand or shut the HARD pane's result table |
| Ctrl+C | quit |
ctrl-t is a keystroke rather than only a click because clicks are off unless
asked for, and a result you cannot see all of is the wrong thing to gate behind
a mode.
Editing the line¶
| key | does |
|---|---|
| Left Right | one column |
| Ctrl+Left Ctrl+Right | one word |
| Alt+B Alt+F | one word, the emacs spelling |
| Home, Ctrl+A | start of line |
| End | end of line |
| Ctrl+U | kill to start |
| Ctrl+K | kill to end |
| Ctrl+W | kill a word |
| Ctrl+D | delete forward |
| Up Down | prompt history |
| Esc | clear the line |
ctrl-e is export, not end-of-line
Readline would put end-of-line on ctrl-e. Export won it here because it is
the thing you reach for repeatedly. End and Ctrl+A still cover both
edges.
In a menu or sub-list¶
| key | does |
|---|---|
| Up Down | move |
| Enter | pick, or complete the line for a command that needs an argument |
| Tab | complete |
| any character | filter |
| Esc | clear the filter first, then back out a level |
A sub-list is modal: it owns the keyboard while open, so a command typed into it lands in the filter.
In the charts gallery¶
| key | does |
|---|---|
| Up Down Left Right | previous and next plot, wrapping |
| Q Esc Enter | back to the panes |
| Ctrl+C | quit |
The gallery is the whole screen, so it takes the whole keyboard. A key it does not claim does nothing, rather than landing invisibly in a pane you cannot see.
In the model picker¶
| key | does |
|---|---|
| Up Down | move |
| Enter | start with the highlighted model |
| K | store an API key |
| X | forget the stored key |
| M | type a model id by hand |
| R | re-probe every provider |
| Q | quit |
Mouse¶
Clicks are off by default, on purpose. Terminals only send mouse events when asked, and asking costs you native click-drag text selection. Since copying a value out of the screen is the more common need, plain drag-select wins the default.
/mouse on click any column to focus it; selecting now needs shift held
/mouse off back to plain drag-select (the default)
SCELO_TUI_MOUSE=0 turns the whole subsystem off for a session regardless.
When mouse reporting is on, only press and release are requested, mode 1000, not motion. Motion tracking would cost native selection entirely rather than merely putting it behind Shift.
Two things worth knowing
Events arrive on stdin mixed in with the keyboard, so the app both parses
them and stops the raw sequence, [<0;74;12M, being pasted into your draft.
Clicking picks a pane by column, not by the pane's exact rectangle, so a click below the panes still moves focus.
Copying without the mouse¶
/copy puts the real values on the clipboard, with no borders or padding. See
/copy.