berthdocs

Guides

Themes

Colour the app and its terminals with a JSON file, or ship a theme in a plugin.

The app comes with four themes (Berth Dark, Berth Light, Midnight and Paper) and Match system, which uses Berth Light by day and Berth Dark when macOS is dark. Pick one in Settings → Appearance → Theme.

Your own

Add a JSON file to ~/.berth/themes/ on your laptop. It appears in Settings within a few seconds. A theme with a built-in's id (berth-dark, berth-light, midnight, paper) replaces it.

~/.berth/themes/harbour.json
{
  "id": "harbour",
  "name": "Harbour",
  "appearance": "dark",
  "colors": {
    "background": "#1d1e22", "foreground": "#e3e4e8",
    "sidebar": "#18191c", "sidebarForeground": "#a9abb3",
    "muted": "#25262b", "mutedForeground": "#8a8c95",
    "border": "#2c2d33",
    "accent": "#2a2b31", "accentForeground": "#f1f2f4",
    "primary": "#e3e4e8", "primaryForeground": "#18191c",
    "card": "#212226", "popover": "#222328", "ring": "#5b5d66",
    "success": "#3fb950", "warning": "#e8a33d", "destructive": "#f0564a"
  },
  "terminal": {
    "background": "#1d1e22", "foreground": "#dcdde2", "cursor": "#e3e4e8", "selectionBackground": "#3a3c45",
    "black": "#1d1e22", "red": "#f0564a", "green": "#3fb950", "yellow": "#e8a33d",
    "blue": "#6d9eff", "magenta": "#c88bf0", "cyan": "#4fc1d6", "white": "#c9cad0",
    "brightBlack": "#6b6d76", "brightRed": "#ff7b70", "brightGreen": "#5fd36f", "brightYellow": "#f5c063",
    "brightBlue": "#8db4ff", "brightMagenta": "#dba8f7", "brightCyan": "#7ad6e6", "brightWhite": "#f4f5f7"
  }
}

A theme needs id (defaulting to the file name), colors and terminal; appearance is dark or light. The full type is Theme.

warning is the one colour that means "needs you": the dot of an agent waiting for you, and the lamp in the app's drawings. Keep it for that.

In a plugin

A plugin can ship themes as files, listed under "themes" in its berth-plugin.json, or add one at runtime with berth.addTheme(theme). Plugin themes come after yours, so a plugin theme with the same id replaces yours.

On this page