quickshell: cancel pending hide when reviving a closing dropdown
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
ab6f5d5dc8
commit
0878cba10d
1 changed files with 11 additions and 2 deletions
|
|
@ -508,8 +508,7 @@ in
|
|||
}
|
||||
if (setupFn) setupFn();
|
||||
if (dd.closing) {
|
||||
dd.closing = false;
|
||||
dd.open = true;
|
||||
dd.revive();
|
||||
} else {
|
||||
dd.visible = true;
|
||||
}
|
||||
|
|
@ -1015,6 +1014,16 @@ in
|
|||
if (visible && !closing) _autoClose.restart();
|
||||
}
|
||||
|
||||
// Reopen a dropdown that's mid-close: the pending hide
|
||||
// timer must be cancelled, otherwise it fires later and
|
||||
// closes the revived dropdown (and the whole chrome).
|
||||
function revive() {
|
||||
_closeDelay.stop();
|
||||
closing = false;
|
||||
open = true;
|
||||
_autoClose.restart();
|
||||
}
|
||||
|
||||
x: Math.round(Math.min(bar.width - width, Math.max(0, dropdownX - width / 2)))
|
||||
y: 30
|
||||
width: fullWidth + 16
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue