mirror of
https://github.com/jahruz67/wisp-open.git
synced 2026-08-08 18:14:08 +00:00
25 lines
654 B
Go
25 lines
654 B
Go
//go:build !linux
|
|
|
|
package tray
|
|
|
|
import (
|
|
"runtime"
|
|
|
|
"github.com/getlantern/systray"
|
|
)
|
|
|
|
// Start initializes and runs the system tray.
|
|
// This function blocks until the tray is terminated.
|
|
func Start(app App) {
|
|
// Pin this goroutine to one OS thread for the whole lifetime of systray.Run.
|
|
// getlantern/systray creates the notify icon and runs the Win32 message pump on
|
|
// whichever thread calls Run; if the goroutine migrates between threads, callbacks
|
|
// and the tray context menu break until restart (often seen after sleep/resume).
|
|
runtime.LockOSThread()
|
|
defer runtime.UnlockOSThread()
|
|
systray.Run(
|
|
func() { onReady(app) },
|
|
onExit,
|
|
)
|
|
}
|