Closed Rolv-Apneseth closed 1 year ago
Testing this, I see that it's something to do with the duration. Specifically, if you set the duration to something low, like 10s, you can easily see what I describe.
wpaperd -v -n
. Watch it sort thru a couple screenswpaperctl previous-wallpaper
. Watch the previous wallpaper appear.wpaperctl previous-wallpaper
. Watch the previous-previous wallpaper appear!wpaperctl previous-wallpaper
. :boom: you're back to step 3. Rinse, repeat.I don't know why this is yet, but in order to kick it loose again, you have to wait until your OG duration has expired. It's easy to test with a 10s duration.
I think it's because we're somehow not scheduling a new timeout event, so when we issue wpaperctl previous-wallpaper
, the code that checks duration to see if we're at 0, which we're not, so it never updates and sets a new duration.
We break out of that by sending another event, and since our duration is now 0, since the 10s have expired, everything is happy.
But. I don't know how to fix it. :thinking: Yet.
Hey @danyspin97, any idea what could be causing the issue here?
Hey @Rolv-Apneseth, @anoldguy . I think this might be an issue with the timer in general, since it is happening in a different way with the command next-wallpaper
. I am currently working on finalizing the openGL implementation of wpaperd, I'll have a look at this bug afterwards.
Since this bug is not related to this PR per se, for me it's okay to merge it and look for the bug afterwards. Would that be okay for you?
If you wish to just have a look at it afterwards then yeah that's completely fine by me
Let's merge it for now. I will be in vacation for the next week so I won't be able to fix the issue :(
Thank you @Rolv-Apneseth for working on this and @anoldguy for providing testing and feedback :)
All good, have a nice vacation
Continuation of #36, in relation to #34
Apologies as I had to sync my main branch with this repo and that force closed that last pr.
This isn't finished yet as I am currently facing a bug, and am opening this now to ask for some help, if you have time.
The problem is that when
wpaperctl previous-wallpaper
is called, the wallpapers stop changing on the timer and I can't seem to figure out why, probably because I can't quite get my head around how everything is working under the hood. Maybe you can see an issue I'm just completely missing?