This commit is contained in:
2026-07-06 16:21:06 +08:00
commit bb9f685221
41 changed files with 4333 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
package ui
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/driver/desktop"
)
// setupTray configures the system tray menu (desktop only).
func (a *App) setupTray() {
deskApp, ok := a.fyneApp.(desktop.App)
if !ok {
return // not a desktop app, skip tray
}
menu := fyne.NewMenu("LMVPN",
fyne.NewMenuItem("Show Window", func() {
a.window.Show()
a.window.RequestFocus()
}),
fyne.NewMenuItemSeparator(),
fyne.NewMenuItem("Connect", func() {
a.onConnect()
}),
fyne.NewMenuItem("Disconnect", func() {
a.onDisconnect()
}),
fyne.NewMenuItemSeparator(),
fyne.NewMenuItem("Quit", func() {
a.fyneApp.Quit()
}),
)
deskApp.SetSystemTrayMenu(menu)
}