- macOS est conçu de sorte qu’il n’est pas possible de désactiver l’animation de changement d’espace, ce qui entraîne une latence perceptible lors de changements fréquents
- Les solutions existantes comme le réglage “Réduire les animations” ou le gestionnaire de fenêtres yabai ont chacune des limites, comme une latence persistante ou la nécessité de désactiver SIP
- InstantSpaceSwitcher contourne ces contraintes en simulant très rapidement un balayage du trackpad pour permettre un changement instantané
- Il fonctionne comme une application native sans désactiver SIP et prend aussi en charge le déplacement vers un numéro d’espace via une CLI
- C’est un outil pratique qui élimine la complexité des outils tiers existants et permet un changement d’espace rapide dans l’environnement natif de macOS
Le problème du changement d’espace sur macOS et les solutions existantes
- macOS est conçu de sorte qu’on ne peut pas désactiver l’animation lors du changement d’espace (Space), ce qui crée une sensation de latence cumulative quand on bascule souvent d’un espace à l’autre
- Apple continue de ne pas donner suite aux demandes de désactivation des animations
- Même si chaque transition est courte, des changements fréquents provoquent une baisse de réactivité perceptible
- La solution généralement proposée est le réglage “Réduire les animations”, mais il remplace l’animation par un fondu (fade-in), ce qui laisse malgré tout une latence
- En outre, ce réglage active la media query
prefers-reduced-motiondans les navigateurs web, ce qui entraîne l’effet secondaire de désactiver les animations web
- En outre, ce réglage active la media query
- La fonction d’instant switcher du gestionnaire de fenêtres en mosaïque yabai exige un patch des binaires du système d’exploitation, ce qui impose de désactiver System Integrity Protection (SIP)
- Utiliser yabai oblige aussi à remplacer le gestionnaire de fenêtres par défaut et n’est pas compatible avec PaperWM.spoon, entre autres
- Les gestionnaires d’espaces virtuels tiers comme FlashSpace ou les virtual workspaces d’AeroSpace sont des implémentations non natives qui imitent la transition en masquant et affichant les fenêtres
- Il existe aussi la possibilité d’utiliser la fonction payante “Move Right/Left Space (Without Animation)” de BetterTouchTool, mais cela suppose l’achat d’une licence payante
InstantSpaceSwitcher — outil natif de changement d’espace instantané
- InstantSpaceSwitcher, développé par jurplel sur GitHub, supprime toutes les limites ci-dessus et permet un changement d’espace instantané
-
Fourni sous la forme d’une application de barre de menus, il fonctionne sans désactiver SIP
- Il permet un changement sans latence en simulant très rapidement un balayage du trackpad
- Il fournit aussi une fonction de déplacement direct vers un numéro d’espace ainsi qu’une interface en ligne de commande (CLI)
- Exemple d’utilisation de la CLI :
.build/release/ISSCli [left|right|index <n>]- La procédure d’installation est la suivante
-
- git clone https://github.com/jurplel/InstantSpaceSwitcher
- cd InstantSpaceSwitcher
- ./build.sh
-
- Après compilation, il peut être exécuté comme une application native
- À l’heure actuelle, le dépôt GitHub n’a qu’une seule étoile (celle de l’auteur lui-même), et l’on espère que davantage d’utilisateurs découvriront et utiliseront cet outil
-
Références supplémentaires
- instantspaces était une tentative d’extraire l’instant switcher de yabai, mais ne fonctionne pas sur macOS Tahoe
- Malgré plusieurs essais, cela a échoué, et InstantSpaceSwitcher fonctionne de manière plus stable
- Si d’autres utilisateurs ont réussi, leurs retours sont demandés
1 commentaires
Commentaires sur Hacker News
Depuis l’enfance, j’étais habitué à cette animation de changement d’espace, donc je ne la trouvais pas gênante
Mais après avoir acheté un nouveau MacBook, j’ai remarqué que les raccourcis clavier allaient plus vite que le changement de focus du système, ce qui faisait régulièrement tout se mélanger
En cherchant, j’ai découvert que ce n’était pas mon habitude musculaire qui me trompait : sur les Mac récents avec écran 120 Hz, l’animation est réellement devenue plus lente
Si on repasse l’écran en 60 Hz, on retrouve l’ancienne vitesse
Je me demande pourquoi ce changement est apparu, et surtout pourquoi une entreprise valorisée à 3,82 billions de dollars ne l’a toujours pas corrigé après 5 ans
On peut aussi voir des discussions à ce sujet sur le forum Apple et dans cette vidéo YouTube
Je me demande si les ingénieurs d’Apple utilisent vraiment macOS eux-mêmes
Au final, ça ne sert à rien en dehors de l’effet waouh initial
C’est étonnant qu’une fonction UI aussi fondamentale ne soit toujours pas corrigée
Les frappes partaient dans la mauvaise fenêtre pendant le changement d’espace, ce qui était très frustrant, et je découvre seulement maintenant que ça venait du nouveau MacBook
Quel soulagement
Un peu comme dans les jeux sans limite de framerate, où le mouvement change selon la fréquence d’images
Je pense qu’Apple commet une erreur vraiment grave
Microsoft aussi d’ailleurs
Il faut concevoir de bonnes interfaces et des valeurs par défaut raisonnables, mais sans enfermer les power users
Les power users sont peu nombreux, mais ils jouent un rôle central pour faire évoluer le langage de design, repérer les bugs et animer la communauté
Pourtant, Apple et Microsoft ferment leurs écosystèmes au nom du contrôle accru
Résultat, l’expérience devient de plus en plus frustrante pour les utilisateurs
C’est aussi pour ça que la popularité de Linux remonte : il offre un contrôle total tout en ayant beaucoup moins de friction à l’entrée
L’Apple d’autrefois gérait bien cet équilibre, alors qu’aujourd’hui cela ressemble surtout à une obsession du contrôle
Un mauvais design ne disparaît pas facilement et peut rester pendant des décennies
Le temps perdu dans les animations nuit à tout le monde, pas seulement aux power users
Puisqu’on parle de yabai, je recommande vraiment d’essayer Aerospace
J’ai utilisé plusieurs WM, et c’est de loin le plus stable
Aerospace GitHub
Les réglages par défaut sont bons, donc je n’y ai pratiquement pas touché depuis des années
Cela dit, je ne suis pas un power user des WM en mosaïque
J’ai aussi envisagé Yabai, mais j’ai laissé tomber à cause des fonctionnalités qui exigent de désactiver le SIP (System Integrity Protection)
Je suis passé récemment sur macOS pour le travail, et franchement, ce n’est pas le sommet de l’ingénierie
J’ai l’habitude d’un bureau Linux configuré par mes soins, donc macOS me paraît lent, difficile à régler et peu adapté au clavier
Je ne m’en rendais pas compte jusqu’à il y a un instant, mais maintenant je réalise à quel point l’animation de changement d’espace de macOS est agaçante
C’est à cause de ce bug de macOS que je suis passé à Fedora Asahi Remix
Asahi Remix est basé sur Gnome et la gestion des fenêtres y est bien plus rationnelle
La vidéo du bug est ici
J’utilise des Mac depuis l’époque de System 6 au début des années 90, mais maintenant je ne sais même plus si j’achèterai mon prochain matériel chez Apple
J’ai basculé juste après que macOS a forcé une mise à jour contre mon gré
L’idée de composer des balayages rapides pour supprimer l’animation de transition est tout simplement géniale
C’est un peu lié, mais après un redémarrage, quand Finder restaure plusieurs onglets,
cliquer sur un onglet peut faire sauter brutalement la fenêtre vers un autre espace
On dirait qu’il pense que les onglets d’une même fenêtre appartiennent à des espaces différents
Les bugs des logiciels Apple récents ne ressemblent plus à de simples cas limites : ils semblent venir d’une structure de modélisation erronée
Ce hack de changement d’espace est sympa lui aussi, mais j’aimerais encore plus qu’il existe un moyen de faire revivre la grille 2D des Spaces de l’ancien OS X 10.5/10.6
Le design linéaire depuis 10.7 est beaucoup trop simpliste
Après être passé de macOS à KDE, j’ai retrouvé une grille 3x3 de bureaux virtuels, et c’est vraiment confortable
On peut attribuer chaque bureau à un usage précis et configurer librement les animations de transition avec fondu, glissement, vitesse ajustable, etc.
Cette souplesse de configuration est vraiment l’un des grands atouts de KDE
Après m’être habitué sous Linux à des options comme Hyperland et Niri, j’essaie récemment OmniWM
Quand je dois utiliser macOS, OmniWM le rend beaucoup plus supportable
C’est peut-être une expérience qui change la vie ?