Expand description
Application root: terminal setup, the shared/UI state split, and the main event loop.
Feature-specific state types and the matching App methods live in the
submodules declared below; this file keeps the core types (App,
AppState, ViewState, Screen, SortOrder) and the run / main-loop
plumbing. Every public item of the submodules is re-exported here so the
rest of the crate keeps using the flat crate::app::Type paths.
Structs§
- App
- Root application struct — owns the terminal, state, and event channel.
- AppState
- Application data shared between the UI thread and background SSH tasks.
Wrapped in
Arc<RwLock<_>>— multiple readers, rare writers. - File
Manager View - All UI state for the File Manager screen.
- File
Panel View - UI state for a single file panel (local or remote).
- FmClipboard
- Items held in the copy clipboard.
- Form
Field - A single editable text field in the host form.
- Group
Header - One section of the grouped dashboard grid.
- Host
Form - The host add/edit form, containing all editable fields.
- Host
List View - UI state specific to the host list / Dashboard screen.
- Passphrase
Prompt - In-memory prompt for an encrypted SSH identity file.
- Password
Prompt - In-memory prompt for the login password a connection waits on.
- Snippet
Form - The snippet add/edit form.
- Snippet
Result Entry - One host’s result entry for the snippet execution results popup.
- Snippets
View - UI state specific to the Snippets screen.
- Split
View - Layout description when split-view is active.
- Term
Host Picker - Host-picker popup for opening a new terminal tab.
- TermTab
- A single open SSH/PTY tab.
- Terminal
View - All UI state for the Terminal screen.
- Update
Popup - State of the startup “update available” popup.
- View
State - UI-specific state that lives only on the main thread.
Enums§
- AppAction
- Actions that a UI input handler can request from the main event loop. Separating them from events allows the main loop to remain the sole owner of state mutations.
- File
Manager Popup - Active popup on the File Manager screen.
- FmPanel
- Which of the two file panels is currently focused.
- GridRow
- One visual row of the dashboard grid.
- Host
Popup - Which popup is currently visible over the host list.
- NavDir
- Direction for dashboard grid navigation.
- Screen
- The active top-level screen shown to the user.
- Snippet
Popup - Which popup is currently shown over the Snippets screen (or as a full-screen overlay from any screen).
- Sort
Order - How dashboard cards are sorted.
- Split
Direction - Direction of the split-view layout.
- Split
Focus - Which pane currently has keyboard focus in split-view mode.
- Update
Button - A button in the startup update popup. Buttons are laid out left-to-right
in
UPDATE_BUTTONSorder. - Update
Popup Phase - Lifecycle phase of the update popup.
Constants§
- CLOSE_
KEY_ GRACE - How long after an ended tab closes Enter and Esc still count as closing it.
- FORM_
FIELD_ LABELS - Labels for every field in the host add/edit form.
- SNIPPET_
FORM_ FIELD_ LABELS - Labels for each field in the snippet add/edit form.
- UPDATE_
BUTTONS - The three update-popup buttons, in display order.
Functions§
- filter_
hosts - Simple case-insensitive substring filter over name / hostname / tags / notes.
- filter_
snippets - Case-insensitive substring filter over snippet name / command / tags.
- forwards_
value - Renders a host’s port forwards the way their form field holds them.