Notifd
A notification daemon implementation as a library and CLI tool.
How it works
The first instantiation of the Notifd class will become the daemon and every subsequent instantiation will queue up to act as the daemon and will act as a client in the meantime. This means this library can be used throughout multiple processes.
Installation
- install dependencies
sh
sudo pacman -Syu meson vala gdk-pixbuf2 json-glib gobject-introspection
sh
sudo dnf install meson gcc valac gdk-pixbuf2-devel json-glib-devel gobject-introspection-devel
sh
sudo apt install meson valac libgdk-pixbuf-2.0-dev libjson-glib-dev gobject-introspection
- clone repo
sh
git clone https://github.com/aylur/astal.git
cd astal/lib/notifd
- install
sh
meson setup build
meson install -C build
TIP
Most distros recommend manual installs in /usr/local
, which is what meson
defaults to. If you want to install to /usr
instead which most package managers do, set the prefix
option:
sh
meson setup --prefix /usr build
Usage
You can browse the Notifd reference.
CLI
sh
astal-notifd --help
Library
js
import Notifd from "gi://AstalNotifd"
const notifd = Notifd.get_default()
notifd.connect("notified", (_, id) => {
const n = notifd.get_notification(id)
print(n.summary, n.body)
})
py
from gi.repository import AstalNotifd as Notifd
notifd = Notifd.get_default()
def on_notified(_, id):
n = notifd.get_notification(id)
print(n.get_body(), n.get_body())
notifd.connect("notified", on_notified)
lua
local Notifd = require("lgi").require("AstalNotifd")
local notifd = Notifd.get_default()
notifd.on_notified = function(_, id)
local n = notifd.get_notification(id)
print(n.body, n.summary)
end
vala
// Not yet documented