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 ¶
- Variables
- func AddExistingMenuItem(item *MenuItem)
- func AddSeparator()
- func Quit()
- func Run(onReady func(), onExit func(), selectedChannel chan *MenuItem)
- func SetIcon(iconBytes []byte)
- func SetTitle(title string)
- func SetTooltip(tooltip string)
- type MenuItem
- func (item *MenuItem) Check()
- func (item *MenuItem) Disable()
- func (item *MenuItem) Enable()
- func (item *MenuItem) Hide()
- func (item *MenuItem) IsChecked() bool
- func (item *MenuItem) IsDisabled() bool
- func (item *MenuItem) SetIcon(iconBytes []byte)
- func (item *MenuItem) SetTitle(title string)
- func (item *MenuItem) SetTooltip(tooltip string)
- func (item *MenuItem) Show()
- func (item *MenuItem) Uncheck()
Constants ¶
This section is empty.
Variables ¶
var (
SelectedChannel = make(chan *MenuItem)
)
Functions ¶
func AddExistingMenuItem ¶
func AddExistingMenuItem(item *MenuItem)
func Run ¶
func Run(onReady func(), onExit func(), selectedChannel chan *MenuItem)
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)
SetTooltip 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 { // Title is the text shown on menu item Title string // Tooltip is the text shown when pointing to menu item Tooltip string // Disabled menu item is grayed out and has no effect when clicked Disabled bool // Checked menu item has a tick before the Title Checked bool // 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 ¶
AddMenuItem adds menu item with designated Title and Tooltip, returning a channel that notifies whenever that menu item is clicked.
It can be safely invoked from different goroutines.
func (*MenuItem) Check ¶
func (item *MenuItem) Check()
Check a menu item regardless if it's previously Checked or not
func (*MenuItem) Disable ¶
func (item *MenuItem) Disable()
Disable a menu item regardless if it's previously Disabled or not
func (*MenuItem) Enable ¶
func (item *MenuItem) Enable()
Enable a menu item regardless if it's previously enabled or not
func (*MenuItem) IsDisabled ¶
Disabled checkes if the menu item is Disabled
func (*MenuItem) SetIcon ¶
SetIcon sets the icon of a menu item. Only available on Mac. iconBytes should be the content of .ico/.jpg/.png
func (*MenuItem) SetTooltip ¶
SetTooltip set the Tooltip to show when mouse hover