I currently use Emacs as the engine that runs my window management system. The specific module is EXWM. Although EXWM is amazing, it is beyond it’s capabilities to manage Desktop Notifications. Being historically a Gnome Desktop user, I really missed them.
This package teaches Emacs how to manage notifications received by other applications via a D-Bus service standardized by the Free Desktop initiative.
- [X] Central place to access all notifications received
- [ ] Filter notifications by time, application, and status
- [ ] Silence notifications based on custom patterns
- [ ] Persistent cache for notifications (they’ll survive Emacs restarts).
- [ ] Optional integration with Emacs Mini-buffer
- [ ] Optionally shows GTK+ balloons for messages
Emacs OSD was tested with Emacs 24.5.1 but will probably work with any version compiled with D-Bus.
Install Emacs development headers, for example on Fedora:
dnf install emacs-devel
Build eosd-pixbuf.so
library:
make
Enable the package in Emacs
(use-package eosd
:load-path "/path/to/the/eosd/")
To launch EOSD
, assuming it’s properly installed, just execute
M-x eosd
and you’ll be sent to the EOSD Mode
. Use the following
key bindings in that mode:
Key | Description |
---|---|
n | Move to next notification |
p | Move to previous notification |
g | Reload notifications from cache |
f | Prompt the user with the filter popup |
i | Toggle show/hide notification body |
d | Delete notification |
q | Bury buffer |
- https://launchpad.net/notify-osd
- http://www.knopwob.org/dunst
- https://github.com/GNOME/notification-daemon
Emacs OSD is organized in three modules: D-Bus interface, Notification Buffer, and UI.
The Notification Buffer is the abstraction that binds the UI to the events received via D-Bus. It’s also the place that filters are applied.