如何设置启动器隐藏延迟时间?

ast*_*nix 6 unity launcher

问题是,如何将启动器自动隐藏延迟时间设置为 0 ?我想要的是当我将鼠标移开时启动器立即消失。请注意,这与隐藏动画持续时间无关,因为动画仅在延迟后开始。这是我需要找到的延迟设置。将显示延迟设置为零非常容易,但是我找不到隐藏延迟设置。

Ian*_* B. 2

这似乎被硬编码到 Unity 源代码中。请参见32 行:

const unsigned int HIDE_DELAY_TIMEOUT_LENGTH = 400;
Run Code Online (Sandbox Code Playgroud)

实际的隐藏函数位于第 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));
  }
}
Run Code Online (Sandbox Code Playgroud)

我也不确定是否有办法标记该skip_delay争论。您可能需要向 Unity 团队提交错误报告,看看是否可以让他们允许自定义此变量。否则你可能需要自己修补和编译 Unity。