Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clarete/eosd
Emacs Notification Daemon
https://github.com/clarete/eosd
emacs exwm notification-server notifications
Last synced: about 2 months ago
JSON representation
Emacs Notification Daemon
- Host: GitHub
- URL: https://github.com/clarete/eosd
- Owner: clarete
- License: gpl-3.0
- Created: 2016-10-03T05:01:04.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-17T01:10:46.000Z (10 months ago)
- Last Synced: 2024-12-16T02:50:15.680Z (about 2 months ago)
- Topics: emacs, exwm, notification-server, notifications
- Language: Emacs Lisp
- Size: 506 KB
- Stars: 35
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: COPYING
Awesome Lists containing this project
README
* Emacs On Screen Display
I currently use Emacs as the engine that runs my window management
system. The specific module is [[https://github.com/ch11ng/exwm/][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 [[http://www.galago-project.org/specs/notification/0.9/index.html][standardized by the Free
Desktop]] initiative.** Screenshot
[[./screenshot.jpg]]
** Features
* [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# ** How to install
# It's available on [[https://melpa.org/][melpa]] follow the instructions to [[https://melpa.org/#/getting-started][enable it]] and
# then run =M-x package-installeosd=.** Requirements
Emacs OSD was tested with Emacs 24.5.1 but will probably work with
any version compiled with D-Bus.** Installation
Install Emacs development headers, for example on Fedora:
#+BEGIN_SRC
dnf install emacs-devel
#+END_SRCBuild =eosd-pixbuf.so= library:
#+BEGIN_SRC
make
#+END_SRCEnable the package in Emacs
#+BEGIN_SRC emacs-lisp
(use-package eosd
:load-path "/path/to/the/eosd/")
#+END_SRC** Basic Usage
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 |** Alternatives
* https://launchpad.net/notify-osd
* http://www.knopwob.org/dunst
* https://github.com/GNOME/notification-daemon** Modular Design
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.