Comment désactiver toutes les animations Unity?

44

Si ce n'est pas possible, alors peut-être uniquement les animations Dash Show / Hide. Je me retrouve tout simplement à attendre des animations inutiles.

Bucic
la source

Réponses:

27

entrez la description de l'image ici

1. Pourquoi vous ne pouvez pas désactiver cette animation Dash dans Unity 12.04

  • Malheureusement, l'animation de fondu / opacité et les temps associés sont codés en dur dans le code source de Unity.
  • Le code réel peut être trouvé dans unity-5.12/plugins/unityshell/src/ShortcutController.cpp(c'est ce que vous devez modifier et recompiler pour vous débarrasser des animations)
  • Quelques exemples de lignes de ce fichier illustrant le codage en dur de l'animation lorsque vous utilisez la touche Super pour lancer le tiret:

    30: const unsigned int SUPER_TAP_DURATION = 650;
    31: const unsigned int FADE_DURATION = 100;
    39:, fade_in_animator_ (FADE_DURATION)
    40:, fade_out_animator_ (FADE_DURATION)
    65: fade_in_animator_.animation_updated.connect (sigc :: mem_fun (this, & Controller :: OnFadeInUpdated));
    66: fade_in_animator_.animation_ended.connect (sigc :: mem_fun (this, & Controller :: OnFadeInEnded));
    67: fade_out_animator_.animation_updated.connect (sigc :: mem_fun (this, & Controller :: OnFadeOutUpdated));
    68: fade_out_animator_.animation_ended.connect (sigc :: mem_fun (this, & Controller :: OnFadeOutEnded));
    120: show_timer_ = g_timeout_add (SUPER_TAP_DURATION, & Controller :: OnShowTimer, this);
    149: self-> fade_out_animator_.Stop ();
    150: self-> fade_in_animator_.Start (self-> view_window _-> GetOpacity ());
    213: fade_in_animator_.Stop ();
    214: fade_out_animator_.Start (1.0 - view_window _-> GetOpacity ());
    244: .add ("timeout_duration", SUPER_TAP_DURATION + FADE_DURATION)
    246: .add ("about_to_show", (Visible () &&! Fade_out_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f))
    247: .add ("about_to_hide", (Visible () &&! Fade_in_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f))
    
  • Bien sûr, vous devrez corriger cela et reconstruire à chaque nouvelle mise à jour de Unity ...

  • Aucune ingérence dans Compiz ne peut changer cela, car tout cela est codé en dur en dehors du plugin Compiz.

2. Alternative A: passer à Ubuntu 2D

Ubuntu 2D a un code Unity Shell différent, et là, lancer le tiret via Super est instantané et n’anime rien.

3. Alternative B: Utilisez un raccourci personnalisé pour lancer le tableau de bord en cliquant sur le logo Ubuntu, en contournant ainsi l'animation

Nous pouvons exploiter le fait que l'animation d'opacité / de fondu ne se produit pas lorsque vous lancez le Dash via le bouton "démarrer", ou, si votre curseur est sur / autour de la barre de lancement, même si vous appuyez sur Super:

entrez la description de l'image ici

L'animation sera retardée jusqu'à ce que votre curseur se déplace réellement dans la zone de tiret.

  1. xdotool permet l’automatisation des clics / mouvements du clavier et de la souris; installez-le avecsudo apt-get install xdotool
  2. Ouvrez Paramètres ... Clavier, puis accédez à l'onglet Raccourcis. Créez un raccourci personnalisé en le nommant comme vous le souhaitez et définissez la "Commande" sur:

    xdotool mousemove --sync 25 60 click 1 --delay 100  mousemove restore
    

    entrez la description de l'image ici

    • Vous devrez peut-être ajuster légèrement les coordonnées (25 à 60) si la résolution de votre écran est inférieure à 1024x768 ou plus.
  3. Cliquez sur Appliquer. La colonne de droite dit "Désactiver", cliquez dessus et vous verrez "Nouvel accélérateur": appuyez sur la touche de raccourci clavier. Vous ne pouvez pas choisir Super , même si vous le désactivez dans Compiz, car il est capturé en dur par Unity. J'ai choisi Ctrl+Alt+Zcar c'est proche de la touche Super.

  4. Votre raccourci devrait maintenant lancer le tableau de bord beaucoup plus rapidement.

    • Voici une vidéo de démonstration sur Youtube . Les premières fois (lorsque le lanceur à gauche s'estompe et s'assombrit) se font avec la touche SUPER; puis son avec le raccourci xdotool personnalisé (notez que le launcher n’anime plus et que le tiret apparaît plus rapidement)
ish
la source
Nan. Je veux dire le Dash. L'équivalent «menu de démarrage» que vous invoquez à l'aide de la touche Super.
Bucic
S'il vous plaît voir la mise à jour, @Bucic ...
ish
2
Merci! La prime est à vous! +1 pour Anwar Shah. J'ai particulièrement aimé l'alternative B :) En ce qui concerne la manipulation du code, je pense que je vais attendre de voir comment il sera traité dans 12.10. Si la situation est la même, il y a clairement un ordre du jour idiot qui prévaut dans l'équipe d'Unity, ce qui leur permet de mettre les fonctionnalités d'accessibilité par défaut dans Unity. C'est la seule explication que je puisse trouver. De toute façon - idiot.
Bucic
1
Il semblerait que Unity 2D et 3D aient été fusionnés? Cela ressemble à une alternative Une méthode ne fonctionne plus à partir de 13.04 (à moins que quelque chose me manque, ce que j'espère être).
Dogmatixed
1
@Supuhstar alors s'il vous plaît partagez votre sagesse sans fin. Parce que je n'ai pas pu.
Kissaki
23

Installez Compiz Configuration Manager.

Centre de logiciel Ubuntu: Compiz Configuration Manager

ou

Terminal: sudo apt-get install compizconfig-settings-manager

Une fois installé, ouvrez-le et allez dans Ubuntu Unity Plugin-> Experimental(Tab)

De là, vous pouvez définir Lauch Animation, Urgent Animationet Dash Blurà «Aucun.

Réglez le Hide Animationsur Slide only.

Si vous le souhaitez, vous pouvez modifier le panneau et la transparence du tiret pour les rendre totalement opaques.

Ángel Araya
la source
Je comprends donc qu'il est impossible de désactiver même l'animation Dash. Seulement 'le réduire'. Tant que nous y sommes, le paramètre «Aucun flou» ne donnera aucun flou, mais le tiret sera transparent, même si le paramètre «Opacité» a été défini sur 255 dans la boîte de dialogue Couleur du tiret.
Bucic
Ángel Araya et Dune: Les gars, vous avez fourni des réponses, mais d'après mes tests, elles ne mènent pas à une animation Dash désactivée. Si vous en êtes certain et que l'échec est de ma part, parlez s'il vous plaît.
Bucic
2
Vous venez de décocher la case "afficher les animations" dans ccsm. Je fais cela depuis des années car je déteste les animations flagrantes.
user72421
Veuillez ajouter une note pour cliquer sur le paramètre "activer le mode graphique faible" dans les paramètres du plug-in Unity, cela semble résoudre un tiret unitaire lent
rubo77
cela a fonctionné pour moi le 14.04 (je peux désactiver le flou, laisser le "flou statique" (qui semble être plus rapide) ou conserver le "flou dynamique" par défaut.
Dimitry K
6

Désolé, tu ne peux pas. À ce stade (25 juillet 2012) avec Ubuntu 12.04 LTS, il n’existe AUCUN moyen simple de désactiver les animations Unity. (au moins sans recompilation).

Et je ne pense pas qu'il y aura une option pour désactiver les animations dans les prochaines versions. L'un des objectifs de Unity est de fournir une expérience utilisateur agréable et les animations sont considérées comme l'un des meilleurs moyens d'y parvenir.

Une solution de contournement:

La solution de contournement possible pour vous est de changer l’animation de tiret en fondu (car, à mon avis, les fondus sont plus rapides que les mouvements glissants). Vous pouvez également être intéressé par la désactivation des animations pour toutes les fenêtres. Pour faire ça,

  1. Télécharger et installer compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. Ouvrez-le en cherchant ou en tapant ccsm au tiret. Allez dans le plugin Unity → onglet Expérimental et modifiez les paramètres de Masquer les animations en fondu uniquement .

Si vous souhaitez désactiver les animations dans toutes les fenêtres, vous pouvez désactiver le plug-in Animations dans ccsm. Si vous souhaitez désactiver le fondu, désactivez les plug - ins Fading windows .

J'espère que cela aidera.


Edit: Comme IZX a montré dans sa réponse éditée Vous voyez clairement que, les options d'animations de tableau de bord sont fixés dans l'unité, et ceux qui ne peuvent être modifiés avec toutes les options de configuration, car les durées ne sont pas variables qui peut être modifiée. Donc, cela signifie que vous devez recompiler l'unité en modifiant ces durées à 0 ms pour désactiver complètement les animations.

Anwar
la source
J'ai essayé tout ce qui était suggéré dans cette question, ainsi que des choses telles que la réduction de certaines valeurs temporelles par un facteur de 0,1 et le manque de résultats semble confirmer ce que vous dites. Si vous pouviez fournir un lien vers au moins une source semi-officielle confirmant votre déclaration (rapport de bogue du tableau de bord, peut-être ...), la prime vous appartient.
Bucic
@Bucic J'ai modifié ma réponse en me référant à la réponse d'izx comme source de confirmation. Voir sa réponse pour plus de détails.
Anwar
2

Pour ajouter aux instructions de Ángel Araya : J'ai pu désactiver toutes les animations en désélectionnant Animationset Fading Windows(essentiellement tout sauf Window Decorationla Effectscatégorie (onglet) dans le gestionnaire de paramètres CompizConfig.

Dune
la source
2
Cela ne désactivait que certaines animations Windows. Le tiret semble encore se faufiler.
Bucic
1
Ángel Araya et Dune: Les gars, vous avez fourni des réponses, mais d'après mes tests, elles ne mènent pas à une animation Dash désactivée. Si vous en êtes certain et que l'échec est de ma part, parlez s'il vous plaît.
Bucic
1

Je pense que désactiver les effets de fading-window dans CompizConfig Settings Manager peut faire toute la différence dans Unity. (Une différence de vitesse subtile, mais toujours une différence.)

Rob
la source