6

The question is, how can I set the launcher auto-hide delay time to 0 ? What I want is for the launcher to instantly disappear when I move the mouse away from it. Please note this is nothing to do with the hide-animation duration, as the animation only begins after a delay. It is this delay setting I need to find. It's very easy to set the reveal delay to zero, but I can't find the hide delay setting.

1 Answer 1

2

This seems to be hard coded into the Unity source. See here on line 32:

const unsigned int HIDE_DELAY_TIMEOUT_LENGTH = 400;

The actual hide function is further down at line 63:

void LauncherHideMachine::SetShouldHide(bool value, bool skip_delay)
{
  if (_should_hide == value)
    return;

  if (value && !skip_delay)
  {
    _hide_delay_timeout.reset(new glib::Timeout(HIDE_DELAY_TIMEOUT_LENGTH));
    _hide_delay_timeout->Run([&] () {
      EnsureHideState(true);
      return false;
    });
  }
  else
  {
    _should_hide = value;

    _hide_changed_emit_idle.reset(new glib::Idle(glib::Source::Priority::DEFAULT));
    _hide_changed_emit_idle->Run(sigc::mem_fun(this, &LauncherHideMachine::EmitShouldHideChanged));
  }
}

I'm not sure if there's a way to flag the skip_delay argument either. You may want to file a bug report with the Unity team to see if you can get them to allow this variable to be customized. Otherwise you may have to patch and compile Unity yourself.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .