1. Почему вы не можете отключить эту анимацию Dash в Unity 12.04
К сожалению, анимация затухания / непрозрачности и связанное время жестко закодированы в исходном коде Unity. Фактический код можно найти в 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. 2. Альтернатива A: Переключиться на Ubuntu 2D
Ubuntu 2D имеет другой код оболочки Unity, и там запуск тире через Super мгновенно и ничего не оживляет.
3. Альтернатива B: используйте специальный ярлык для запуска Dash, нажав на логотип Ubuntu, минуя анимацию
. Мы можем использовать тот факт, что анимация непрозрачности / затухания не возникает, когда вы запускаете Dash через кнопка «начать» или, если ваш курсор включен / находится на панели запуска, даже если вы нажмете Super:
Анимация будет отложена пока ваш курсор не перемещается внутри области тире.
xdotool позволяет автоматизировать щелчки и движения клавиатуры и мыши; установите его с помощью sudo apt-get install xdotool Откройте «Настройки» ... «Клавиатура» и перейдите на вкладку «Ярлыки». Создайте собственный ярлык, назовите его, как хотите, и установите «Command» в: xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
Вам может потребоваться немного настроить координаты (25 60), если ваше разрешение экрана меньше 1024x768 или около того. Нажмите «Применить». В правой колонке будет указано «Отключить», нажмите на нее, и вы увидите «Новый ускоритель»: нажмите комбинацию клавиш быстрого доступа. Вы не можете выбрать Super, даже если вы отключите его в Compiz, потому что его трудно захватить Unity. Я выбрал Ctrl+Alt+Z, так как он близок к клавише Super. Теперь ваш ярлык должен запустить Dash намного быстрее. Вот видео-демонстрация Youtube. Первые несколько раз (когда пусковая установка слева размывается и затемняется) с клавишей SUPER; затем его с помощью специального ярлыка xdotool (обратите внимание, что панель запуска больше не анимируется, а тире появляется быстрее)
задан jokerdino
5 October 2012 в 14:09
поделиться