Skip to content
Andrea de Ruvo edited this page Oct 13, 2026 · 3 revisions

Themes

A theme is the whole look of Argus — the interface and its terminals — in one small JSON file. Settings → Theme opens the gallery: press one and the page wears it at once (the gallery stands aside, so the page itself is the preview). The choice is kept on the machine, so every device opening Argus wears it, and it is painted before the page draws — no flash of the wrong colours.

Built in: Argus Dark and Argus Light (what Argus always looked like, and Auto to follow the system between them), and the VS Code themes people know — Dark+, Light+, One Dark Pro, Dracula, Monokai, GitHub Dark, GitHub Light, Night Owl, Tokyo Night, Nord, Solarized Dark and Light, Gruvbox Dark, Catppuccin Mocha and Latte, Rosé Pine — each from its published colours, its terminal's sixteen included.

Making one

  • Edit a copy: the pencil on a card (or right-click → Edit a copy). Every colour has a picker and its hex value, and the page changes as you pick: the bars, the rows, the terminals. Under the name, the contrast of the pairs that have to be read — text on the background, quiet text, text on panels, text on the accent — measured as WCAG does, amber when it falls under what reads well (4.5 to 1 for text, 3 for quiet text). Save keeps it as yours and wears it; Cancel puts back what you had.
  • Import…: an iTerm2 .itermcolors, a Windows Terminal scheme (or its whole settings.json, the first scheme), or a VS Code colour theme's JSON. The terminal comes from the file; the interface is worked out from it (its paper, a panel just off it, its text, the blue as the accent, the red for danger) — then the editor opens on it, to adjust and save.
  • Export: right-click a card → Export, or Export in the editor: the JSON file, to share.
  • By hand: a file in ~/.config/argus/themes/ (beside the config) appears in the gallery. One of yours with a built-in's name replaces it; a file that does not read is listed with the reason.

The file

{
  "name": "Lab Night",
  "type": "dark",
  "colors": {
    "bg": "#1a1b26", "panel": "#16161e", "line": "#292e42",
    "text": "#a9b1d6", "dim": "#565f89", "bright": "#c0caf5",
    "accent": "#7aa2f7", "on-accent": "#1a1b26", "danger": "#f7768e"
  },
  "terminal": {
    "background": "#1a1b26", "foreground": "#a9b1d6", "cursor": "#7aa2f7",
    "red": "#f7768e", "green": "#9ece6a", "blue": "#7aa2f7"
  }
}
colors what it paints
bg the page
panel bars, panels, cards
line lines and borders
text, dim, bright text, quiet text, headings
accent, on-accent buttons and highlights, and the text on them
danger what deletes or fails
scroll, scroll-hover scrollbars (optional)
term-bg, term-fg a terminal's paper and text when the theme has no terminal (optional)

bg, panel, line, text, dim, bright and accent are required. type (dark or light) says which of the stylesheet's own dark and light rules apply around them.

terminal is xterm's theme: background, foreground, cursor, selectionBackground, and the sixteen — black, red, green, yellow, blue, magenta, cyan, white and their bright… forms (brightBlack … brightWhite). Any left out keep xterm's own.

A colour is #rgb, #rrggbb, #rrggbbaa, rgb(…) or rgba(…) — and nothing else: a theme's values become CSS in a page that holds your token, so url(…), a ; or anything that is not a colour is refused, the file listed with the reason.

Applying it to everything

A theme dresses the interface and every terminal that has not been given a look of its own. To have it everywhere, tick Apply to everything: every window and tmux too before Done: the looks chosen for single sessions (and for all of them) are set aside so every terminal wears the theme's colours, tmux's status line is dressed to match — written into the tmux config like How it looks for every session, so it outlives a restart — and the style a session wore of its own is taken off, so it follows. The button counts the sessions as it goes. The box is an action, not a setting: it is empty each time the gallery opens.

Another page open on Argus — another tab, the phone — takes the theme and the looks the next time it comes back into view.

Themes and a window's look

A window's look (the palette button on a terminal, How it looks) still wins for that window — and every theme is offered there too, so one session can wear Dracula while Argus wears GitHub Light. A theme is the default the windows wear when no look was chosen.

Clone this wiki locally