Mako: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) |
Dirk (Diskussion | Beiträge) |
||
Zeile 125: | Zeile 125: | ||
Zudem setzt die Beispielkonfiguration noch, dass die Ausrichtung der Benachrichtigungen oben mittig stattfinden soll. Mögliche Kombinationen sind hier {{ic|top-}}, {{ic|center-}}, und {{ic|bottom-}} in Kombination mit {{ic|left}}, {{ic|center}}, und {{ic|right}} für die horizontale Ausrichtung. Statt {{ic|center-center}} wird {{ic|center}} benutzt. | Zudem setzt die Beispielkonfiguration noch, dass die Ausrichtung der Benachrichtigungen oben mittig stattfinden soll. Mögliche Kombinationen sind hier {{ic|top-}}, {{ic|center-}}, und {{ic|bottom-}} in Kombination mit {{ic|left}}, {{ic|center}}, und {{ic|right}} für die horizontale Ausrichtung. Statt {{ic|center-center}} wird {{ic|center}} benutzt. | ||
=== Anzeige von Icons anpassen === | |||
Icons werden immer aus {{ic|/usr/share/icons/hicolor}} und {{ic|/usr/share/pixmaps}} geladen und angezeigt. Will man zusätzlich noch eigene Icons laden, so kann man die Pfade in der Konfiguration entsprechend hinterlegen. Auch besteht die Möglichkeit, die Maximalgröße von Icons beschränken. | |||
{{hc|1=~/.config/mako/config|2= | |||
icon-path=/pfad/zu/de/icons/:/anderer/pfad:/noch/ein/pfad:...:... | |||
max-icon-size=13 | |||
}} | |||
Hierbei reicht es jedoch nicht, mittels {{ic|makoctl reload}} die Konfiguration neu zu laden. Die neue Icongröße wird nur für neue Benachrichtigungen nach dem Neuladen der Konfiguration benutzt. | |||
Mittels {{ic|icon-location}} kann zudem die Seite des Icons bestimmt werden: {{ic|left}}, {{ic|right}}, {{ic|top}}, und {{ic|bottom}}. Dabei ist das Icon an der jeweiligen Seite immer zentriert. Eine Ausrichtung des Icons nach oben links zum Beispiel ist nicht möglich. | |||
Mittels {{ic|icons=0}} kann die Anzeige von Icons zudem ganz unterdrückt werden. | |||
{{hc|1=notify-send -i archlinux-logo "Benachrichtigung mit Icon" | |||
|2= | |||
[[Datei:Mako_icon_small.png|300px]] | |||
}} | |||
Im Beispiel wird das Icon auf 13pix skaliert, was der Schriftgröße entspricht. | |||
== Styling == | == Styling == |
Version vom 22. Februar 2025, 00:37 Uhr
„Mako“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
mako ist ein Leichtgewichtiges Benachrichtigungsprogramm für Wayland-Compositoren, der die FreeDesktop Notifications Specification implementiert und sich umfangreich konfigurieren und grafisch gestalten lässt.
Installation
Das Programm ist als
mako
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
mako wird bei Bedarf automatisch mittels D-Bus aufgerufen wenn ein Programm eine Benachrichtigung anzeigen will. Man kann mako allerdings auch gezielt starten, wenn man Zum Beispiel mehrere verschiedene Benachrichtigungssysteme installiert hat, und gezielt mako verwenden will.
Hierzu kann man wahlweise mako
in den Autostart des Compositors setzen, oder im Benutzerkontext den systemd-Service starten.
systemctl --user enable --now mako
Sofern man nur ein Benachrichtigungssystem benutzt, reicht die installation allerdings aus. Für die Nutzung unter Sway wird empfohlen, exec mako
in die Konfiguration zu schreibenn.
Verwendung
Die einfachste Art der Verwendung von mako ist das simple Senden einer Benachrichtigung, zum Beispiel mittels notify-send
aus dem Paket libnotify.
notify-send "Ich bin eine Benachrichtigung"

Diese Benachrichtigung wird standardmäßig oben rechts in der Ecke des aktiven Monitors auf allen Arbeitsflächen angezeigt. Durch anklicken der Benachrichtigung verschwindet diese wieder.
Je nachdem, in wie weit die sendenden Programme die FreeDesktop Notifications Specification umsetzen, können zudem weitere Dinge mit übergeben werden. Gemäß Spezifikation werden Icons in Standardpfaden automatisch erkannt, wenn man nur ihren Namen angibt.
notify-send -i archlinux-logo "Beispiel fürs Wiki" "Ich bin eine Benachrichtigung mit Titel, Icon, und etwas Text."

mako unterstützt standardmäßig auch einfache Textformatierung. Die optional per Spezifikation definierten Bilder und Links im Benachrichtigungstext werden von mako derzeit allerdings nicht unterstützt.
notify-send -i archlinux-logo "Beispiel fürs Wiki" "Ich bin eine Benachrichtigung mit Titel, Icon, und etwas Text."

makoctl
Das mitgelieferte Tool makoctl
erlaubt das Steuern von mako zur Laufzeit.
makoctl list # Zeigt alle aktuellen Benachrichtigungen JSON-formatiert an makoctl dismiss # Bestätigt und entfernt die letzte Benachrichtigung makoctl dismiss -a # Bestätigt und entfernt alle Benachrichtigungen makoctl restore # Stellt die letzte Benachrichtigung wieder her makoctl reload # Aktualisiert die Konfiguration
makoctl
verfügt noch über diverse weitere Funktionen, dies sind allerdings für den Alltagsgebrauch die wichtigsten.
Konfiguration
Die Konfiguration von Mako geschieht Userbezogen in ~/.config/mako/config
.
mako lädt die Konfiguration nur beim ersten starten (im Regelfall also bei der ersten per D-Bus gesendeten Benachrichtigung). Man kann während des Testens mittels makoctl reload
die Konfiguration neu laden. Konfigurationsänderungen werden dabei automatisch auf aktive Benachrichtigungen angewendet.
Da die Konfiguration sehr umfangreich möglich ist, sei hier nur auf einige Optionen eingegangen.
Text wird abgeschnitten (Höhe und Breite)
Standardmäßig zeigen Benachrichtigungen nur eine gewisse Menge des Benachrichtigungstextes an, weil die Benachrichtigungsfenster in der Höhe beschränkt sind.
notify-send "Benachrichtigung mit viel Text" "Diese Benachrichtigung enthält sehr langen Text, der am Ende in der Standardkonfiguration einfach abgeschnitten wird, da das Benachrichtigungsfenster eine gewisse maximale Höhe hat."

Gerade wenn man nicht die Standardtextgröße benutzt kann es passieren, dass neben dem Titel nur einige wenige Wörter angezeigt werden. Dies kann man umgehen, indem man mako die maximale Benachrichtigungfesterhöhe mitteilt.
~/.config/mako/config
height=2000
Hier werden 2000 Pixel als maximale Höhe gesetzt, auch lange Benachrichtigungen werden damit vollständig angezeigt.
notify-send "Benachrichtigung mit viel Text" "Diese Benachrichtigung enthält sehr langen Text, der am Ende in der Standardkonfiguration einfach abgeschnitten wird, da das Benachrichtigungsfenster eine gewisse maximale Höhe hat."

Die Breite des Benachrichtigungsfensters kann mittels {{{1}}}
angegeben werden.
~/.config/mako/config
width=500
Anders als die Höhe ist die Breite nicht der Maximalwert.
notify-send "Breite Benachrichtigung" "Das Benachrichtigungsfenster ist 500 Pixel breit."

Positionierung und Anzeige der Benachrichtigungsfenster
Standardmäßig werden die Benachrichtigungsfenster oben rechts ansortiert, wobei die neueste Benachrichtigung ganz oben steht. Es werden zudem standardmäßig die letzten 5 Benachrichtigungen angezeigt. Bernachrichtigungen sind zudem nicht gruppiert.
notify-send --app-name foo "Benachrichtigung 1 von foo" notify-send --app-name foo "Benachrichtigung 2 von foo" notify-send --app-name foo "Benachrichtigung 3 von foo" notify-send --app-name bar "Benachrichtigung 4 von bar" notify-send "Benachrichtigung 5" notify-send "Benachrichtigung 6" notify-send "Benachrichtigung 7" notify-send "Benachrichtigung 8"

Mittels diesem Set an Konfigurationsoptionen lässt sich die Anzeige anpassen.
~/.config/mako/config
# Sortierung nach App-Name group-by=app-name # Zeige alle benachrichtigungen max-visible=-1 # Zeige Benachrichtigungen als Overlay layer=overlay # Zentriere Benachrichtigungen oben mittig anchor=top-center
Bei gleichem Set an Benachrichtigungen sieht die Anzeige nun so aus
[...]

Alle Benachrichtigungen mit dem App-Namen „foo“ werden Gruppiert, genau so wie die Fenster ohne Angabe des App-Namens gruppiert werden (notify-send
trägt sich selbst ein). Gruppierte Benachrichtigungen Zeigen zudem die Anzahl der Benachrichtigungen in dieser Gruppe an, bei jedem Klick wird automatisch die nächste Benachrichtigung gezeigt.
Mittels layer
wird definiert, wo der Compositor die Fenster in relation zu normalen Fenstern darstellen soll. Mögliche Werte sind background
, bottom
, top
, und overlay
. Mit overlay
werden – sofern vom Compositor unterstützt – Benachrichtigungen noch über Fenstern im Vollbildmodus angezeigt.
Zudem setzt die Beispielkonfiguration noch, dass die Ausrichtung der Benachrichtigungen oben mittig stattfinden soll. Mögliche Kombinationen sind hier top-
, center-
, und bottom-
in Kombination mit left
, center
, und right
für die horizontale Ausrichtung. Statt center-center
wird center
benutzt.
Anzeige von Icons anpassen
Icons werden immer aus /usr/share/icons/hicolor
und /usr/share/pixmaps
geladen und angezeigt. Will man zusätzlich noch eigene Icons laden, so kann man die Pfade in der Konfiguration entsprechend hinterlegen. Auch besteht die Möglichkeit, die Maximalgröße von Icons beschränken.
~/.config/mako/config
icon-path=/pfad/zu/de/icons/:/anderer/pfad:/noch/ein/pfad:...:... max-icon-size=13
Hierbei reicht es jedoch nicht, mittels makoctl reload
die Konfiguration neu zu laden. Die neue Icongröße wird nur für neue Benachrichtigungen nach dem Neuladen der Konfiguration benutzt.
Mittels icon-location
kann zudem die Seite des Icons bestimmt werden: left
, right
, top
, und bottom
. Dabei ist das Icon an der jeweiligen Seite immer zentriert. Eine Ausrichtung des Icons nach oben links zum Beispiel ist nicht möglich.
Mittels {{{1}}}
kann die Anzeige von Icons zudem ganz unterdrückt werden.
notify-send -i archlinux-logo "Benachrichtigung mit Icon"

Im Beispiel wird das Icon auf 13pix skaliert, was der Schriftgröße entspricht.