Files
astal/docs/libraries/notifd.md
2024-09-11 13:30:51 +00:00

2.0 KiB

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

  1. install dependencies

:::code-group

sudo pacman -Syu meson vala gdk-pixbuf2 json-glib gobject-introspection
sudo dnf install meson gcc valac gdk-pixbuf2-devel json-glib-devel gobject-introspection-devel
sudo apt install meson valac libgdk-pixbuf-2.0-dev libjson-glib-dev gobject-introspection

:::

  1. clone repo
git clone https://github.com/aylur/astal.git
cd astal/lib/notifd
  1. install
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:

meson setup --prefix /usr build

:::

Usage

You can browse the Notifd reference.

CLI

astal-notifd --help

Library

:::code-group

import Notifd from "gi://AstalNotifd";

const notifd = Notifd.get_default()

notifd.connect("notified", (_, id) => {
    const n = notifd.get_notification(id)
    console.log(n.summary, n.body)
})
# Not yet documented
-- Not yet documented
// Not yet documented

:::