sni

module
v0.0.0-...-ecb45ff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2023 License: MIT

README

sni / StatusNotifierItem

This library implements org.kde.StatusNotifierItem and com.canonical.dbusmenu specs. That enables us to create tray icons with menus.

Used resources

License

MIT

Usage/Examples

package main

import (
	"log"
	"os"
	"os/signal"
	"sni"
	"sni/menu"
)

func run() error {
	tree := menu.NewItem().Submenu(
		menu.NewItem().Label("Button 1").IconName("emblem-default").
			OnClick(func() {
				log.Print("Button 1 clicked!!!")
			}),
		menu.NewItem().Separator(true),
		menu.NewItem().Label("Button 2").IconName("help-about").
			OnClick(func() {
				log.Print("Button 2 clicked!!!")
			}),
	).Build()
	tray, err := sni.NewTray("MyApp", "Descriptive title", tree)
	if err != nil {
		return err
	}
	defer tray.Close()
	err = tray.Setup()
	if err != nil {
		return err
	}

	c := make(chan os.Signal, 1)
	signal.Notify(c, os.Interrupt)
	<-c
	log.Print("SIG INTERRUPT (Ctrl + C): exitting")
	return nil
}
func main() {
	if err := run(); err != nil {
		log.Fatal(err)
	}
}

Acknowledgements

Directories

Path Synopsis
bin
examples
generated
d_bus
Code generated by dbus-codegen-go DO NOT EDIT.
Code generated by dbus-codegen-go DO NOT EDIT.
d_bus_menu
Code generated by dbus-codegen-go DO NOT EDIT.
Code generated by dbus-codegen-go DO NOT EDIT.
status_notifier_item
Code generated by dbus-codegen-go DO NOT EDIT.
Code generated by dbus-codegen-go DO NOT EDIT.
status_notifier_watcher
Code generated by dbus-codegen-go DO NOT EDIT.
Code generated by dbus-codegen-go DO NOT EDIT.
pkg
sni

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL