# Themes

The bundled themes, a live picker, system appearance, and your own theme file.


Rip ships with twenty-three themes and follows the system appearance when you ask it to. A theme file of your own takes a few lines.

## Pick a theme

Press <kbd>secondary-k secondary-t</kbd>. A picker lists every theme. Move through the list, and the window takes each theme as you pass it. <kbd>enter</kbd> keeps the selected theme and writes it to `config.toml`. <kbd>escape</kbd> restores the theme you had.

Rip bundles these themes:

- One Dark, the default, and One Light
- Catppuccin Mocha and Latte
- Tokyo Night and Tokyo Night Day
- GitHub Dark and Light
- Rosé Pine and Rosé Pine Dawn
- Gruvbox Dark and Light
- Solarized Dark and Light
- Dracula, Nord, Nightfox, Darcula, and Kanagawa
- Everforest Dark, Osaka Jade, and Ethereal
- VS Code Dark Modern and macOS Classic
- Pitch Black: true black with one lime accent, the one that is ours

## Follow the system

Set both `light-theme` and `dark-theme`, and Rip switches with the system appearance. The picker then writes your choice to the key that matches the current appearance.

```toml
light-theme = "one-light"
dark-theme = "pitch-black"
```

## Your own theme

Put a TOML file in `~/.config/rip/themes/`. Its name is the theme's name. `appearance` picks the base, One Dark or One Light, and every key you set replaces that base. The keys are the same names the bundled themes use: `background`, `editor_background`, `text`, `accent`, `editor_selection`, `diff_added`, and so on.

```toml
appearance = "dark"
background = "#101014"
editor_background = "#101014"
text = "#e6e5e0"
accent = "#d6ff3d"
editor_selection = "#26262c"
```

Set `theme = "<name>"` to use it. A file with the name of a bundled theme replaces that theme.

## Fonts

`font-family` and `font-size` set the editor text. `ui-font-family` and `ui-font-size` set the sidebar, tabs, and pickers. `line-height` is a multiple of the font size.

## Keys

| Keys | What happens |
| --- | --- |
| <kbd>secondary-k secondary-t</kbd> | Open the theme picker. |

## Settings

| Key | What it changes |
| --- | --- |
| `theme` | The theme, when Rip does not follow the system. |
| `light-theme` | The theme for the light appearance. |
| `dark-theme` | The theme for the dark appearance. |
| `font-family` | The editor font. |
| `font-size` | The editor font size in points. |
| `ui-font-family` | The font of the sidebar, tabs, and pickers. |
| `ui-font-size` | Its size in points. |
| `line-height` | Line height as a multiple of the font size. |
