Themes and Settings
Pick a theme, scale the font for ten-foot viewing, and manage open sessions from the Settings tab.
Where settings live
Everything user-configurable in vmuxTV lives in the Settings tab. Open it by swiping the Siri Remote up to the tab bar and selecting the gear icon.
The Settings screen is a single Form view with three sections:
- Theme — color scheme picker.
- Font Size — terminal font size for the active session.
- Sessions — every currently open session, with a close action.
There is no separate keyboard editor, no command palette, and no advanced flags. Apple TV is intentionally a narrow surface.
Theme picker
Pick from the same theme catalog the rest of the vmux family ships. Themes are split into Dark and Light groups in the picker:
| Group | Examples |
|---|---|
| Dark | Ghostty, Tokyo Night, Catppuccin Mocha, Dracula, Gruvbox Dark, Nord, One Dark, Solarized Dark, GitHub Dark, Monokai, and others |
| Light | Solarized Light, Catppuccin Latte, GitHub Light, One Light, and others |
The theme applies immediately. The terminal background becomes the theme's background color, the cursor and ANSI palette switch over, and the status bar text adopts an opacity that complements the new background.
The selection is stored on the device under the key vmuxTV.selectedThemeName and persists across launches. Each Apple TV in the family stores its own choice — themes do not sync between vmux apps automatically.
Importing custom themes
vmuxTV does not support importing VSCode .json themes. Theme import is available on vmuxMac, vmuxPhone, and vmux on visionOS because those platforms expose a Files-style picker; tvOS does not.
If you want a theme that is not in the bundled catalog, the workflow is:
- Add it to one of the other vmux apps using their theme importer.
- The bundled catalog grows over releases. File a request and the theme often lands in the next ship.
For the broader theme picture, see Themes.
Font size
Terminal font size is controlled per-session and only appears in Settings when at least one session is open.
| Setting | Type | Description | Default |
|---|---|---|---|
| Font Size | Stepper | Active session's font size, in points. Increases or decreases in steps of 2. | 32 pt |
| Range | — | 20 pt minimum, 48 pt maximum | — |
The default of 32 pt is much larger than the rest of the vmux family because Apple TV is read at a typical sofa-to-screen distance of two to three meters. At 32 pt on a 4K 65" television, an 80-column terminal fills roughly the middle two-thirds of the screen and is comfortably legible.
Use the + and - circle buttons next to the size readout to adjust. The change applies immediately to the active session and is stored on that session only — opening a new session resets the size to the 32 pt default.
There is no built-in font picker on tvOS. JetBrains Mono Nerd Font (Regular, Bold, Italic, Bold Italic) ships with vmuxTV and is the only option. This keeps the install size small and avoids the font-import flow that does not work without a Files picker.
Picking a font size for your TV
A rough table for typical setups:
| TV size | Viewing distance | Recommended font size |
|---|---|---|
| 50" 4K | 2 m | 28 – 32 pt |
| 55" 4K | 2.5 m | 32 – 36 pt |
| 65" 4K | 3 m | 32 – 38 pt |
| 75" 4K | 3 m | 36 – 42 pt |
| 85" 4K | 3.5 m | 40 – 48 pt |
| 1080p (any size) | — | Add 4 – 8 pt vs. the 4K row at the same distance |
Bigger fonts mean fewer columns and rows. At 48 pt on a 65" 4K display, expect roughly a 60 × 18 grid. If your remote tools assume an 80-column width, drop the font size to 28 – 30 pt to keep the layout intact.
Sessions list
The Sessions section in Settings is the only place where you can close a session. It lists every open session in order of creation:
- Title — the session's title (the
OSC 0window title from the remote shell, or the host's display title if the shell has not set one). - Subtitle — the host's
username@host:portdestination. - Status dot — green for connected, orange for connecting, gray for disconnected, red for failed.
Long-press a row on the Siri Remote (or click the Options button on a paired controller) to open the context menu. The only entry is Close, which is destructive — it immediately disconnects the underlying SSH or Mosh session and removes the entry from the list.
If no sessions are open, the section reads No active sessions and the font-size controls disappear.
What is not in Settings
Quite a lot, by design. The following options are present on other vmux apps and intentionally excluded from vmuxTV:
| Setting | Why it is not on tvOS |
|---|---|
| Font picker | tvOS has no font import path; JetBrains Mono ships built-in. |
| CRT effects (scanlines, vignette, bloom, etc.) | The renderer pipes directly to the TV; CRT post-processing only runs where the app owns a display layer. |
| Glass background and opacity | tvOS draws solid backgrounds; there is no system glass material to render against. |
| App Lock | Apple TV does not expose Face ID, Touch ID, or Optic ID, and a TV in a living room is not the same threat model as a phone. |
| Keybind editor | Customize keybinds on vmuxMac or vmuxPhone — the same map drives controller buttons on Apple TV. |
| Diagnostics export | tvOS does not have a system clipboard for the JSON payload to land in. Use diagnostics export on another vmux app on the same iCloud account. |
| Command palette | Apple TV's input model is too narrow for fuzzy-search command UI. Settings cover the same ground. |
Persistence
Settings are saved automatically as you change them.
- Theme selection is stored in
UserDefaultsundervmuxTV.selectedThemeName. - Saved hosts are stored in a JSON file in the app's container under
vmuxTV/. - Passwords are stored in the system Keychain under the service
app.vmux.tv.passwords. They are never written to disk in plaintext. - Font size lives on the active session in memory and resets to 32 pt when a new session opens.
- Open sessions do not persist across app launches. Quitting vmuxTV (or letting tvOS terminate it) closes every session.
Related
- Themes — the broader theme system.
- Connecting — for adding and managing hosts.
- Voice Dictation — for sending input.
- Settings Reference — for the visionOS and Mac feature surface.