Vue lecture

Wayland-Wheeltani - L'autoscroll qui survit au débranchement

Lucas, lecteur de Korben.info, m'a écrit pour me montrer Wayland-Wheeltani , son outil qui ramène l'autoscroll au clic molette sous Wayland, et qu'il met à jour depuis ce printemps. C'est un peu dans l'air du temps de ce genre d'outils puisque fin juillet, je vous parlais déjà de midscroll , qui règle le même manque sous Linux. Wayland-Wheeltani vise le même geste, mais avec une idée nouvelle que l'autre n'a pas.

Le geste, donc... Vous le connaissez, on maintient le bouton du milieu, on éloigne la souris du point d'appui, et la page défile dans cette direction. Plus on s'éloigne, plus ça accélère et si on relâche, ça s'arrête net. Et si on repasse de l'autre côté du point de départ, hé bien le défilement s'inverse sur cet axe.

Toutefois, un mouvement minuscule ne déclenche rien, ce qui fait que sous le seuil, le clic molette reste un clic molette, collage de la sélection compris. Et comme le programme déchiffre les mouvements de la souris au niveau du noyau pour réémettre un genre de molette virtuelle, les applications au-dessus n'en savent rien. Pour elles, c'est juste une molette de souris ordinaire.

L'écart sur la méthode de fonctionnement avec Midscroll, c'est que Wayland-Wheeltani ne se lie pas à votre souris par son fichier dans /dev/input, dont le numéro bouge à chaque branchement, mais bien par son identifiant USB constructeur et produit. Le réglage survit ainsi aux redémarrages et aux changements de port, et le service la retrouve seul quand vous la rebranchez. C'est super si par exemple vous utilisez à certains moments un dock externe.

Le filtre par application, lui, existe des deux côtés, mais ne fonctionne pas dans le même sens. Midscroll démarre avec FreeCAD, OrcaSlicer et Minecraft déjà blacklistés alors qu'avec Wayland-Wheeltani, rien n'est filtré au départ, et vous pouvez exclure des applications ou n'en autoriser que quelques-unes grâce à une commande donnant l'identifiant précis de la fenêtre active. Hyprland, Sway et i3 sont ainsi supportés en direct, GNOME avec une extension fournie, KDE avec kdotool. Et l'autoscroll, lui, marche sur toute session Wayland.

Pour le reste, il faut une session Wayland, systemd en mode utilisateur et l'accès à /dev/uinput. L'installation dépose une règle udev visant votre souris, ce qui évite de faire tourner le service en root au quotidien.

Après la limite, vous la connaissez puisqu'elle est dans le nom : Wayland-Wheeltani ne couvre que Wayland, là où midscroll gère aussi X11. Donc si votre session est encore en X11, vous n'aurez pas le choix. Par contre, si elle est en Wayland et que vous passez votre temps à débrancher / rebrancher votre souris et qu'elle change de port sans cesse, c'est celui-ci qu'il vous faut.

  •  

GitWand - Il trie vos conflits Git et vous montre pourquoi

perso, je n'ai jamais été très à l'aise avec Git. Je l'utilise tous les jours, mais c'est vraiment pas ma came. Dès que ça devient trop compliqué, genre conflit de merge qui repeint des dizaines de fichiers en rouge, je ne m'en sors plus ^^.

Heureusement qu'il y a l'IA pour m'aider dans des moments difficiles ! Mais si vous n'aimez pas confier la gestion de vos merges à un LLM en aveugle, je vous invite à découvrir GitWand, développé par Laurent Guitton, qui s'occupe uniquement de la gestion des conflits avec Git et vous laisse gérer le reste.

Gitwand, c'est donc un client Git open source, sous licence MIT, qui classe chaque bloc conflictuel selon des règles fixes et ne résout automatiquement que ceux dont le résultat ne fait aucun doute.

Pour cela, il dispose de plusieurs patterns déterministes :

  • same_change, c'est quand les deux branches ont écrit exactement la même chose.
  • whitespace_only ne voit qu'une indentation qui a bougé,
  • reorder_only les mêmes lignes remises dans un autre ordre.
  • Un numéro de version qui change, lui, tombe dans value_only_change.
  • Et puis il y a complex, le fourre-tout des modifications qui se chevauchent pour de vrai. Celle-là n'est jamais tranchée toute seule.
  • git rerere rejoue les résolutions que vous avez déjà tranchées à la main,
  • et Mergiraf se branche directement dans git merge pour arbitrer en lisant l'arbre syntaxique de votre code.

Ce qui change ici, c'est que chaque décision est justifiée. En effet, chaque bloc reçoit un score de confiance ainsi qu'une trace qui nomme le motif retenu ligne par ligne.

Par exemple, si une branche écrit const theme = 'dark', et l'autre const theme = localStorage.getItem('theme') ?? 'dark', hé bien l'outil garde la seconde, étiquette sa décision prefer-theirs, et affiche 97 % de confiance à côté.

Sur la page d'accueil, l'outil annonce 95 % des conflits triviaux résolus automatiquement. Le moteur est aussi exposé aux agents IA via un serveur MCP, ce protocole qui branche des outils externes sur des assistants comme Claude Code ou Cursor. L'installation se fait comme ceci : claude mcp add gitwand -- npx -y @gitwand/mcp.

L'agent réclame un aperçu, récupère les blocs déjà réglés, et ne garde que les cas ambigus, avec les trois versions du code sous les yeux. Le modèle ne touche qu'à ce qu'aucune règle ne sait faire, soit l'inverse de ce qu'on voit d'habitude.

Le projet est jeune et ça se voit. Mais ça vaut le coup d'essayer parce que je pense que ça peut rendre de nombreux services. L'app existe pour macOS, Linux et Windows, l'interface est traduite en français, et elle se double d'une ligne de commande (npm i -g @gitwand/cli) et d'une extension VS Code.

Si l'interface graphique vous tente, je vous avais montré Gittyup dans le même registre, et pour les irréductibles du terminal j'avais présenté Lazygit .

À vous maintenant de commencer par gitwand resolve --dry-run --verbose pour voir "à blanc" ce qu'il trouve et comment il aurait tranché pour le merge.

Merci à Laurent pour le lien !

Source

  •  
❌