Isso parece ser codificado na fonte Unity. Veja aqui na linha 32:
const unsigned int HIDE_DELAY_TIMEOUT_LENGTH = 400;
A função de ocultar atual está mais abaixo na linha 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));
}
}
Não tenho certeza se há uma maneira de sinalizar o argumento skip_delay
. Você pode arquivar um relatório de erros com a equipe do Unity para ver se você pode fazer com que essa variável seja personalizada. Caso contrário, você pode ter que corrigir e compilar a Unity.