App Themes
ZestSSH ships with 11 built-in app themes that control the entire application chrome — surfaces, text, buttons, navigation, dialogs, and input fields. Terminal themes are a separate system and can be mixed independently (see Custom Terminal Theme Import).
Built-in Themes
Section titled “Built-in Themes”Themes are listed in the order they appear in Settings > Appearance > App Theme.
| # | Theme | Style | Base |
|---|---|---|---|
| 1 | Default Dark | ZestSSH signature look — OLED-friendly dark surfaces with orange accent | Dark |
| 2 | Default Light | Clean light surfaces with orange accent | Light |
| 3 | AMOLED | Pure black (#000000) backgrounds for maximum OLED battery savings | Dark |
| 4 | Midnight | Deep navy/blue-tinted dark surfaces | Dark |
| 5 | Dracula | The popular Dracula palette — purple-tinted dark with pink/cyan accents | Dark |
| 6 | Nord | Arctic color scheme with cool blue-grey tones | Dark |
| 7 | Monokai | Warm, high-contrast palette inspired by the classic Monokai editor theme | Dark |
| 8 | Solarized Dark | Ethan Schoonover’s precision-engineered Solarized palette (dark variant) | Dark |
| 9 | Catppuccin Mocha | Soft, pastel-tinted dark theme from the Catppuccin project | Dark |
| 10 | Tokyo Night | Cool purple-blue palette inspired by Tokyo city lights | Dark |
| 11 | Gruvbox Dark | Retro, earthy warm tones from the Gruvbox color system | Dark |
The Default Dark theme is applied on first launch and used as a fallback if a stored theme ID cannot be resolved.
What is free: app themes and terminal themes on the Free plan
Section titled “What is free: app themes and terminal themes on the Free plan”ZestSSH has two independent theme systems, and both follow the same rule: 3 free, the rest with Squeezed (Pro). On the Free plan the locked themes are still listed and marked PRO; picking one opens the upgrade sheet. Nothing is hidden, so you can see what Squeezed adds.
App themes: 3 of the 11 are free
Section titled “App themes: 3 of the 11 are free”Of the 11 built-in app themes in the table above, the Free plan includes Default Dark, Default Light and AMOLED. The other eight (Midnight, Dracula, Nord, Monokai, Solarized Dark, Catppuccin Mocha, Tokyo Night and Gruvbox Dark) need Squeezed, which unlocks all 11 plus the Theme Designer for creating, editing and importing custom app themes.
- The Theme Designer is the desktop app’s docked panel in Settings > Appearance. It needs Squeezed to save a new custom app theme, to save changes to one, or to import one; on the Free plan those actions show the upgrade sheet.
- The mobile app has no Theme Designer. Its Appearance screen’s Brand Colors pickers (Primary, Secondary, Accent) recolour the current theme into a “Custom” app theme, and they are free. The mobile Custom Themes section imports and exports
.zesthemefiles: Import Theme needs Squeezed, Export Current is free. - Follow System Theme is free.
Terminal themes: 3 of the 13 are free
Section titled “Terminal themes: 3 of the 13 are free”Terminal themes set the colours inside the terminal, and there are 13 built in. The Free plan includes Dark, Light and AMOLED Black. The other ten (Solarized Dark, Monokai, Dracula, Nord, Gruvbox, Tokyo Night, Cyberpunk, Synthwave, Ocean and Citrus) need Squeezed, which unlocks all 13. Custom terminal themes (the in-app builder and .zestheme import) need Squeezed on every platform (see Custom Terminal Theme Import).
What Squeezed unlocks
Section titled “What Squeezed unlocks”Squeezed is a one-time purchase; there is no subscription. For themes it adds:
- all 11 app themes and all 13 terminal themes,
- the desktop Theme Designer (create, edit and import custom app themes),
- Import Theme in the mobile Custom Themes section, and
- custom terminal themes on every platform (the in-app builder and
.zesthemeimport).
The three free themes in each system, Follow System Theme, the mobile Brand Colors pickers and Export Current stay free.
What an App Theme Controls
Section titled “What an App Theme Controls”Each theme defines a ZestColorScheme with 20 design tokens:
- Surfaces —
background(scaffold/window),surface(cards/sheets/dialogs),surfaceElevated(floating panels, tooltips) - Content —
onBackground,onBackgroundMuted,onBackgroundSubtle,onSurface,onSurfaceMuted - Brand —
primary(buttons, active indicators),primaryHover,onPrimary - Semantic —
success,warning,error,info - Borders —
border(input outlines, card strokes),divider(section separators) - Interactive —
hover(overlay),selected(item highlight),focus(ring/border)
These tokens are mapped to a full Flutter ThemeData (Material 3) that styles every widget in the app — AppBar, cards, buttons, inputs, dialogs, bottom sheets, navigation bars, switches, chips, snackbars, tooltips, and more.
How to Change the App Theme
Section titled “How to Change the App Theme”- Open Settings > Appearance.
- Tap a theme card in the App Theme grid.
- The theme switches instantly — no restart required.
The selected theme ID is persisted to SharedPreferences under the key app_theme_id.
Follow System Theme
Section titled “Follow System Theme”Enable Follow system theme to let ZestSSH automatically switch between Default Dark and Default Light based on your device’s light/dark mode setting.
When this toggle is on, the manually selected theme is ignored. The system brightness is read from platformDispatcher.platformBrightness and re-evaluated whenever the platform brightness changes.
Per-Connection Theme Override
Section titled “Per-Connection Theme Override”Individual connections can override the global app theme so different servers have visually distinct sessions. Set this in the connection editor under Appearance > Theme Override.
App Themes vs. Terminal Themes
Section titled “App Themes vs. Terminal Themes”| Aspect | App Theme | Terminal Theme |
|---|---|---|
| Controls | App chrome (navigation, settings, dialogs) | Terminal emulator colors (ANSI palette, background, cursor) |
| Count | 11 built-in (3 free) | 13 built-in (3 free) |
| Custom | User-creatable via the Theme Designer / custom brand colors | Fully customizable via the theme builder |
| Accent override | Yes (see Accent Colors) | No (terminal colors are per-theme) |
Accent Color Override
Section titled “Accent Color Override”The primary color of any app theme can be overridden with a custom accent color without switching themes. See Accent Colors for details.