Terminal
DR-Terminal ships its own VT100/xterm emulator written from scratch in Kotlin — no WebView. It supports xterm-256color, the alt buffer (vim/less/nano), OSC 52 clipboard, focus events, and mouse tracking (mc, htop).
Keyboard and shortcuts
| Shortcut | Action |
|---|---|
| Ctrl+C — when text is selected | Copy selection to clipboard. With no selection the normal SIGINT reaches the remote process. |
| Enter — when text is selected | Alternate copy shortcut (handy on keyboards without Ctrl). |
| Right-click / Copy menu | Context menu after selection — always available. |
| Ctrl+V | Paste. Multi-line clipboard content opens a Paste multi-line confirmation dialog. |
| Shortcut bar | ESC, Tab, Ctrl, arrows, F1–F10, Home/End, PgUp/PgDn, Insert — useful on mobile. |
| Font size | A+ / A- buttons (mobile) or dropdown in the toolbar (desktop) — no keyboard shortcut. |
Select, copy, paste
Select text by drag or touch-and-drag. Releasing pops up a context menu with Copy. Double-click selects a word, triple-click selects a line.
OSC 52 lets remote programs (tmux, vim, fzf) copy to your system clipboard through an escape sequence — bidirectional.
Multi-line paste: when your clipboard contains newlines you see a Paste multi-line preview dialog — protects against pasting commands you didn't inspect.
Scrollback and history
The scrollback buffer holds up to 1000 lines. Wheel or touch-drag scrolls; the cursor correctly leaves the viewport (xterm behaviour) and any selection scrolls with the text.
Clear history (terminal menu) wipes the buffer without dropping the session.
A scrollbar appears at the right edge of the terminal — grab it with the mouse to scroll through the history. Wheel scroll speed is configurable in Settings → Terminal (lines per single wheel tick).
Alt buffer (full-screen apps)
Programs like vim, less, nano, htop, mc switch into the alt buffer — a separate screen that disappears on exit without polluting the main scrollback.
Font, theme, highlighting
- Font size — A+/A- buttons in the terminal bar or the dropdown in the toolbar; range 6–72 pt.
- UI theme — light / dark / system (the whole app, not the terminal).
- Terminal theme — see the Sidebar → Theme section below; theme is per alias.
- Highlight rules — Settings → Terminal → Output highlighting. Add regex + colour, e.g. paint
ERRORred.
Command history and autocomplete
Each saved connection remembers its command history (if Save history is on). Up-arrow recalls earlier commands, and the autocomplete field suggests from the server-side history.
Sidebar (right panel) — History / Complete / Theme
To the right of the terminal (Desktop / tablet) sits a collapsible panel with three tabs. Open it with the arrow on the right edge; resize by dragging the left edge. State is per alias — each saved connection remembers its tab and width.
- History — recently typed commands. Clicking types the command into the terminal; the toggle next to it decides whether to auto-submit with Enter.
- Complete — live autocomplete suggestions (based on server-side history). Can be muted per alias (bell icon).
- Theme — terminal appearance. See the section below.
Theme — terminal themes (435 schemes)
Theme is per alias — each connection has its own background, foreground and 16-colour ANSI palette (the same indexes ls --color uses: standard 0–7 + bright 8–15).
- Built-in catalogue of 435 themes — the Search… field filters by name. Each row shows background, foreground and a 16-swatch strip. Click applies the theme instantly.
- Custom (this alias) — manual edit of font, background, foreground and the 16 ANSI slots. Every slot has its own reset (⟲) to the default value; the whole palette has a separate reset.
- Blue directories in
ls --colorare ANSI 4 (BLUE) or 12 (BRIGHT_BLUE) — to change them, pick another theme or edit those two swatches.
Themes come from the edcet/terminal-themes collection (MIT). Refresh script: tools/regenerate-themes.py.