Ferdium exposes an inter-process communication on Linux systems via D-Bus. This allows integrating Ferdium with your desktop environment by displaying the number of unread notifications in a status area and muting or unmuting notations.
As an example integration, the docs/dbus
folder contains a module for status bars written in Python.
To run the example, you'll need Python 3.11 and the dbus-next
PyPI package.
The integration uses the ferdium-dbus-py
client library, which is an asynchronous wrapper over the D-Bus interface.
It illustrates multiple advanced concepts, such as asynchronous communication with Ferdium via asyncio
and polling the session D-Bus to see if Ferdium is running.
The ferdium_bar.py
implements a bar module to use with status bars such as waybar or polybar. See ferdium_bar.py --help
and ferdium_bar.py unread --help
for further indications on how to use it.
The low-level API exposed over D-Bus is documented in org.ferdium.Ferdium.xml
with standard D-Bus introspection syntax.
Ferdium will take ownership of the bus name org.ferdium.Ferdium
and expose and object implementing the org.ferdium.Ferdium
interface at the object path /org/ferdium
.