Repository navigation
Apply changes straight away, a transition command, and background reloads - #19
Merged
Merged
Conversation
CPritch
commented
Oct 5, 2026
Owner
- set, slideshow and slideshow --stop tell a running shiftpaperd to reload, by sending it SIGHUP after finding it through /proc, so there's no systemctl --user reload to run. If none is running, they say how to start it.
- shiftpaper transition [name] [--secs N] shows or sets the transition. The names come from the config's Transition, which now derives clap's ValueEnum, so --help lists each with its description and they tab-complete.
- Reloads read the config straight away and decode changed wallpapers on background threads, once per image, while the old ones keep animating. Big images no longer freeze the parallax, and outputs already showing the right wallpaper are left alone. New outputs share textures with any output showing the same wallpaper.
- CI runs the config tests with the clap feature.
set, slideshow and slideshow --stop now send SIGHUP to any shiftpaperd the user is running, found through /proc, so the change shows straight away without a separate reload. It's the same signal systemctl --user reload sends, so it also works when the daemon isn't run by systemd. If none is running, they say how to start it.
shiftpaper transition shows the current transition and how long it takes, or sets either and tells a running daemon to pick it up, like mode does for tracking. The names come straight from the config's Transition, which now derives clap's ValueEnum, so --help lists each with its description and they tab-complete. Tests check the command line names, the config names and the parser all agree.
A reload decoded each output's wallpaper on the main thread, so the parallax froze for a second or two with a big image, and an image shown on two monitors was decoded twice. Now the config is read straight away and each changed wallpaper decodes on a background thread, once however many outputs show it, while the old ones keep animating. The main loop starts the transitions when they're all ready. Outputs already showing the right wallpaper are left alone, so a settings change like the transition doesn't reload or redraw anything, and an unchanged slideshow carries on as it was. New outputs share the textures of any output showing the same wallpaper.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.