Animation de bascule en plein écran sur macOS : différences entre yabai et AeroSpace, et pourquoi c’est si pénible

À ce jour, macOS ne propose toujours pas d’interrupteur clair, fiable et officiellement pris en charge pour désactiver complètement l’animation des Spaces lors du passage entre une « app en plein écran » et le « bureau normal / une fenêtre normale ». Ça peut sembler un détail, mais à la longue c’est vraiment éprouvant : ce n’est pas juste un choix esthétique, c’est le système qui force l’attention de l’utilisateur à passer par une transition non annulable. Pour celles et ceux qui recherchent une faible latence, font souvent Cmd-Tab, se font facilement interrompre par les animations, ou n’ont tout simplement pas envie de les voir, c’est un design franchement absurde. L’utilisateur a déjà activé « Réduire les animations », a clairement dit « je ne veux pas d’animations », et le système s’entête malgré tout à conserver cet effet de transition : cette décision est anti‑utilisateur.

Au 2026-05-06, la dernière version stable affichée sur les pages publiques est macOS Tahoe 26.4.1. Apple propose bien l’option « Réduire les animations », et il existe aussi quelques valeurs par défaut (defaults) qui réduisent les animations des fenêtres, du Dock, du Finder, de Mission Control. Mais la limitation clé, c’est que ces réglages ne font que réduire une partie des effets : ils ne permettent pas de couper totalement l’animation de transition native entre Spaces / apps en plein écran.

La différence de fond entre deux approches

Aujourd’hui, les options réalistes sont surtout yabai et AeroSpace. Mais elles ne traitent pas le problème au même niveau.

L’approche de yabai, c’est de prendre en charge ou de corriger le mécanisme natif fenêtres/Spaces de macOS.

Les capacités « normales » de yabai reposent sur l’API d’accessibilité (Accessibility API), pour gérer les fenêtres, le focus, la disposition, etc. Les capacités Spaces plus profondes dépendaient historiquement surtout d’une scripting addition — en gros, une extension injectée dans Dock.app — afin de contrôler le comportement natif des Spaces. C’est aussi pour ça que yabai a longtemps été associé à la nécessité de « désactiver partiellement le SIP ».

Pour le besoin « pas d’animation quand Cmd-Tab passe d’un bureau normal à une app en plein écran », yabai colle mieux, parce qu’il travaille justement sur le chemin du focus Space natif de macOS. Dans la doc récente de yabai, il y a même une option :

yabai -m config skip_window_focus_animation on

Sa description est explicite : quand une app ou une fenêtre sur un Space inactif reçoit le focus, contourner l’animation de Space de macOS. La doc précise aussi que si tu n’utilises pas la scripting addition, alors tu devrais activer ça ; la scripting addition fournit une capacité similaire, et elle est plus robuste. Autrement dit, si ton objectif central est de garder le plein écran natif, de garder le comportement de Cmd-Tab, mais de supprimer l’animation de bascule, yabai reste l’outil le plus directement aligné avec le problème.

L’approche d’AeroSpace, c’est d’éviter les Spaces natifs de macOS.

AeroSpace n’essaie pas de « patcher » en profondeur les Spaces d’Apple. Il fournit son propre modèle de workspaces : les fenêtres d’un workspace inactif sont déplacées hors de la zone visible, puis restaurées quand on y revient. L’avantage est immédiat : pas besoin de désactiver le SIP, le changement de workspace n’a naturellement pas l’animation Space native, l’ensemble est plus propre et moins susceptible d’être cassé par une mise à jour système.

Mais le coût est tout aussi clair : l’usage recommandé d’AeroSpace consiste à ne garder qu’un seul Space macOS, et à ne plus dépendre fortement du workflow natif Mission Control/Spaces. Si tu continues d’utiliser le plein écran natif via le bouton vert, l’app ira quand même dans le Space plein écran natif de macOS ; et quand Cmd-Tab sautera dessus, tu peux encore déclencher le mécanisme Apple de bascule plein écran/Space. AeroSpace n’est pas là pour réparer ce chemin : il est là pour que tu évites autant que possible d’emprunter ce chemin.

Donc, comment choisir

Si tu tiens à utiliser le plein écran natif de macOS, et que ton principal point de douleur est l’animation quand Cmd-Tab bascule entre apps plein écran et apps normales, alors privilégie yabai. La solution minimale consiste à lancer uniquement yabai et à configurer skip_window_focus_animation on ; tu n’as pas forcément besoin de skhd. skhd est un outil de raccourcis clavier, ce n’est pas la clé pour supprimer l’animation.

Si tu es prêt à abandonner le plein écran natif et à basculer ton workflow vers « fenêtres normales maximisées + tiling/workspace », alors AeroSpace est plus propre. Il contourne le chemin d’animation le plus “incurable” côté Apple, ne demande pas de désactiver le SIP, et coûte moins cher à maintenir à long terme.

Si tu veux seulement réduire les animations système classiques, tu peux utiliser « Réduire les animations » dans les Réglages, plus quelques defaults :

defaults write -g NSAutomaticWindowAnimationsEnabled -bool false
defaults write -g NSScrollAnimationEnabled -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.dock expose-animation-duration -float 0
killall Finder
killall Dock

C’est l’option au coût le plus faible, car il n’y a pas de processus résident. Mais ça ne résout pas complètement l’animation de bascule Space en plein écran native.

Le vrai problème, c’est Apple

Le plus absurde, c’est que les utilisateurs ne demandent pas une fonctionnalité compliquée : ils demandent juste un interrupteur clair :

Quand l’utilisateur active Reduce Motion, ou active séparément « Disable Space transition animations », Cmd-Tab, les clics dans le Dock, Mission Control, et les bascules entre apps plein écran et bureau normal devraient pouvoir se terminer immédiatement, sans forcer la lecture d’une animation.

Ce n’est pas une question de goût, c’est une question de contrôle. Pour une partie des gens, l’animation est esthétique ; pour une autre, c’est de la latence, des distractions, des nausées et une perte d’efficacité. macOS permet d’ajuster une quantité énorme de détails, mais sur une interaction à très haute fréquence, il ne donne pas d’option de désactivation complète — et pousse les utilisateurs à choisir entre yabai, une scripting addition, le SIP, ou un changement complet de workflow. C’est un design très peu raisonnable.

L’idéal devrait être simple : Apple fournit un réglage officiel, stable, sans effets secondaires. L’utilisateur peut conserver le plein écran natif, Cmd-Tab natif, les Spaces natifs, tout en désactivant totalement les animations de transition. Il ne faut pas que « Réduire les animations » soit un compromis flou ; il ne faut pas que des outils tiers portent un contrôle que le système devrait fournir.

Références :