mirror of
https://github.com/nkanaev/yarr.git
synced 2026-03-26 13:47:43 +00:00
34 lines
587 B
Go
34 lines
587 B
Go
//go:build (darwin || windows) && gui
|
|
|
|
package platform
|
|
|
|
import (
|
|
"github.com/nkanaev/yarr/src/server"
|
|
"github.com/nkanaev/yarr/src/systray"
|
|
)
|
|
|
|
func Start(s *server.Server) {
|
|
systrayOnReady := func() {
|
|
systray.SetIcon(Icon)
|
|
systray.SetTooltip("yarr")
|
|
|
|
menuOpen := systray.AddMenuItem("Open", "")
|
|
systray.AddSeparator()
|
|
menuQuit := systray.AddMenuItem("Quit", "")
|
|
|
|
go func() {
|
|
for {
|
|
select {
|
|
case <-menuOpen.ClickedCh:
|
|
Open(s.GetAddr())
|
|
case <-menuQuit.ClickedCh:
|
|
systray.Quit()
|
|
}
|
|
}
|
|
}()
|
|
|
|
s.Start()
|
|
}
|
|
systray.Run(systrayOnReady, nil)
|
|
}
|