If it's not possible then maybe just the Dash show/hide animations. I simply find myself waiting for animations which is pointless.
unity-5.12/plugins/unityshell/src/ShortcutController.cpp
(this is what you would have to modify and recompile to get rid of the animations)Some sample lines from this file demonstrating the hard-coding of the animation when you use the Super key to launch the 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))
Of course, you would have to patch this and rebuild with every new Unity update...
No amount of meddling with Compiz can change this because all of it is hard-coded outside of the Compiz plugin.
Ubuntu 2D has different Unity Shell code, and there, launching the dash via Super is instantaneous and does not animate anything.
We can exploit the fact that the opacity/fade animation does not happen when you launch the Dash via the "start" button, or, if your cursor is on/around the launcher bar, even if you press Super:
The animation will be delayed until your cursor actually moves inside the dash area.
sudo apt-get install xdotool
Open Settings...Keyboard, and go to the Shortcuts tab. Create a custom shortcut, naming it whatever you want, and set the "Command" to:
xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
Click Apply. The right-column will say "Disable", click on it and you'll see "New Accelerator": press your shortcut key combo. You cannot choose Super, even if you disable it in Compiz, because it is hard-captured by Unity. I chose Ctrl+Alt+Z
since it's close to the Super key.
Now your shortcut should launch the Dash much, much faster.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments