45

If it's not possible then maybe just the Dash show/hide animations. I simply find myself waiting for animations which is pointless.

Bucic
  • 4,044

6 Answers6

26

enter image description here

1. Why you cannot disable this Dash animation in Unity 12.04

  • Unfortunately, the fade/opacity animation and associated times are hard-coded in the Unity source code.
  • The actual code may be found in 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.

2. Alternative A: Switch to Ubuntu 2D

Ubuntu 2D has different Unity Shell code, and there, launching the dash via Super is instantaneous and does not animate anything.

3. Alternative B: Use a custom shortcut to launch the Dash by clicking on the Ubuntu Logo, thus bypassing the animation

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:

enter image description here

The animation will be delayed until your cursor actually moves inside the dash area.

  1. xdotool allows automation of keyboard and mouse clicks/movements; install it with sudo apt-get install xdotool
  2. 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
    

    enter image description here

    • You may need to adjust the coordinates (25 60) a little if your screen resolution is below 1024x768 or so.
  3. 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.

  4. Now your shortcut should launch the Dash much, much faster.

    • Here's a Youtube video demo. The first few times (when the launcher on the left blurs and darkens) is with the SUPER key; then its with the custom xdotool shortcut (notice the launcher no longer animates and the dash appears faster)
ish
  • 139,926
  • Nope. I mean the Dash. The 'start menu' equivalent you invoke using Super key. – Bucic Jul 29 '12 at 20:14
  • Please see update, @Bucic... – ish Jul 30 '12 at 03:11
  • 2
    Thank you! The bounty is yours! +1 for Anwar Shah. I particularly liked the alternative B :) As for fiddling with the code - I think I'll wait to see how it is going to be handled in 12.10. If the same then there's clearly some idiotic agenda prevailing in the Unity team which makes them put accessibility features as default in Unity. That's the only explanation I could come up with. Either way - idiotic. – Bucic Jul 30 '12 at 09:16
  • @Bucic: Thanks! Unfortunately, the idea with Unity is to "unify" the interface, which means making it less customizable. This is only one of the many little problems people have had... and I doubt they are going to loosen their grip :( – ish Jul 30 '12 at 09:19
  • @izx I'm willing to accept unification with some quirks. But this is not just a quirk. This is pathetic. I think I could rename a folder in the time it takes the Dash animation to finish. And it's the most often used element! If this won't change in 12.10 I'll be definitely filing a bug report on Launchpad. I can't seem to register to ubuntu brainstorm (is it still live, BTW?) so I think it's the only place for my report. – Bucic Jul 30 '12 at 12:54
  • Bug: Dash invoked by Super Key twice as slow to show https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1080276 – Bucic Nov 26 '12 at 20:17
  • 1
    It looks like Unity 2D and 3D have been merged? It looks like alternative A method no longer works on 13.04 and up (unless I'm missing something, which I hope I am). – Dogmatixed Nov 04 '13 at 15:17
  • Impressive answer! – eggonlegs Feb 21 '14 at 02:03
  • -1 I was able to remove all animations with CompizConfig – Ky - Mar 24 '14 at 01:10
  • @Bucic indeed, Unity 2D has been dropped in favor of the one Unity. The packages that are still provided are only there for backwards compatibility, and just point to the standard Unity. – Kissaki Jul 26 '14 at 17:15
  • 1
    @Supuhstar then please share your endless wisdom. Because I was not able to. – Kissaki Jul 26 '14 at 17:16
  • @Kissaki I just went through each and every page of CompizConfig and made sure everything related to animations was disabled or set to 0 time – Ky - Jul 28 '14 at 04:28
  • "Switch to Ubuntu 2D" ... How? – endolith Jan 20 '17 at 03:39
23

Install Compiz Configuration Manager.

Ubuntu Software Center: Compiz Configuration Manager

or

Terminal: sudo apt-get install compizconfig-settings-manager

Once installed open it and got to Ubuntu Unity Plugin -> Experimental(Tab)

From there you can set Lauch Animation, Urgent Animation and Dash Blur to `None.

Set the Hide Animation to Slide only.

If you want, you can change the panel and dash transparency to be full opaque.

Ángel Araya
  • 1,542
  • So I get that it's impossible to disable even just the Dash animation. Only 'reduce it'. While we're at it, setting 'No blur' will give no blur but the Dash will be transparent, even though the 'Opacity' parameter has been set to 255 in the Dash color dialogue. – Bucic May 18 '12 at 08:57
  • To Ángel Araya and Dune: Guys, you provided answers but from my tests they don't lead to disabled Dash animation. If you're confident they do and failure is on my part, please speak up. – Bucic Jul 25 '12 at 11:11
  • 2
    You just unclick the "show animations" checkbox in ccsm. I have done this for years as I hate egregious animations. – user72421 Jul 26 '12 at 17:31
  • Please add a note to click on the setting "enable low graphics mode" in the Unity Plugin settings, this seems to solve a slow unity dash – rubo77 Oct 25 '15 at 09:10
  • this worked for me on 14.04 (i can disable blur, leave "static blur" (which seems to be faster) or keep default "dynamic blur". – Dimitry K Jan 14 '16 at 07:44
6

Sorry, You can't. At this point (25th July, 2012) with Ubuntu 12.04 LTS, There is NO easy way to disable Unity animations. (at least without recompilation).

And I don't think, there will be an option to disable animations in future releases. Because, One of the goal of Unity is to provide pleasing user experience and animations are considered one of the best way to achieve that.

A workaround:

The possible workaround for you is changing the dash animation to fade (cause, In my opinion, fades are quicker than sliding). You may also interested in disabling the animations for all windows also. To do this,

  1. Download and install compizconfig-settings-manager

     sudo apt-get install compizconfig-settings-manager  
    
  2. Open it by searching or typing ccsm in dash. Go to Unity pluginExperimental tab and change the settings for Hide animations to Fade only.

If you want to disable the animations in all window, you can disable the Animations plugin in ccsm. If you want to disable Fading, disable the Fading windows plugins.

Hope this will help.


Edit: As izx showed in his edited answer You clearly see that, the options of dash animations are hard coded in the Unity, and those cannot be changed with any configuration options, because those time durations aren't variable which can be changed. So, this means, You have to recompile unity by changing those time durations to 0 ms to completely disable the animations.

Anwar
  • 76,649
  • I tried everything suggested in this question plus things like cutting some timing values by factor of 0.1 and the lack of results seems to confirm what you're saying. If you could please provide a link to some at least semi-official source that confirms your statement (launchpad bug report maybe...) the bounty is yours. – Bucic Jul 29 '12 at 20:21
  • @Bucic I have edited my answer pointing to izx's answer as a source of confirmation. See his answer for details. – Anwar Jul 30 '12 at 03:39
2

To add to Ángel Araya's instructions: I was able to disable all animations by deselecting Animations and Fading Windows (basically everything except Window Decoration under the Effects category (tab) in CompizConfig Settings Manager.

Dune
  • 677
  • 2
    This disabled only some windows animations. The dash still seems to fade in and out. – Bucic Jun 23 '12 at 08:05
  • 1
    To Ángel Araya and Dune: Guys, you provided answers but from my tests they don't lead to disabled Dash animation. If you're confident they do and failure is on my part, please speak up. – Bucic Jul 25 '12 at 11:11
1

I think turning off fading-windows under effects in CompizConfig Settings Manager can make a difference in Unity. (A subtle difference in speed, but still a difference.)

Rob
  • 21
0

install tweaks

sudo apt install gnome-tweak-tool

launch it gnome-tweaks or just search for tweaks

then hit General -> Animations -> turn it off