From 2c593dbbaad67698e7b9b0809d082d86540a7a1c Mon Sep 17 00:00:00 2001 From: Omarchybot Date: Sat, 22 Aug 2026 15:02:12 +0200 Subject: [PATCH] Switch back to the packaged quickshell now that 0.3.1 kills synchronously (#7769) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Switch back to the packaged quickshell now that 0.3.1 kills synchronously Omarchy shipped the quickshell-git build for a single fix: 0.3.0's `kill` returned before the instance had exited, so the kill loop in omarchy-restart-shell could race a dying shell. Upstream 0.3.1 ships that fix, which makes extra/quickshell the better package to be on again — signed, versioned, and not rebuilt from a moving branch on every update. The migration swaps unconditionally instead of first checking which version the mirror offers. A machine left holding quickshell-git while the shipped package list names quickshell has no way to reconcile the two: omarchy-reinstall-pkgs installs that list with --needed, which does not skip a name that is not installed, and the conflict it then walks into has no answer under --noconfirm. A mirror that is briefly behind installs 0.3.0 instead and the next upgrade carries it to 0.3.1, which is much the cheaper way to be wrong. 🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh. Co-Authored-By: Codex XHigh * Drop the quickshell version note from the shell restart loop The comment qualified the kill loop as needing 0.3.1 or newer, but omarchy-restart-shell ships in the same package upgrade that brings quickshell along, so a machine running this code already has the version the loop depends on. The caveat could never be false where it was read, which left it as version archaeology rather than something the code could not say for itself. 🤖 Generated by Opus 5 in Claude Code. --------- Co-authored-by: Codex XHigh --- bin/omarchy-restart-shell | 1 - install/omarchy-base.packages | 2 +- migrations/1787399318.sh | 9 +++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 migrations/1787399318.sh diff --git a/bin/omarchy-restart-shell b/bin/omarchy-restart-shell index 8211a1e6..dfc21724 100755 --- a/bin/omarchy-restart-shell +++ b/bin/omarchy-restart-shell @@ -63,7 +63,6 @@ relock_session() { # Each kill stops the oldest matching instance and only returns once it has # fully exited, so the no-duplicate launch below can't race a dying shell. -# Requires our quickshell-git build; 0.3.0's kill returns immediately. while timeout 5 quickshell kill -p "$CONFIG_DIR" --any-display >/dev/null 2>&1; do :; done # Spawn from Hyprland so the shell inherits the canonical session environment, diff --git a/install/omarchy-base.packages b/install/omarchy-base.packages index 1c01081e..4097b645 100644 --- a/install/omarchy-base.packages +++ b/install/omarchy-base.packages @@ -109,7 +109,7 @@ ttfx qemu-user-static-binfmt qrencode qt6-imageformats -quickshell-git +quickshell ripgrep ruby tensaku diff --git a/migrations/1787399318.sh b/migrations/1787399318.sh new file mode 100644 index 00000000..fc7f120c --- /dev/null +++ b/migrations/1787399318.sh @@ -0,0 +1,9 @@ +echo "Switch back to the packaged quickshell now that 0.3.1 kills synchronously" + +# 0.3.1 fixes `kill` returning before the instance has exited, which is the only +# reason Omarchy shipped the git build. +if omarchy-pkg-present quickshell-git; then + # One transaction with --ask 4 so pacman accepts replacing the conflicting + # quickshell-git in place; packages depending on quickshell stay satisfied. + sudo pacman -S --noconfirm --ask 4 quickshell +fi