Wofi
2023-07-13
Wofi est un lanceur pour l'environnement Wayland basé sur `wlroots`[1]. Bien qu'officiellement non-maintenu, le dépôt continu d'être alimenté en patchs à ce jour.
Après m'être rapidement essayé a dmenu, j'ai choisi un de migrer vers une solution native à Wayland.
Généralités
Wofi s'inspire directement de Rofi, et prend la forme d'une fenêtre flottante contenant un champ de recherche.
Trois modes sont par ailleurs disponibles :
- drun : liste de fichiers desktop dans $XDG_DATA_HOME/applications et $XDG_DATA_DIRS/applications, classés par fréquence d'utilisation ;
- run : liste des fichiers installés dans $PATH, l'équivalent d'un terminal ;
- dmenu.
Simple dans l'idée, le programme offre une grande capacité de personnalisation puisque prend en charge le CSS.
Sac de nœud
Pour la personne lambda que je suis Linux est un sac de nœuds, la structure de Wofi n'y fait pas exception. Si la théorie voudrait que les fichiers soient accessible par n'importe quel programme, cela serait à priori un vrai cauchemar sur le plan de la sécurité. Les différents modes de Wofi cherchent les fichiers dans les chemins indiqués via des variables d'environnement, nécessitant que ces derniers existent, et là encore des subtilités dans l'ordre d'initialisation existent[2].
En plus des paquets Debian, j'utilise également des paquets sous d'autres formats dont AppImage. Il serait appréciable de pouvoir les lancer via Wofi plutôt que de passer par le terminal avec la commande `setsid`. Bien que mes fichiers AppImage aient des raccourcis Desktop, ces applications n'apparaissent pas en mode drun mais uniquement run. Après vérification (ex : `echo $XDG_DATA_DIRS`) les chemins pour drun ne semblent pas exister ce qui (selon la documentation) utilise par défaut `~/.local/share` et `/usr/local/share:/usr/share` : j'ai ainsi créé les fichiers desktop correspondant dans le répertoire `~/.local/share/applications`, dirigeant vers les programmes mêmes dans un répertoire tiers.
Personnalisation
Lorsque appelé, Wofi recherche trois fichiers de configuration, optionnels :
- config, par défaut dans `$XDG_CONFIG_HOME/wofi/` ;
- style, par défaut dans `$XDG_CONFIG_HOME/` ;
- colors, par défaut dans `$XDG_CACHE_HOME/wal' qui est le cache d'un programme permettant de générer une palette à partir du fond d'écran.
Par défaut, ce seront les répertoires `~/.config/` et `~/.cache/` qui sont utilisés.
Parmi les options utilisées dans ma configuration :
- insensitive m'épargne les majuscules ;
- prompt="" laisse le champ vide au lancement ;
- cache-file=/dev/null supprime la fonction d'ordre par fréquence d'usage.
Les couleurs sont à priori liées à mon thème[3], je n'y ai pas touché. Idem pour le CSS, l'apparence par défaut me convenant. Ce qui n'est à priori pas le cas pour tout le monde, par chance il existe une petite dizaine d'alternatives[4].