~/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.

Solo-Engineer · Persönliches Projekt · 2025 - heute

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.
Owlry · Launcher-Fluss

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

UI, Daemon und Provider

AUR-Pakete
15 → 1

In der 2.x-Neuentwicklung zusammengeführt

GTK4-Themes
10

Integrierte Themes mit Lua-Konfiguration

Zugehörige Fallstudie

Die Projektseite beschreibt, was existiert. Die Fallstudie verfolgt die Entscheidungen, Rahmenbedingungen und Trade-offs dahinter.

Case Study

Highlights

  • 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.