Skip to content

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.

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.