Themes & Customisation
23 built-in terminal themes, a real GUI theme editor, JSON import/export, per-host overrides, color tags, and a customisable 1β5 row on-screen keyboard.
π¨ The 23 Built-in Themes
Defined in BuiltInThemes.kt:
- System (3): System Default, System Dark, System Light
- Classic (12): Dracula, Solarized Dark, Solarized Light, Nord, One Dark, Monokai, Gruvbox Dark, Gruvbox Light, Tomorrow Night, GitHub Light, Atom One Dark, Material Dark
- Modern (8): Tokyo Night, Tokyo Night Light, Catppuccin, RosΓ© Pine, Everforest, Kanagawa, Night Owl, Cobalt2
All themes ship with a 16-color palette (8 normal + 8 bright), foreground, background, cursor, and selection colors. WCAG-AA contrast checks pass on all dark themes.
βοΈ GUI Theme Editor (Wave 2.4)
ThemeEditorActivity β make your own themes without writing JSON.
- Color picker for each of the 16 ANSI colors plus FG / BG / cursor / selection
- Live preview pane shows your colors against typical terminal output
- Name and save β appears alongside the built-ins
- Duplicate a built-in theme to use as a starting point
- Optionally export the theme as JSON for sharing
π¦ JSON Import / Export
- Import: menu β Import Theme β pick a
.jsonfile. TabSSH validates it (structure + color format) and adds it to your theme list. - Export: long-press a theme β Export. Choose where to save via SAF.
- Compatible with the format used by other terminal emulators that ship JSON theme bundles.
- Shared with desktop: the JSON theme format is identical across mobile and desktop β when desktop ships theme support, your custom themes will move across without conversion.
π App Theme (Light / Dark / System)
- Settings β General β App theme: Dark, Light, or Follow system.
- Live switching β no restart required (uses
AppCompatDelegate.setDefaultNightMode). - Material Design 3 with proper DayNight colors (
values-night/colors.xml). - This is the app chrome (toolbars, list backgrounds, menus). The terminal theme is independent.
π― Per-Host Theme Override
- From a connection's edit screen, pick a specific terminal theme. Overrides the global default.
- Useful for visually distinguishing prod / staging / lab β set "Tokyo Night" for prod, "Solarized Light" for lab, etc.
π·οΈ Color Tags Per Host (Wave 3.1)
A separate, lighter-weight visual cue than picking a whole theme.
- Each connection profile has a
color_tagfield β an ARGB int. - Pick from a palette in the connection edit screen.
- Surfaces in the connection list and tab strip β instantly tells you which host you're on.
- Independent from group color (which colors a whole folder of hosts).
β¨οΈ Customisable On-Screen Keyboard
- 1 to 5 extra keyboard rows above the standard Android IME.
- Pick which keys go on which row in Settings β Keyboard customisation.
- Modifier keys (Ctrl, Alt, Esc) can be sticky or one-shot.
- Useful presets for tmux, screen, vim, emacs.