Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion default/walker/walker.desktop
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=Walker
Comment=Walker Service
Exec=walker --gapplication-service
Exec=env GSK_RENDERER=cairo walker --gapplication-service
StartupNotify=false
Terminal=false
Type=Application
16 changes: 16 additions & 0 deletions migrations/1785381882.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
echo "Run walker's autostart service with the cairo GTK renderer"

# omarchy-launch-walker starts walker with GSK_RENDERER=cairo, but the resident
# service is normally already running from the XDG autostart entry, which had no
# environment override. That left walker rendering through GTK4's Vulkan backend,
# which can hard-freeze the session on amdgpu (#6443). Leave customized entries alone.
walker_autostart="$HOME/.config/autostart/walker.desktop"

if [[ -f $walker_autostart ]] && grep -q "^Exec=walker --gapplication-service$" "$walker_autostart"; then
cp "$OMARCHY_PATH/default/walker/walker.desktop" "$walker_autostart"

# The autostart generator only re-reads the entry on reload, so apply it now
# instead of waiting for the next login.
systemctl --user daemon-reload
systemctl --user try-restart app-walker@autostart.service
fi
Comment on lines +10 to +17

@MaciekTW MaciekTW Jul 31, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in f82d8ae, and the risk is worse than the cosmetic keys.

The case that actually matters is someone who deliberately disabled walker's autostart by setting Hidden=true (or X-GNOME-Autostart-enabled=false) while leaving Exec untouched. Copying the default entry over the top would have dropped that key and silently re-enabled autostart during an update the user never asked for.

Now only the stock Exec line is patched in place, so every other key survives:

sed -i "s|^Exec=walker --gapplication-service$|Exec=env GSK_RENDERER=cairo walker --gapplication-service|" "$walker_autostart"

The grep guard stays so the service is only reloaded when something actually changed, and idempotency now falls out naturally since the pattern no longer matches after the rewrite. Comment updated to describe what the code does rather than what I meant it to do.