2 points par GN⁺ 22 일 전 | 1 commentaires | Partager sur WhatsApp
  • 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-motion dans les navigateurs web, ce qui entraîne l’effet secondaire de désactiver les animations web
  • 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

 
GN⁺ 22 일 전
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

    • J’ai du mal à croire qu’un bug aussi ancien soit encore là
      Je me demande si les ingénieurs d’Apple utilisent vraiment macOS eux-mêmes
    • Je ne connais pas bien la personnalisation sur Mac, mais sur Android et Linux j’ai désactivé les animations et ça ne m’a absolument rien fait regretter
      Au final, ça ne sert à rien en dehors de l’effet waouh initial
    • Je l’ai remarqué immédiatement quand j’ai utilisé un MacBook 120 Hz pour la première fois en 2021
      C’est étonnant qu’une fonction UI aussi fondamentale ne soit toujours pas corrigée
    • J’avais exactement le même problème
      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
    • J’imagine que ça vient probablement de la méthode de calcul de l’animation avec décélération
      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

    • Le problème, c’est qu’ils ne fournissent même plus de bonnes valeurs par défaut
      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

    • J’utilise aussi Aerospace, et il fonctionne remarquablement bien avec presque aucune configuration
      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
    • Aerospace est vraiment un outil incroyable
    • Avant, j’utilisais beaucoup macOS Spaces, puis on m’a recommandé Aerospace et je suis totalement satisfait depuis le changement
      J’ai aussi envisagé Yabai, mais j’ai laissé tomber à cause des fonctionnalités qui exigent de désactiver le SIP (System Integrity Protection)
    • Avant, ça marchait bien, mais ces derniers temps il perd sans arrêt des fenêtres, au point que je dois le réinitialiser en boucle
  • 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

    • En plus, c’est encore plus lent sur un écran 120 Hz, et le focus d’entrée reste sur l’espace précédent jusqu’à la fin de l’animation
    • Tu vas probablement commencer à voir d’autres problèmes maintenant, donc pour ta santé mentale, le mieux est d’oublier ça
  • 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

    • Je suis passé à Asahi Linux pour la même raison
      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’utilise Asahi Alarm (basé sur Arch) avec Sway
      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

    • Cette fonction me manque énormément aussi
      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

    • C’est encore à un stade précoce de développement, mais la vitesse de correction des bugs est impressionnante
      Quand je dois utiliser macOS, OmniWM le rend beaucoup plus supportable
    • Je n’utilise ni Spaces ni gestionnaire de fenêtres, donc je me demande ce qui m’échappe avec le simple basculement Cmd+Tab
      C’est peut-être une expérience qui change la vie ?
    • Je pensais pareil, mais OmniWM a l’air tellement bien que je vais l’essayer tout de suite