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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.