Waybar: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
KKeine Bearbeitungszusammenfassung
Zeile 75: Zeile 75:
Newsboat wird alle 10 Minuten derart ausgeführt, dass die Feeds aktualisiert werden und die Anzahl der neuen Artikel ausgegeben wird. Diese Ausgabe wird im Tooltipo an der Stelle von {{ic|<nowiki>{}</nowiki>}} eingefügt. Beim Anklicken des Icons öffnet sich {{paket|alacritty}} mit newsboat und angepasster Fensterklasse. {{ic|exec-on-event}} ist hier nötig, da sonst beim Anklicken {{ic|exec}} erneut ausgeführt werden würde, was darin resultiert, dass Newsboat in dem Moment wo es geöffnet wird bereits durch das Update läuft, und daher das öffnen mit einer Fehlermeldung abgebrochen werden würde.
Newsboat wird alle 10 Minuten derart ausgeführt, dass die Feeds aktualisiert werden und die Anzahl der neuen Artikel ausgegeben wird. Diese Ausgabe wird im Tooltipo an der Stelle von {{ic|<nowiki>{}</nowiki>}} eingefügt. Beim Anklicken des Icons öffnet sich {{paket|alacritty}} mit newsboat und angepasster Fensterklasse. {{ic|exec-on-event}} ist hier nötig, da sonst beim Anklicken {{ic|exec}} erneut ausgeführt werden würde, was darin resultiert, dass Newsboat in dem Moment wo es geöffnet wird bereits durch das Update läuft, und daher das öffnen mit einer Fehlermeldung abgebrochen werden würde.


{{unvollständig|inline=1}}
==== Styling ====
 
=== Styling ===
{{unvollständig|inline=1}}
{{unvollständig|inline=1}}



Version vom 11. Januar 2025, 18:18 Uhr

„Waybar“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.


Waybar ist ein hochgradig konfigurierbares und erweiterbares Panel für Wayland-Kompositoren. Die Konfiguration erfolgt in JSONC, das Styling ist mittels CSS realisiert. Für die Konfiguration stehen standardmäßig viele Module mit verschiedenen Anzeigen zur Verfügung, und es können sehr einfach eigene Module eingerichtet werden.

Installation

Waybar ist als waybar in extra verfügbar, und kann von dort mittels Pacman installiert werden.

# Waybar an sich
pacman -S waybar

# Für die Icons der standardmäßig vorkonfigurierten Module benötigt.
pacman -S otf-font-awesome

Einige der Standardmodule benötigen weitere installierte Programme um zu funktionieren. Dies ist durch Fehlermeldungen der entsprechenden Module ersichtlich. Waybar hängt von den Programmen nicht ab.

Konfiguration

In der Standardkonfiguration wird Waybar an die obere Bildschirmseite gebunden, die vorkonfigurierten Module werden dabei rechtsbündig angezeigt.

Waybar in der Standardkonfiguration

Von links sind dies der idle-inhibitor (verhindern von Bildschirmschoner, Standby, etc. bei Inaktivität), Lautstärkeinformationen, Netzwerkkonnektivität, Prozessorauslastung, Arbeitsspeicherauslastung, Temperatur der thermal-zone 2 (dies ist konfigurierbar und Systemabhängig), die Uhrzeit, sowie ein Energie-Menü als individuelles Modul umgesetzt.

Für alle Standardmodule existieren Manpages, die ausführlich auf die Konfiguration eingehen.

Beispiele

Da Waybar sehr umfangreich und individuell anpassbar ist, sei hier nur exemplarisch auf einige Dinge eingegangen.

Individuelles Menü

Das in diesem Beispiel definierte individuelle Menü, per Rechtsklick auf das definierte Zahnrad-Icon geöffnet.

Um ein Modul um ein individuelles Menü zu erweitern, müssen dem Modul ein Menü-Trigger, eine Menü-Datei und entsprechende Menü-Aktionen hinzugefügt werden.

"custom/menu": {
  "format": "",
  "menu": "on-click-right",
  "menu-file": "system-menu.xml",
  "menu-actions": {
    "htop": "alacrity -e htop",
    "free": "watch free -m"
  }
}

Damit wird ein Icon angezeigt, über das ein Menü aus system-menu.xml geöffnet wird. Es werden zudem zwei Aktionen definiert. Die Menüdatei definiert als XML formatiert ein Menü.

system-menu.xml
<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <object class="GtkMenu" id="menu">
    <child>
      <object class="GtkMenuItem" id="htop">
        <property name="label">Systemauslastung mit htop anzeigen</property>
      </object>
    </child>
    <child>
      <object class="GtkMenuItem" id="free">
        <property name="label">Arbeitsspeicherverwendung anzeigen</property>
      </object>
    </child>
  </object>
</interface>

Das Attribut id="" in den jeweiligen GtkMenuItem-Objekten entspricht den IDs der definierten Menü-Aktionen. Fehlende Menü-Aktionen führen nicht zu einer Fehlermeldung – es wird dann einfach nichts ausgeführt.

Programmaufruf und Tooltip

Das Icon mit angezeigtem Tooltip mit der Artikelanzahl

Der Newsreader newsboat erlaubt es, an der Befehlszeile die Feeds zu aktualisieren, und die Anzahl der ungelesenen Artikel anzuzeigen. Dies kann man in einem individuellen Modul verwenden.

"custom/newsboat": {
  "format": "󰑫",
  "exec": "newsboat --execute reload print-unread",
  "interval": 600,
  "tooltip-format": "{}",
  "exec-on-event": false,
  "on-click": "alacritty --class newsboat -e newsboat"
}

Newsboat wird alle 10 Minuten derart ausgeführt, dass die Feeds aktualisiert werden und die Anzahl der neuen Artikel ausgegeben wird. Diese Ausgabe wird im Tooltipo an der Stelle von {} eingefügt. Beim Anklicken des Icons öffnet sich alacritty mit newsboat und angepasster Fensterklasse. exec-on-event ist hier nötig, da sonst beim Anklicken exec erneut ausgeführt werden würde, was darin resultiert, dass Newsboat in dem Moment wo es geöffnet wird bereits durch das Update läuft, und daher das öffnen mit einer Fehlermeldung abgebrochen werden würde.

Styling

Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!

Weblinks