Ответы:
unity-5.12/plugins/unityshell/src/ShortcutController.cpp
(это то, что вам придется изменить и перекомпилировать, чтобы избавиться от анимации)Некоторые примеры строк из этого файла демонстрируют жесткое кодирование анимации при использовании клавиши Super для запуска 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, & 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))
Конечно, вам придется исправлять это и перестраивать с каждым новым обновлением Unity ...
Никакое вмешательство в Compiz не может изменить это, потому что все это жестко запрограммировано вне плагина Compiz.
Ubuntu 2D имеет другой код Unity Shell, и там запуск тире через Super происходит мгновенно и ничего не оживляет.
Мы можем использовать тот факт, что анимация непрозрачности / затухания не происходит, когда вы запускаете Dash с помощью кнопки «Пуск», или, если ваш курсор находится на / вокруг панели запуска, даже если вы нажимаете Super:
Анимация будет задерживаться до тех пор, пока ваш курсор на самом деле не переместится в область штрихов.
sudo apt-get install xdotool
Откройте Настройки ... Клавиатура и перейдите на вкладку Ярлыки. Создайте пользовательский ярлык, назвав его как хотите, и установите для «Command» значение:
xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
Нажмите Применить. В правом столбце будет написано «Отключить», нажмите на него, и вы увидите «Новый ускоритель»: нажмите комбинацию клавиш. Вы не можете выбрать Super , даже если вы отключите его в Compiz, потому что он жестко захвачен Unity. Я выбрал, Ctrl+Alt+Z
так как это близко к супер ключу.
Теперь ваш ярлык должен запустить Dash намного, намного быстрее.
Установите Compiz Configuration Manager.
Центр программного обеспечения Ubuntu: Compiz Configuration Manager
или
Терминал: sudo apt-get install compizconfig-settings-manager
После установки откройте его и получите Ubuntu Unity Plugin
-> Experimental
(вкладка)
Оттуда вы можете установить 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 .
Если вы хотите отключить анимацию во всех окнах, вы можете отключить плагин Animations в ccsm. Если вы хотите отключить Fading, отключите плагины окон Fading .
Надеюсь, это поможет.
Редактировать: как izx показал в его отредактированном ответе. Вы ясно видите, что опции анимации тире жестко закодированы в Unity, и их нельзя изменить никакими параметрами конфигурации, потому что эти временные интервалы не являются переменными, которые могут быть изменены. Таким образом, это означает, что вам нужно перекомпилировать единицы, изменив эти значения времени на 0 мс, чтобы полностью отключить анимацию.
Для того, чтобы добавить в инструкции Анхеля ARAYA в : Я был в состоянии отключить все анимации, отменив Animations
и Fading Windows
( в основном все , кроме Window Decoration
под Effects
категории (табл) в CompizConfig Settings Manager.
Я думаю, что отключение исчезающих окон под эффектами в CompizConfig Settings Manager может иметь значение в Unity. (Небольшая разница в скорости, но все же разница.)