Skip to main content
TYBA has no “active theme”. It has two slots — one theme for dark, one theme for light — and a mode that decides which of the two is on screen right now.

The two slots

The slots are independent. Dracula in dark and Solarized Light in light is a valid combination — and it is how most people end up using it.
A theme only goes into the slot for its own base. A theme with base dark never occupies the light slot, and vice versa. If a slot points at a theme that vanished (you deleted the .json) or that has the wrong base, it falls back to the built-in for that base — TYBA Dark or TYBA Light. You are never left without a theme.

The mode

Settings → Appearance → Color mode (⌘, on macOS, Ctrl+, on Windows and Linux). Three options: On System, the switch is live: the operating system flips to light at dusk and TYBA flips with it — no restart, no reopening the window. You can also do it from the command palette (⌘P / Ctrl+Shift+P), under Theme: Switch theme to Dark / Light / System. The palette only offers the two modes you are not using.

Clicking a theme from another base changes the mode too

Picking a theme does two things. It goes into the slot for its base — and, if that base is not the one on screen, the mode changes to follow it.
You are in dark, you click GitHub Light. TYBA writes GitHub Light into the light slot and switches the mode to Light. There is no way to “save a light theme for later” by clicking — clicking is using. This includes leaving System: if you are on System (with the OS in dark) and click a light theme, the mode stops being System and becomes a fixed Light. To follow the system again, pick System in Color mode. The other direction is painless: in dark, clicking a dark theme only swaps the slot. The mode does not move.

What gets saved

The mode and both slots live in TYBA’s database (tyba.db), not in a text file. Close and reopen, and everything comes back as it was.
There is a cache in the embedded webview, but it exists only so the app doesn’t flash white for a frame at startup. The database is the authority.

What does not exist

See also

The themes

The 18 built-ins, and what changes beyond color.

Import a theme

The JSON format, the rules, and the limits.