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.
Usage
You can browse the Notifd reference.
CLI
sh
astal-notifd --helpLibrary
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)
endvala
var notifd = AstalNotifd.get_default();
notifd.notified.connect((_, id) => {
var n = notifd.get_notification(id);
print("%s %s\n", n.summary, n.body);
})Installation
install dependencies
shsudo pacman -Syu meson vala valadoc gdk-pixbuf2 json-glib gobject-introspectionshsudo dnf install meson vala valadoc gdk-pixbuf2-devel json-glib-devel gobject-introspection-develshsudo apt install meson valac valadoc libgdk-pixbuf-2.0-dev libjson-glib-dev gobject-introspectionclone repo
shgit clone https://github.com/aylur/astal.git cd astal/lib/notifdinstall
shmeson setup build meson install -C build