-
-
Notifications
You must be signed in to change notification settings - Fork 589
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Animation part 6 extra: geometry trigger #1310
Conversation
Signed-off-by: Yuxuan Shui <[email protected]>
dfd8699
to
1ff8f66
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## next #1310 +/- ##
==========================================
- Coverage 54.42% 53.92% -0.50%
==========================================
Files 70 70
Lines 14902 15135 +233
==========================================
+ Hits 8110 8162 +52
- Misses 6792 6973 +181
|
1ff8f66
to
90a5e7f
Compare
So it could be used for animation, for example when resizing the window. Signed-off-by: Yuxuan Shui <[email protected]>
Signed-off-by: Yuxuan Shui <[email protected]>
Signed-off-by: Yuxuan Shui <[email protected]>
Allow blocking animations from starting using the dbus interface. Signed-off-by: Yuxuan Shui <[email protected]>
90a5e7f
to
f687cf5
Compare
I believe this has everything now, even cross-fading between window contents. |
f687cf5
to
9be31d0
Compare
Allow animation to blend in saved window image before it was refresh. Window images are refreshed when, for example, the window's size changed. With this, animations can blend the window before and after the size change to have a smoother transition. Signed-off-by: Yuxuan Shui <[email protected]>
Signed-off-by: Yuxuan Shui <[email protected]>
Working around a quirk of the NVIDIA driver. Signed-off-by: Yuxuan Shui <[email protected]>
9be31d0
to
719f2a2
Compare
Signed-off-by: Yuxuan Shui <[email protected]>
191d114
to
34ecca5
Compare
hey, I believe there is still an issue with how the window-before properties are being populated. Basically, as far as I can tell, we end up losing the context of where the previous position was, so the properties end up simply matching the current window always. I actually have a very gross thing (that definitely is not something that can be merged) that does fix the issue here: |
but yea, basically, I think we need to calculate the win_script_context once (when the animation is created) and continue to use that instead of recalculating it as the animation passes. |
I'm happy to contribute a proper fix if you agree that this is the right way to do it. Maybe there is a better place to store this pre calculated win_ctx (than https://github.com/colonelpanic8/picom/blob/35fc591aca4de2721d784a9c3498498dd6f85adb/src/transition/script.h#L38)? |
may not be helpful but this is the animation I was using to test:
|
@colonelpanic8 |
but yeah, I should've made that clear in the documentation. |
@yshui ...okay but I mean there is a need to do something like this if you want to animate a window from where it previously was, right? |
I don't see what the purpose of window-x-before could even possibly be if it is not this. |
also, I think you may be misunderstanding... in the documentation it says:
it explicitly says BEFORE the animation is triggered. If this isn't how they're supposed to be used, can you actually describe a situation where window-x-before != window-x? |
It's a poor choice of words, I have updated it.
yes, so you use them in picom/data/animation_presets.conf Lines 166 to 204 in 0585e31
|
look at the example that I gave. Its just much easier to write things like that and its pretty surprising that its not possible. Also, its not hard to just support allowing the definition of constants like this that you may not actually want to be part of a timing curve. at the very least, if you dont want to allow this usage, it should then be an error to use them in defining a variable. |
allowing this does not enable any new functionality. and i think the updated documentation should have made this behavior clear (let me know if you think it can still be improved). this style of writing animations:
makes it difficult to smoothly interrupt an ongoing animations and start a different one. picom automatically adjusts offset and scale so the window doesn't "jump". if you use a generic variable for that reason, i don't think that's something picom should support. on the other hand i also don't see a reason to prohibit it outright. |
to expand on that, if |
No description provided.