Daemon-lose Benachrichtigungen ohne D-Bus. Minimal und leicht.
Weniger als 200 Zeilen Code
Läuft nicht im Hintergrund, zeigt nur die Benachrichtigung an und wird beendet
Keine externen Abhängigkeiten außer Xlib und Xft
Konfigurierbar über config.h
oder Xresources (mit diesem Patch)
Unterstützung von Aktionen
Erweiterbar durch Patches
Verwendung
Patches
Eine Benachrichtigung verwerfen
Aktionen
Zeilenumbrüche
Mehrere Benachrichtigungen
Benachrichtigungen werden nicht angezeigt
Installation
Pakete
Abhängigkeiten
Bauen
Konfiguration
Beitragen
Liste der verfügbaren Patches
Um einen neuen Patch zu erstellen, müssen Sie eine Pull-Anfrage mit Ihren Änderungen öffnen. Hängen Sie .diff
an die Pull-Request-URL an, um eine herunterladbare Diff-Datei zu erhalten. Vergessen Sie nicht, dem Titel patch:
voranzustellen und die patch
-Bezeichnung darauf anzubringen. Schauen Sie sich zur Inspiration meinen Xresources-Patch an. Danke schön.
Hinweis: Diese Patch-Methode wurde stark von Dylans Sowm inspiriert.
Eine Benachrichtigung kann verworfen werden, indem Sie entweder mit DISMISS_BUTTON
darauf klicken (in config.h festgelegt, standardmäßig die linke Maustaste) oder indem Sie ein SIGUSR1
Signal an sie senden:
$ pkill -SIGUSR1 herbe
Verworfene Benachrichtigungen geben Exit-Code 2 zurück.
Bei einer Aktion handelt es sich um einen Shell-Code, der ausgeführt wird, wenn eine Benachrichtigung angenommen wird. Das Akzeptieren einer Benachrichtigung ist dasselbe wie das Verwerfen, Sie müssen jedoch entweder ACTION_BUTTON
(standardmäßig die rechte Maustaste) oder das SIGUSR2
-Signal verwenden. Eine akzeptierte Benachrichtigung gibt immer den Exit-Code 0 zurück. So geben Sie eine Aktion an:
$ herbe „Notification body“ && echo „Dies ist eine Aktion“
Wobei alles nach &&
die Aktion ist und ausgeführt wird, nachdem die Benachrichtigung akzeptiert wurde.
Jedes Befehlszeilenargument wird standardmäßig in einer separaten Zeile ausgegeben, z. B.:
$ herbe „Erste Zeile“ „Zweite Zeile“ „Dritte Zeile“ ...
Sie können n
beispielsweise auch in bash
verwenden:
$ herbe $'Erste WäscheZweite WäscheDritte Zeile'
Aber standardmäßig druckt herbe
n
wörtlich:
$ herbe „Erste WäscheImmer noch die erste Zeile“
Die Ausgabe anderer Programme wird korrekt gedruckt. Achten Sie nur darauf, sie zu maskieren (damit nicht jedes Wort in einer separaten Zeile steht):
$ herbe "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)"
Benachrichtigungen werden in eine Warteschlange gestellt und nacheinander in der Reihenfolge ihrer Erstellung angezeigt (First In, First Out). Sie überschneiden sich nicht und werden jeweils für die gesamte Dauer angezeigt.
Höchstwahrscheinlich wurde eine laufende Benachrichtigung gewaltsam beendet (SIGKILL oder ein nicht erfasstes Signal), was dazu führte, dass das Semaphor nicht entsperrt wurde. Töten Sie zunächst alle feststeckenden herbe
Instanzen:
$ pkill -SIGKILL herbe
Dann rufen Sie einfach herbe
ohne Argumente an:
$ herbe
Benachrichtigungen sollten nun wie erwartet angezeigt werden.
Senden Sie niemals andere Signale an herbe
als diese:
# wie pkill -SIGTERM herbe, beendet jeden laufenden Herbe-Prozess$ pkill herbe $ pkill -SIGUSR1 herbe $ pkill -SIGUSR2 herbe
Und es sollte dir gut gehen. Das ist alles, was Sie wirklich brauchen, um mit herbe
zu interagieren.
OpenBSD-Patch
FreeBSD-Patch
Wayland Port von muevoid
Nur das Herbe-Git-AUR-Paket wird von mir gepflegt.
X11 (Xlib)
Xft
Die Namen der Pakete unterscheiden sich je nachdem, welche Distribution Sie verwenden. Wenn Sie beispielsweise Void Linux verwenden, müssen Sie diese Abhängigkeiten installieren:
sudo xbps-install base-devel libX11-devel libXft-devel
Git-Klon https://github.com/dudik/herbecd herbe sudo make install
make install
erfordert Root-Rechte, da es die resultierende Binärdatei nach /usr/local/bin
kopiert. Dadurch wird herbe
weltweit zugänglich.
Sie können auch make clean
verwenden, um die Binärdatei aus dem Build-Ordner zu entfernen, sudo make uninstall
um die Binärdatei aus /usr/local/bin
zu entfernen, oder einfach make
, um die Binärdatei lokal zu erstellen.
herbe wird zur Kompilierzeit durch Bearbeiten von config.h
konfiguriert. Jede Option sollte selbsterklärend sein. Es gibt keine height
, da die Höhe durch die Schriftgröße und den Textabstand bestimmt wird.
Xresources-Patch
Wenn Sie einen Fehler melden möchten oder eine Funktionsanfrage haben, können Sie gerne ein Problem eröffnen.
qutebrowser unterstützt die Anzeige von Webbenachrichtigungen über herbe über die Einstellung content.notifications.presenter
.