Skip to content

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

License

Notifications You must be signed in to change notification settings

codegoalie/golibnotify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published