Nudge the bar over IPC when toggling visibility
The shell notices the bar-off flag through a FileView watch on the toggles directory, and that watch can permanently stop delivering events after flag changes land in quick succession — the bar then stays parked off screen until the shell restarts. Have omarchy-toggle-bar nudge the bar's probe over IPC after flipping the flag, so the toggle no longer depends on the watch staying alive. The watch remains for other writers of the flag.
This commit is contained in:
@@ -5,3 +5,9 @@
|
||||
# omarchy:examples=omarchy toggle bar | omarchy toggle bar off | omarchy toggle bar on
|
||||
|
||||
omarchy-toggle bar-off "${1:-toggle}"
|
||||
|
||||
# The shell's watch on the toggles directory can miss flag changes that land in
|
||||
# quick succession, stranding the bar off screen until the shell restarts.
|
||||
# Nudge the bar to re-read the flag; quiet best-effort so the toggle still
|
||||
# works when the shell is not up.
|
||||
omarchy-shell -q omarchy.bar syncHidden
|
||||
|
||||
@@ -948,6 +948,21 @@ Item {
|
||||
onFileChanged: barHiddenProbe.running = true
|
||||
}
|
||||
|
||||
// The directory watch can permanently stop delivering events after flag
|
||||
// changes land in quick succession, stranding the bar off screen until the
|
||||
// shell restarts. `omarchy-toggle-bar` nudges this after flipping the flag
|
||||
// so the probe re-reads it even when the watch has gone quiet.
|
||||
IpcHandler {
|
||||
target: "omarchy.bar"
|
||||
|
||||
// Start rather than restart: a probe already in flight was launched by the
|
||||
// directory watch after the flag flipped, so its answer is current, and
|
||||
// killing it here can swallow the result entirely.
|
||||
function syncHidden(): void {
|
||||
barHiddenProbe.running = true
|
||||
}
|
||||
}
|
||||
|
||||
Variants {
|
||||
model: Quickshell.screens
|
||||
|
||||
|
||||
Reference in New Issue
Block a user