golibnotify

Go bindings for libnotify -- Create and update OS notifications in linux

MIT License

Stars
11
Committers
2

golibnotify

golibnotify implements go bindings for libnotify to create, send, and update OS level notifications. It does not shell out to notify-send so it can update existing notifications as well as create new ones.

Installation

This package requires CGO and the libnotify (libnotify-dev) shared library to be installed.

On Ubuntu or Debian using apt, you can install with sudo apt-get install libnotify-dev

Usage

// Get an instance of a SimpleNotifier
notifier := golibnotify.NewSimpleNotifier("my-cool-app-name")

// Show a new notification
err = notifier.Show("A summary", "Some body text", "a/path/to/an/icon.png")

// Update an existing notification (or send a new one if one hasn't been sent)
err = notifier.Update("A new summary", "Some different body text", "another/path/to/icon.png")

// Remove an existing notification
err = notifier.Close()

See also examples for a complete example

Roadmap

  • Add API that returns a Notification instance to manage multiple notifications at once
  • Better support for notification icons (PixBuf?)
  • Support notification timeouts
  • Support notification urgencies

Contributions

Thanks for wanting to contribute!

  1. Open an issue describing your problem, solution, issue, suggestion, feature,
    etc. to ensure it's likely to get merged.
  2. Fork the project.
  3. Make your changes.
  4. Open a PR against master here.
  5. Celebrate being awesome!

Author

@codegoalie

Package Rankings
Top 9.36% on Proxy.golang.org
Badges
Extracted from project README
go.dev reference Go Report Card Sourcegraph Badge
Related Projects