~/work/owlryLive
Owlry
Schlanker Wayland-App-Launcher in Rust mit GTK4 und Layer Shell — UI, Daemon und alle Provider in einem Binary. Apps, Rechner, Konverter, Clipboard, Websuche und mehr, mit Fuzzy-Tag-Suche, Frecency-Ranking und Lua-first-Konfiguration.
Was es macht
Ein schneller, konfigurierbarer App-Launcher für Wayland-Compositoren. UI-Client, ein warmhaltender Daemon und alle Provider kompilieren in ein einzelnes Binary, sodass der Launcher sofort erscheint. Eingebaute Provider decken Apps, PATH-Befehle, einen Rechner, einen Einheiten-/Währungskonverter und Power-Aktionen ab; optionale Provider ergänzen Clipboard-Historie, Emoji, SSH-Hosts, systemd-Units, Web- und Dateisuche, jeweils über ein Cargo-Feature geschaltet. Fuzzy-Suche mit Tags und Filter-Präfixen, Frecency-Ranking, benannte Config-Profile, zehn GTK4-Themes und dmenu-kompatibler Pipe-Modus. Die Konfiguration ist Lua-first. Der 2.x-Rewrite hat fünfzehn AUR-Pakete und ein dynamisches Plugin-System in ein einziges feature-geschaltetes Binary zusammengeführt.
Problem
Wayland-Nutzer brauchen einen Launcher, der Anwendungen, Befehle, Berechnungen und optionale Systemprovider schnell durchsucht.
Die frühere Plugin-Paketierung verteilte das Projekt auf fünfzehn AUR-Pakete.
Rahmenbedingungen
- Overlay-Verhalten muss mit GTK4 und Layer Shell Wayland-nativ sein.
- Optionale Provider dürfen weder eine dynamische Plugin-Laufzeit noch erneut fragmentierte Installationen erfordern.
Wie es gebaut ist
- Du rufst den Launcher; der UI-Client spricht mit einem warmen Daemon.
- Der Daemon betreibt Provider für Apps, PATH-Befehle, Rechner, Konverter, Clipboard und Websuche.
- Treffer werden über Fuzzy-Match und Frecency gerankt.
- IPC und ein dmenu-kompatibler CLI-Modus steuern denselben Daemon aus Skripten.
Engineering-Entscheidungen
Warmer Daemon hinter einem kleinen UI-Client
Provider-Zustand bleibt bereit, damit der Launcher ihn beim Öffnen nicht neu aufbaut.
Trade-off Führt eine IPC-Grenze und einen langlebigen Prozess ein.
Provider in ein Feature-gesteuertes Binary kompilieren
Ein Artefakt ersetzt ein dynamisches Plugin-System und fünfzehn Pakete.
Trade-off Eine andere Provider-Auswahl erfordert einen Neubau.
dmenu-kompatibler Pipe-Modus
Skripte nutzen denselben Ranking- und Provider-Pfad wie der grafische Client.
Trade-off CLI- und UI-Verträge müssen gemeinsam weiterentwickelt werden.
Nachweise
- Distribution
- 1 Binary
- AUR-Pakete
- 15 → 1
- GTK4-Themes
- 10
UI, Daemon und Provider
In der 2.x-Neuentwicklung zusammengeführt
Integrierte Themes mit Lua-Konfiguration
Zugehörige Fallstudie
Die Projektseite beschreibt, was existiert. Die Fallstudie verfolgt die Entscheidungen, Rahmenbedingungen und Trade-offs dahinter.
Case StudyHighlights
- Single-Binary-Architektur UI-Client, ein warmhaltender Daemon und alle Provider kompilieren in ein Binary; Cargo-Features schalten Provider zur Build-Zeit, sodass Source-Installs eine Teilmenge wählen, während der AUR-Build alles mitliefert.
- Wayland-nativ Auf GTK4 und Layer Shell für korrektes Overlay-Verhalten gebaut, mit Fuzzy-Tag-Suche, Frecency-Ranking, Filter-Präfixen und dmenu-kompatiblem Pipe-Modus.