Відповіді:
unity-5.12/plugins/unityshell/src/ShortcutController.cpp
цьому (це те, що вам доведеться змінити та перекомпілювати, щоб позбутися анімації)Деякі приклади рядків цього файлу, що демонструють жорстке кодування анімації, коли ви використовуєте клавішу Super для запуску тире:
30: const без підпису int SUPER_TAP_DURATION = 650; 31: const без підпису 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 (це, & Controller :: OnFadeInUpdated)); 66: fade_in_animator_.animation_ended.connect (sigc: mem_fun (це, та контролер :: OnFadeInEnded)); 67: fade_out_animator_.animation_updated.connect (sigc: mem_fun (це, & Controller :: OnFadeOutUpdated)); 68: fade_out_animator_.animation_ended.connect (sigc: mem_fun (це, та контролер :: OnFadeOutEnded)); 120: show_timer_ = g_timeout_add (SUPER_TAP_DURATION, & Controller :: OnShowTimer, це); 149: само-> 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))
Звичайно, вам доведеться виправити це і відновити з кожним новим оновленням Unity ...
Жодна кількість втручань у Compiz не може змінити це, оскільки все це жорстко закодовано поза плагіном Compiz.
Ubuntu 2D має різний код Unity Shell, і там запуск тире через Super є миттєвим і нічого не оживляє.
Ми можемо використовувати той факт, що анімація непрозорості / згасання не відбувається, коли ви запускаєте тире за допомогою кнопки "Пуск", або, якщо ваш курсор увімкнено / навколо панелі запуску, навіть якщо натиснути Супер:
Анімація буде затримана, поки курсор фактично не переміститься всередину тире.
sudo apt-get install xdotool
Відкрийте Налаштування ... Клавіатура та перейдіть на вкладку Ярлики. Створіть спеціальний ярлик, назвавши його все, що завгодно, і встановіть команду "Command" на:
xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
Клацніть Застосувати. Правий стовпець напише "Вимкнути", натисніть на нього і з'явиться "Новий прискорювач": натисніть комбінацію клавіш швидкого доступу. Ви не можете вибрати Super , навіть якщо ви вимкнете його в Compiz, оскільки він є важким захопленням Unity. Я вибрав, Ctrl+Alt+Z
оскільки це близько до клавіші Super.
Тепер ваш ярлик повинен запустити тире набагато швидше.
Встановіть Compiz Configuration Manager.
Програмний центр Ubuntu: Менеджер конфігурацій Compiz
або
Термінал: sudo apt-get install compizconfig-settings-manager
Після встановлення відкрийте його та дістайтесь до Ubuntu Unity Plugin
-> Experimental
(Tab)
Звідти ви можете встановити Lauch Animation
, Urgent Animation
і Dash Blur
в `Ні.
Встановіть Hide Animation
в Slide only
.
Якщо ви хочете, ви можете змінити панель і зменшити прозорість, щоб бути повністю непрозорою.
Вибачте, ви не можете. На даний момент (25 липня 2012 року) за допомогою Ubuntu 12.04 LTS, НЕ існує простого способу відключення анімації Unity. (принаймні, без рекомпіляції).
І я не думаю, що в наступних випусках буде можливість відключити анімацію. Тому що однією з цілей Unity є надання приємного досвіду користувача, а анімації вважаються одним з найкращих способів цього досягти.
Можливе рішення для вас - це змінити анімацію тире на згасання (тому що, на мою думку, зникнення швидше, ніж ковзання). Ви також можете зацікавити вимкненням анімації для всіх вікон. Зробити це,
Завантажте та встановіть compizconfig-settings-manager
sudo apt-get install compizconfig-settings-manager
Відкрийте його за допомогою пошуку або введення ccsm у тире. Перейдіть на плагін Unity → Експериментальний вкладку та змініть параметри приховати анімацію на Fade Fade .
Якщо ви хочете відключити анімацію у всіх вікнах, ви можете вимкнути плагін Animations у смс. Якщо ви хочете відключити Fading, вимкніть плагіни Fading windows .
Сподіваюсь, це допоможе.
Редагувати: Як показав izx у своїй відредагованій відповіді. Ви чітко бачите, що параметри тире-анімації в Unity є жорстко закодованими, і їх неможливо змінити жодними параметрами конфігурації, оскільки тривалість часу не є змінною, яку можна змінити. Отже, це означає, що ви повинні перекомпілювати єдність, змінивши тривалість часу на 0 мс, щоб повністю вимкнути анімацію.
Для того, щоб додати в інструкції Анхеля ARAYA в : Я був в стані відключити всі анімації, скасувавши Animations
і Fading Windows
( в основному все , крім Window Decoration
під Effects
категорії (табл) в CompizConfig Settings Manager.