Files
cloudsave/cmd/server/main_windows.go
Aurélie DELHAIE 0a33d1b68d
All checks were successful
CloudSave/pipeline/head This commit looks good
wip 0.0.5
2025-09-02 22:32:07 +02:00

56 lines
890 B
Go

package main
import (
"cloudsave/pkg/tools/windows"
_ "embed"
"os"
"github.com/getlantern/systray"
)
const defaultDocumentRoot string = "C:\\ProgramData\\CloudSave"
//go:embed res/icon.ico
var icon []byte
var (
updateChan chan struct{}
)
func main() {
updateChan = make(chan struct{})
go systray.Run(onReady, onExit)
run(updateChan)
}
func fatal(message string, exitCode int) {
windows.MessageBox(windows.NULL, message, "CloudSave", windows.MB_OK)
os.Exit(exitCode)
}
func onReady() {
systray.SetTitle("CloudSave")
systray.SetTooltip("CloudSave")
systray.SetIcon(icon)
mReload := systray.AddMenuItem("Reload", "Reload the server data")
mQuit := systray.AddMenuItem("Quit", "Quit the server")
go func() {
<-mQuit.ClickedCh
os.Exit(0)
}()
go func() {
for {
<-mReload.ClickedCh
updateChan <- struct{}{}
}
}()
}
func onExit() {
// clean up here
}