powerful but friendly backup program that runs in your tray, powered by restic devins.page/restray
go restic system-tray
2

Configure Feed

Select the types of activity you want to include in your feed.

chore: use mono icons by default on windows

just looks nicer. staying as color on linux because different DEs handle background color for their tray differently (e.g. GNOME's top bar is always black regardless of color scheme)

intergrav (Jul 1, 2026, 6:22 PM EDT) 74af35a8 8117a392

+9 -3
+1 -1
README.md
··· 61 61 | `check_updates` | bool | `true` | **MacOS/Windows only.** Check for new Restray versions on startup and periodically. When an update is found, the version item in the menu changes to an update button | 62 62 | `manage_restic` | bool | `false` | **Windows only.** If restic is not found in PATH, automatically downloads and updates a self-managed restic binary daily from GitHub. | 63 63 | `notifications` | string | `"none"` | `"all"` (success + errors), `"errors"` (errors only), or `"none"` (silent) | 64 - | `icon` | string | platform | `"color"`, `"mono"`, `"white"`, or `"black"`. Default is `"mono"` on MacOS and `"color"` elsewhere. `"mono"` follows OS light/dark mode. | 64 + | `icon` | string | platform | `"color"`, `"mono"`, `"white"`, or `"black"`. Default is `"mono"` on MacOS/Windows and `"color"` elsewhere. `"mono"` follows OS light/dark mode. | 65 65 | `schedule_display` | string | `"description"` | `"description"` (human-readable, e.g. "every 6 hours"), `"cron"` (raw expression, e.g. "0 \* \* \* \*"), or `"none"` | 66 66 | `terminal` | string | `""` | Terminal emulator used in "Shell" and "View Log". If unset, MacOS will use `Terminal.app`. Linux will use default. Not used on Windows. e.g. "Ghostty" | 67 67
+8 -2
cmd/restray/icons_theme_other.go
··· 5 5 import ( 6 6 "context" 7 7 "log" 8 + "runtime" 8 9 9 10 dark "github.com/thiagokokada/dark-mode-go" 10 11 ) ··· 13 14 cancel context.CancelFunc 14 15 } 15 16 17 + func defaultIconMode() string { 18 + if runtime.GOOS == "windows" { 19 + return "mono" 20 + } 21 + return "color" 22 + } 23 + 16 24 var ( 17 25 systemDark bool 18 26 themeWatcher *iconThemeWatcher 19 27 ) 20 - 21 - func defaultIconMode() string { return "color" } 22 28 23 29 func setSystemDarkMode(dark bool) bool { 24 30 iconMu.Lock()