Wofi

Wofi ist ein von rofi inspirierter Anwendungsstarter („Ausführen-Dialog“), der explizit für die Verwendung innerhalb von wlroots-basierenden Compositoren entwicklet wurde.
Installation
Das Programm ist als
wofi
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Wofi kann dann mittels wofi und diversen Parametern für vielfältige Aufgaben gestartet werden. Es muss mindestens der Modus angegeben werden (siehe hier).
Konfiguration
Standardmäßig liest Wofi die Konfiguration aus ~/.config/wofi/config und die Stylinginformationen aus ~/.config/wofi/style.css. Mittels der Parameter --conf DATEI und --style DATEI, sowie --color DATEI können wür die jeweiligen Abschnitte andere Dateien übergeben werden.
Modus
Damit Wofi etwas tut, muss ein verfügbarer Anzeigemodus angegeben werden. Aktuell gibt es drei verschiedene Varianten, wie Wofi genutzt werden kann.
wofi --show run→ Liste alle im$PATHbefindlichen ausführbaren Dateien aufwofi --show drun→ Liste alle (grafischen) Programme auf (Programme mit einer.desktop-Datei)wofi --show dmenu→ Lese Menüinformationen von STDIN und zeige diese anwofi --dmenu→ Alternativer Aufruf des dmenu-Modus
Basiskonfiguration
Standardmäßig wird Wofi nur sehr minimalistisch konfiguriert. Der Wayland-client (das Fenster) wird zudem in einem Modus dargestellt, in dem es nicht verschoben, verändert, oder normal geschlossen werden kann, zudem wird keine Fensterdekoration angezeigt, und auch Icons sind nicht sichtbar. Zudem wird es immer in einer festen Größe angezeigt, und standardmäßig kein Modus gesetzt.
Folgende Konfiguration kann verwendet werden, um das Wofi-Fenster etwas angenehmer zu gestalten Alle Screenshots in diesem Artikel wurden mit dieser Basiskonfiguration erstellt.
~/.config/wofi/config
mode = run # Automatisch im Modus „drun“ starten normal_window = true # Wofi als normales Fenster darstellen insensitive = true # Groß- und Kleinschreibung bei der Suche ignorieren single_click = true # Programme mit einfachem Klick starten hide_scroll = true # (Eventuell hässliche) Scrollbar verstecken lines = 20 # 20 Zeilen (Programme) auf einmal anzeigen width = 25% # Fensterbreite auf 25% setzen allow_images = true # Icons für Menüeinträge anzeigen
Einige Programme bieten Aktionen an, die bei einfachem Klick auf den Pfeil vorm Programmnamen bzw. -icon angezeigt werden. Bei Verwendung von single_click = true funktioniert dies nicht, da die Anwendung direkt gestartet wird. Will man diese Funktion von Wofi verwenden, muss man die Konfiguration von single_click weg lassen. Will man die Actions nicht verwenden, kann man diese mit no_actions = true verbergen.
Wem die Icons zu nah an den Programmnamen sind, der kann diese mittels konfiguration in der Styling-Datei etwas voneinander trennen.
~/.config/wofi/style.css
#inner-box image {
margin-right: 1em;
}
Wofi bietet für alle Angezeigten Dinge im Programmfenster entsprechende CSS-IDs und Klassen an, über diese das Aussehen sehr weitgehend konfiguriert werden kann.
dmenu-Beispiel
Wofi kann, ähnlich zu dmenu einen Speziell formatierten String per Pipe an der Standardeingabe einlesen, und daraus ein entsprechendes Menü erstellen.
Die von Wofi Syntax ist dabei recht simpel:
"img:iconname.png:text:Sichtbarer Text des Eintrags"

Folgendes Bash-Script verdeutlicht die Verwendung.
~/home/scripts/show_flatpaks
#!/bin/bash
RUN=$(for f in $(ls -d /var/lib/flatpak/app/*); do
app="${f##*/}"
title=$(flatpak info $app | head -n 2 | tail -n 1)
echo "text:${title} (${app})"
done \
| wofi --show dmenu --prompt 'Flatpak auswählen'\
| sed s@'.*(\(.*\))$'@"\1"@g
)
[[ -n "${RUN}" ]] && flatpak run ${RUN}
Innerhalb der RUN-Variablen wird in einer Subshell über alle installierten Flatpak-Pakete iteriert, die Ausgabe im von Wofi erwarteten Format generiert, und das ganze dann an Wofi weitergegeben. Wofi wiederum zeigt die Ausgabe formatiert als Menü-Liste an. Bei Auswahl eines Eintrags in Wofi wird dieser als ganzes über die Standardausgabe ausgegeben. Mittels sed wird der Name des Flatpak-Pakets rausgeschnitten und dadurch der Variablen RUN zugewiesen.
im zweiten Schritt wird nun geprüft, ob RUN einen wert beinhaltet, und falls ja, wird stumpf versucht, das Flatpak mit dem in RUN hinterlegten Namen zu starten.
Verwendung
Am sinnvollsten ist es, Wofi per Tastenkombination oder Panelbutton zu starten. Hierbei kann man auch gleich die nötigen Parameter oder eine Konfigurationsdatei angeben, je nachdem, wie Wofi genutzt werden soll.
In Labwc kann man zum Beispiel folgende Konfiguration nutzen.
<keyboard> <keybind key="A-F1"><action name="Execute" command="wofi --show drun" /></keybind> <keybind key="A-F2"><action name="Execute" command="wofi --show run --lines 5" /></keybind> </keyboard>
Dadurch bekommt man mittels Alt+F1 das Beispielhaft konfigurierte Wofi-Fenster im drun-Modus mit den grafischen Programmen aufgelistet, wohingegen man mit Alt+F2 einen Minimalistischen Ausführen-Dialog erhält, der lediglich die letzten 5 gestarteten Programme als einfache Namen anzeigt.
Zudem kann man im falle von Labwc unter ~/.local/share/icons/hicolor/scalable/apps/wofi.svg eine Icondatei ablegen, die dann statt des generischen Icons als Fenstericon angezeigt wird.
Siehe auch
- wofimoji – Wofi als Emoji-Auswahldialog