Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 2.13 KB

README.md

File metadata and controls

57 lines (39 loc) · 2.13 KB

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.

go.dev reference Go Report Card GitHub Sourcegraph Badge

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