From 2c265f361cf1779e592fa5646761a25ae0b5391e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 17 May 2026 17:52:00 +0200 Subject: [PATCH] Even smoother --- bin/omarchy-theme-set | 5 +++++ .../omarchy-shell/plugins/background/Background.qml | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/omarchy-theme-set b/bin/omarchy-theme-set index 346f5a17..3ffcfbaa 100755 --- a/bin/omarchy-theme-set +++ b/bin/omarchy-theme-set @@ -164,6 +164,11 @@ else set_theme_background fi +# The shared staging/current symlinks are updated and the shell has accepted +# the transition. Let another theme selection queue only behind that critical +# section, not behind slower app-retint hooks and selector cache warmups. +flock -u 9 + post_theme_commands=( omarchy-restart-terminal omarchy-restart-hyprctl diff --git a/default/quickshell/omarchy-shell/plugins/background/Background.qml b/default/quickshell/omarchy-shell/plugins/background/Background.qml index cba235b1..b5e2db3d 100644 --- a/default/quickshell/omarchy-shell/plugins/background/Background.qml +++ b/default/quickshell/omarchy-shell/plugins/background/Background.qml @@ -195,11 +195,9 @@ Item { function maybeStartReveal() { if (!root.incomingBackground || root.revealProgress !== 0 || maskReady) return if (incomingFrame.status !== Image.Ready) return - if (root.oldBackground && oldFrame.status !== Image.Ready) return Qt.callLater(function() { if (!root.incomingBackground || root.revealProgress !== 0 || maskReady) return if (incomingFrame.status !== Image.Ready) return - if (root.oldBackground && oldFrame.status !== Image.Ready) return root.startReveal(panel) }) }