Odpowiedzi:
unity-5.12/plugins/unityshell/src/ShortcutController.cpp
(właśnie to trzeba zmodyfikować i ponownie skompilować, aby pozbyć się animacji)Niektóre przykładowe wiersze z tego pliku demonstrujące twarde kodowanie animacji po użyciu klawisza Super do uruchomienia Dash:
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 i kontroler :: 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 („limit czasu”, 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))
Oczywiście musiałbyś to załatać i przebudować przy każdej nowej aktualizacji Unity ...
Żadna ingerencja w Compiz nie może tego zmienić, ponieważ wszystko jest na stałe zakodowane poza wtyczką Compiz.
Ubuntu 2D ma inny kod Unity Shell i tam uruchomienie deski rozdzielczej przez Super jest natychmiastowe i nie animuje niczego.
Możemy wykorzystać fakt, że animacja krycia / zanikania nie występuje po uruchomieniu Dash za pomocą przycisku „start” lub, jeśli kursor znajduje się na pasku uruchamiania, lub wokół niego, nawet po naciśnięciu Super:
Animacja będzie opóźniona, dopóki kursor nie znajdzie się w obszarze deski rozdzielczej.
sudo apt-get install xdotool
Otwórz Ustawienia ... Klawiatura i przejdź do karty Skróty. Utwórz niestandardowy skrót, nadając mu dowolną nazwę i ustaw „Polecenie” na:
xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
Kliknij Zastosuj. W prawej kolumnie pojawi się „Wyłącz”, kliknij na nią, a zobaczysz „Nowy akcelerator”: naciśnij kombinację klawiszy skrótu. Nie możesz wybrać Super , nawet jeśli wyłączysz go w Compiz, ponieważ jest trudny do uchwycenia przez Unity. Wybrałem, Ctrl+Alt+Z
ponieważ jest blisko klucza Super.
Teraz skrót powinien uruchomić Dash znacznie, znacznie szybciej.
Zainstaluj Compiz Configuration Manager.
Centrum oprogramowania Ubuntu: Compiz Configuration Manager
lub
Terminal: sudo apt-get install compizconfig-settings-manager
Po zainstalowaniu otwórz go i przejdź do Ubuntu Unity Plugin
-> Experimental
(Tab)
Stamtąd można ustawić Lauch Animation
, Urgent Animation
a Dash Blur
na `Żaden.
Ustaw Hide Animation
na Slide only
.
Jeśli chcesz, możesz zmienić przezroczystość panelu i kreski, aby były całkowicie nieprzezroczyste.
Przepraszam, nie możesz. W tym momencie (25 lipca 2012 r.) W systemie Ubuntu 12.04 LTS NIE ma łatwego sposobu na wyłączenie animacji Unity. (przynajmniej bez ponownej kompilacji).
I nie sądzę, będzie opcja wyłączenia animacji w przyszłych wydaniach. Ponieważ jednym z celów Unity jest zapewnienie satysfakcji użytkownikom, a animacje są uważane za jeden z najlepszych sposobów na osiągnięcie tego.
Możliwym obejściem problemu jest zmiana animacji kreski na zanikanie (ponieważ, moim zdaniem, zanikanie jest szybsze niż przesuwanie). Możesz także chcieć wyłączyć animacje dla wszystkich okien. Aby to zrobić
Ściągnij i zainstaluj compizconfig-settings-manager
sudo apt-get install compizconfig-settings-manager
Otwórz go, wyszukując lub wpisując ccsm w myślniku. Przejdź do wtyczki Unity → zakładka Eksperyment i zmień ustawienia Ukryj animacje na Tylko zanikanie .
Jeśli chcesz wyłączyć animacje we wszystkich oknach, możesz wyłączyć wtyczkę Animacje w ccsm. Jeśli chcesz wyłączyć Fading, wyłącz wtyczki Fading Windows .
Mam nadzieję, że to pomoże.
Edycja: Jak pokazał izx w zredagowanej odpowiedzi Widać wyraźnie, że opcje animacji myślnika są na stałe zakodowane w Unity i nie można ich zmienić żadnymi opcjami konfiguracji, ponieważ czasy trwania nie są zmienne, które można zmienić. Oznacza to, że musisz ponownie skompilować jedność, zmieniając te czasy trwania na 0 ms, aby całkowicie wyłączyć animacje.
Aby dodać do instrukcji Ángel Araya : udało mi się wyłączyć wszystkie animacje odznaczając Animations
i Fading Windows
(w zasadzie wszystko oprócz Window Decoration
ramach Effects
kategorii (TAB) w CompizConfig Settings Manager.