diff --git a/exp/examples/systray/macos_template_icon.png b/exp/examples/systray/macos_template_icon.png new file mode 100644 index 000000000..659d860e1 Binary files /dev/null and b/exp/examples/systray/macos_template_icon.png differ diff --git a/exp/examples/systray/main.go b/exp/examples/systray/main.go new file mode 100644 index 000000000..da74bae56 --- /dev/null +++ b/exp/examples/systray/main.go @@ -0,0 +1,33 @@ +package main + +import ( + _ "embed" + "log" + + "github.com/wailsapp/wails/exp/pkg/application" +) + +//go:embed macos_template_icon.png +var macosIcon []byte + +func main() { + app := application.New() + systemTray := app.NewSystemTray().SetIcon(macosIcon) + + myMenu := app.NewMenu() + myMenu.Add("Hello World!").OnClick(func(ctx *application.Context) { + ctx.ClickedMenuItem().SetLabel("Clicked!") + }) + myMenu.AddSeparator() + myMenu.Add("Quit").OnClick(func(ctx *application.Context) { + app.Quit() + }) + + systemTray.SetMenu(myMenu) + + err := app.Run() + + if err != nil { + log.Fatal(err) + } +}