URL:     https://linuxfr.org/users/kwisatz/journaux/wlr-utils-je-voulais-juste-un-selecteur-de-fenetres-je-me-suis-retrouve-avec-une-suite-de-capture-pour-wayland
Title:   wlr-utils : je voulais juste un sélecteur de fenêtres, je me suis retrouvé avec une suite de capture pour Wayland
Authors: kwisatz
Date:    2026-06-25T23:07:49+02:00
License: CC By-SA
Tags:    sway, annotations, claude, wayland, wlroots, rust et capture_vidéo
Score:   19


Bonjour LinuxFr,

C'est un peu ma première sortie publique, alors soyez indulgents. 🙂

Au départ, je voulais juste un sélecteur de fenêtres correct pour les outils de videoconf sous Wayland — aucune solution existante ne me convenait vraiment. J'ai donc commencé à écrire wlr-chooser… et je me suis _un peu_ laissé embarquer. C'est devenu **wlr-utils**, une petite suite de cinq outils pour compositeurs wlroots, partageant tous le même moteur de capture.

![wlr-draw — annoter en direct sur l'écran](https://raw.githubusercontent.com/sjourdois/wlr-utils/main/docs/assets/wlr-draw/annotate.gif)

Voilà ce qu'il y a dans la boîte :

- **wlr-chooser** / **wlr-switcher** — sélecteur de fenêtres/écran (xdg-desktop-portal-wlr), et un switcher Alt-Tab/exposé avec aperçus en direct (bande façon macOS, grille plein écran ou carte)
- **wlr-peek** — inspecter l'écran : pipette + loupe, OCR, miroir PiP en direct (fenêtre ou région), surveillance de zone (watch), et « visual grep »
- **wlr-shot** — captures (zone/fenêtre/écran, vers le presse-papiers) + enregistrement (H.264, GIF/WebP animé, son système, timelapse ; NVENC/VAAPI/libx264)
- **wlr-draw** — dessiner et annoter en direct sur l'écran, façon gromit-mpx : main levée, formes, flèches, texte, spotlight de présentation, freeze-frame
- **wlr-capture** — la bibliothèque partagée : le moteur de capture wlroots

![wlr-switcher — Alt-Tab / exposé avec aperçus en direct](https://raw.githubusercontent.com/sjourdois/wlr-utils/main/docs/assets/wlr-switcher/expose.gif)

Sous le capot, tout repose sur une capture GPU zero-copy pleine résolution (ext-image-copy-capture-v1, import dma-buf directement dans un rendu egui/EGL, avec repli CPU shm). Ça voit les fenêtres masquées et hors espace de travail, sans XWayland. Le tout en Rust, thémable, et traduit en 13 langues.

L'idée n'est surtout pas de remplacer les excellents outils qu'on utilise déjà — grim/slurp, wf-recorder, satty, gromit-mpx… — ils m'ont au contraire servi d'inspiration. C'est juste une option de plus sur la pile, née d'une envie de gratter là où ça me démangeait. Et j'aimerais beaucoup savoir comment ça se comporte ailleurs que sur mes machines : ça vise Sway en priorité, mais Hyprland et niri devraient fonctionner, et une commande wlr-peek doctor vérifie votre compositeur.

Bref, c'est jeune et les beta-testeurs comme les retours sont très bienvenus — rapports de bugs, « c'est bizarre sous niri », traductions, idées, tout est utile.

- Vitrine (avec des GIFs) : https://sjourdois.github.io/wlr-utils/
- Dépôt : https://github.com/sjourdois/wlr-utils
- Installation : cargo install wlr-chooser wlr-peek wlr-shot wlr-draw (chaque outil est sa propre crate), ou des binaires / paquets .deb sont attachés à chaque release

Merci d'avoir jeté un œil. 🦀
