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

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_acttions = 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
Wofimoji

Wofimoji ist ein in
Go geschriebenes Programm, das Wofi im dmenu-Modus verwendet um alle Unicode-Emojis anzuzeigen. Diese können mit ihrer offiziellen Bezeichnung gesucht und durch Auswahl kopiert oder geschrieben (eingefügt) werden.
Installation
Das Programm ist als wofimojiAUR im AUR verfügbar, und kann von dort zum Beispiel mit einem der AUR Hilfsprogramme installiert werden.
Bei der Verwendung von AUR-Hilfsprogrammen ist zu beachten, dass Pakete niemals „blind“ installiert werden sollten. Vor dem Installieren sollten die Kommentare im AUR gelesen, und das PKGBUILD geprüft werden.
Zusätzlich werden noch je nach Einsatzzweck Standardmäßig weitere Hilfsprogramme benötigt:
pacman -S wtype # Für das schreiben (einfügen) von Emojis pacman -S wl-clipboard # Zum kopieren von Emojis in die Zwischenablage
Die zum schreiben oder kopieren von Emojis verwendeten Programme können mittels der Parameter --clipboarder und --typer entsprechend angepasst werden.
Verwendung
Standardmäßig kopiert Wofimoji das ausgewählte Emoji in die Zwischenablage, aus der es dann wie alle anderen Zeichenketten beliebig eingefügt werden kann. Will man das von anderen Emoji-Pickern bekannte verhalten erzielen, mit dem das gewählte Emoji direkt eingefügt werden kann, muss dies entsprechend per Parameter angegeben werden.
wofimoji --action copy # Stadnardverhalten: Emoji in Zwischenablage kopieren wofimoji --action write # Emoji als Zeichen einfügen wofimoji --action IRGENDWAS # Vermutlich ein Bug: Emoji und Beschreibung einfügen
Bei allen Aktionen wird das Fenster danach dann wieder geschlossen.
Wofimoji benutzt standardmäßig die normale Wofi-Konfiguration, will man dieses verhalten ändern, so kann man dies ebenfalls per Parameter steuern.
# 80 Zeichen schmales Fenster wofimoji --selector-args '--width,80' # Andere konfigurationsdatei wofimoji --selector-args '--conf,~/.config/wofi/wofimoji' # Beides zusammen wofimoji --selector-args '--width,80,--conf,~/.config/wofi/wofimoji,
Alle Leerzeichen um die Parameter und Werte werden dabei durch ein Komma ersetzt.
Aufrufen
Die Ausgabe von Wofimoji wird immer in das zuletzt aktive Fenster vor dem auswählen des Emojis in Wofimoji geschrieben. Der Aufruf sollte sinniger weise über eine Tastenkobination durch den Compositor erfolgen, so dass man zum Besipiel im Browser einfach auf die Emojis zugreifen kann.
Beispielsweise kann die Konfiguration in Labwc so aussehen. Dabei wird direkt die richtige Aktion angegeben, sowie mit > ein simples Prompt im Suchfeld und Fenstertitel angezeigt.
<keyboard> <keybind key="W-."><action name="Execute" command="wofimoji --action type --prompt > " /></keybind> </keyboard>
Dadurch kann nach dem Neuladen der Konfiguration mittels ⊞ Super+. das Wofimoji-Fenster geöffnet werden, aus dem man dann das Ausgewählte Emoji in die (zuvor) aktive Anwendung einfügen kann.