Documentation ¶
Overview ¶
Package systray is a cross platfrom Go library to place an icon and menu in the notification area. Supports Windows, Mac OSX and Linux currently. Methods can be called from any goroutine except Run(), which should be called at the very beginning of main() to lock at main thread.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Run ¶
func Run(onReady func())
Run initializes GUI and starts the event loop, then invokes the onReady callback. It blocks until systray.Quit() is called. Should be called at the very beginning of main() to lock at main thread.
func SetIcon ¶
func SetIcon(iconBytes []byte)
SetIcon sets the systray icon. iconBytes should be the content of .ico for windows and .ico/.jpg/.png for other platforms.
func SetTooltip ¶
func SetTooltip(tooltip string)
SetTitle sets the systray tooltip to display on mouse hover of the tray icon, only available on Mac and Windows.
Types ¶
type MenuItem ¶
type MenuItem struct { // ClickedCh is the channel which will be notified when the menu item is clicked ClickedCh chan interface{} // contains filtered or unexported fields }
MenuItem is used to keep track each menu item of systray Don't create it directly, use the one systray.AddMenuItem() returned
func AddMenuItem ¶
Add menu item with designated title and tooltip, returning a channel that notifies whenever that menu item has been clicked.
Menu items are keyed to an id. If the same id is added twice, the 2nd one overwrites the first.
AddMenuItem can be safely invoked from different goroutines.