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.

feat: version number in app itself

intergrav (Jun 28, 2026, 7:10 PM EDT) b9a07d03 eaf13f7a

+10 -1
+2 -1
justfile
··· 137 137 set -euo pipefail 138 138 [[ "{{new}}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || { echo "Usage: just bump X.Y.Z"; exit 1; } 139 139 perl -pi -e 's/^version := ".*"/version := "{{new}}"/' justfile 140 + perl -pi -e 's/^const version = ".*"/const version = "{{new}}"/' main.go 140 141 perl -pi -e 's/version = ".*"/version = "{{new}}"/' flake.nix 141 142 perl -pi -e 's/!define VERSION ".*"/!define VERSION "{{new}}"/' packaging/windows/installer.nsi 142 143 perl -pi -e 's|(<string>)[^<]*(</string>)|${1}{{new}}${2}| if $prev =~ /CFBundle(Version|ShortVersionString)/; $prev = $_' packaging/darwin/Info.plist 143 144 echo "Bumped to {{new}}" 144 - grep -n "{{new}}" justfile flake.nix packaging/windows/installer.nsi packaging/darwin/Info.plist 145 + grep -n "{{new}}" justfile main.go flake.nix packaging/windows/installer.nsi packaging/darwin/Info.plist 145 146 146 147 clean: 147 148 rm -rf {{bin}} {{dist}} result
+2
main.go
··· 7 7 "fyne.io/systray" 8 8 ) 9 9 10 + const version = "0.3.0" 11 + 10 12 func main() { 11 13 os.MkdirAll(configDir(), 0700) 12 14
+6
tray.go
··· 170 170 mLog := mConfigure.AddSubMenuItem("View Log", "Open log file in editor") 171 171 mFolder := mConfigure.AddSubMenuItem("Open Folder", "Open folder in file manager") 172 172 systray.AddSeparator() 173 + mAbout := systray.AddMenuItem("About", "About Restray") 174 + mVersion := mAbout.AddSubMenuItem("v"+version, "") 175 + mVersion.Disable() 176 + mSource := mAbout.AddSubMenuItem("Source Code", "Open repository in browser") 173 177 mQuit := systray.AddMenuItem("Quit", "Quit Restray") 174 178 175 179 sched := cron.New() ··· 660 664 openConsole(selectedProfile(), len(cfg.Profile), cfg.General.Terminal, logPath()) 661 665 case <-mFolder.ClickedCh: 662 666 openFile(configDir()) 667 + case <-mSource.ClickedCh: 668 + openFile("https://tangled.org/devins.page/restray") 663 669 case <-mQuit.ClickedCh: 664 670 sched.Stop() 665 671 stopAllMounts()