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

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

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

答案1

这似乎是 Unity 源代码中的硬编码。请参阅这里在第 32 行:

const unsigned int HIDE_DELAY_TIMEOUT_LENGTH = 400;

实际的隐藏函数位于第 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));
  }
}

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

相关内容