Expand description
The app around the table: the event loop and the terminal, background jobs, the overlay and the dialogs it opens, and the keys of the screens without a directory of their own.
Modules§
- applied
- What a dialog or prompt asks of the app once it is answered: one event,
AppEvent::Applied, carries every such result back into the loop, so the frame that closes the dialog is drawn before the work starts. - context_
menu - The menu a right click on a table cell opens: the keys that act on a cell, each line naming its key. A line chosen closes the menu and presses its key, so the menu does exactly what typing the key does. A menu is not a dialog: a click anywhere else closes it.
- event_
pump - The main loop, minus the terminal.
- form
- One focus convention for every form and dialog.
- help
- The help overlay: one screen’s keys from the key registry
(
datui_cli::keys), grouped by task, the keys of every screen last. - hex_
view - The hex view: any local file as its bytes, a row of them at a time.
- link_
open - A documentation link handed to the system’s browser:
oin the Documentation view. - modals
- State of the table’s dialogs and sidebars, each drawn by
render/orwidgets/. - pointer
- The mouse, as shortcuts to keys (nothing here changes what a key does): the wheel
presses arrows, a footer key click presses it, a form row click focuses and presses
Space, a tab click selects it, a table or home click moves the cursor (double click:
Enter), a plot click places the crosshair. Header drag moves a column (
H/L), dragging the gap after sets width (</>); header double click sorts ([/]), gap double click fits (=); right click opens a cell’s key menu. Mouse input is never held: where a key would wait, it is dropped (crate::app::event_pump::EventPump::terminal_mouse). Click targets are recorded while drawing (record) by the widgets that lay them out. - startup
- What
runreads before it can build the app, read behind the first frame. - table_
switch Tat the table: the other tables of the source on screen, to open one in its place. Listed from what the open already holds (a workbook’s or a database’s tab of the Info panel, a spec’s record types, a cache’s splits), so nothing is read to list them; opening one is an open of the file with--table, as home’s row for it is.- terminal_
input - The one reader of the terminal.