Generic Animations (BeGeneric ;-)

Various KDE 1.-4. Improvements

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

14
Score 81.1%
Description:


*** CONTINUED AS "BE::Animated" ***
https://sourceforge.net/p/bekwinfx/

A generic animation effect for kwin.
Think of BeDropped on steroids.

It allows you to -per window type- combine various animations on
- Opacity
- Scale
- Position
- Size
- Rotation
- Brightness
- Saturation

on (so far)
- Window Added (Show)
- Window Closed
- Window Minimized
- Window Unminimized

and could by this replace the Scale, Fade, Glide effects and most of BeDropped.

It also fades opacity changes but so far lacks support for at least Un/Shading and Un/Maximization (requires some addition to KWin for 4.8)

Since it's mostly a demo for the AnimationEffect class which i'd like to add to KWin for 4.8 so that various effects can be rebased onto it it is really important to have a lot of testing, feedback and bug reports on this to have the class in perfect shape for KWin.

Thanks a lot, much fun creating animations and feel free to share them (eg. post them here or whatever)
Last changelog:

8 years ago

0.7b
-----
*** HOTFIX *** workaround for a bug in KWin 4.8.0 - many thanks to Florian S. for patient testing

0.7a
-----
* unifies damage calculation of scaling and translation. Should fix remaining glitches.

Still: Test! Stress it with complex funny animation combos and try the show paint effect to check it doesn't repaint too much either ("Fly my pretties, fly" :-)

0.7
-----
* mostly performance related. Doesn't repaint the entire screen but only the relevant area (but for the rotation)
This is prone to repaint glitches, so test it and feel free to report.

0.6
-----
* skip resize animations for just shown windows (plasma extenders?)
* add experimental support to substitute the "sliding popups" effect (disable it in case)


0.5
-----
Bugfix release:
a) windows that cross the top or left edge of the screen didn't animate the position
b) resize signals were sometimes connected twice (don't ask me why)


0.4
-----
* BAD NEWS:
We're using QEasingCurve's now, what means all your animation shapes are now wrong - sorry (but it's not gonna change again, promised)
Notice that all other settings remain valid, so you actually 'only' have to step through your animations and fix the shape.

* GOOD NEWS everyone ;-)
- There's now "Implicit activation" which matches windows being activated for show/unminimize events (if those are animated)
- There's more control on virtual desktop changes
- Would you please stop playing with the maximize button now? ...
Ie. the release highlight are probably animated resizes =) They could need visual improvement, like blending, though =)

* Fixed a theoretic segfault
* Tried to "unscarify" the UI (w/o massive changes) - maybe it got worse. Shout out loud.
* Animated Opacity & Size changes are (now) configurable
* There's a PKGBUILD, so Arch users can just call... well, an Arch user is supposed to know or figure that :P


0.3
-------
* 3 more animation shapes (overshoot either direction)
* ignore slidingPopups (plasma notifications)
* if there's a delay, the window stays at the source position until the animation starts
* dbus interface (you can also define custom animation aliases and call them via dbus - just so far the config UI can't and you'll have to edit them by hand ;-)
* i recall to have fixed two or three bugs, but forgot which :P

0.2
-------
* Fixed a bunch of ui bugs, including pointless value restrictions ;-)
* Fixed "relativity" handling for several transition modes
* Added Gaussian animation shape (allowing bumps)
* Added support for deactivating windows animations
* Added support for desktop change animations
* Probably forgot some other changes ;-)

C

thomas12777

8 years ago

Looks like yt doesn't like your encoder (the video is just gray)

Report

masterdany88

8 years ago

I like the animation on right mouse button :D its cool
but minimalise dosent work correctly.

Report

C

thomas12777

8 years ago

I beg your pardon?
Assuming you're referring to popup (context) menus but what minimization do you refer to not work correctly (and "how" does it not work correctly, ie. please explain your observations compared to your expectations)

Report

9

FSchulz

8 years ago

Hey!

Thanks for the new version. I installed it via AUR and tried it. First: Thanks for the nice resize-Effekt. I always hoped that it can be somehow implemented in KDE and the windows always resize in a nice way. Maybe you can improve it visually a little bit, but at the moment I have no idea how... :). The new standard settings overrided a little bit my custom settings so I have to customize them again, but this is no problem. I have just one question. Why do I have two times Leaving Current Desktop and Entering Custom Desktop? Where is the difference? I hope you understand what I mean. Here is the overview over my Animation-categories:

Aktivierung
Implicit Activation
Deactivation
Show
Schließen
Minimieren
Unminimize
Leaving Current Desktop
Entering Current Desktop
Leaving Current Desktop
Entering Current Desktop

So ones again: Thanks for your awesome work!

Best regards!


P.S. Oh wait: Is there a way to disable the automated resize effect for the krunner? There it looks a little bit ugly, cause every time I enter something new, it resizes and so it is bouncing like a kangaroo ;)

Report

C

thomas12777

8 years ago

cnp error. one set controls rising desktop number, the other on falling (so you can have windows slide through) - the string should obviously better reflect this ;-)

i'll have a look at krunner, but would prefer a solution by condition, not by case

Report

9

FSchulz

8 years ago

Ah ok, thank you! Its not just krunner, its also the dolphin-url-bar or other things.

Report

9

FSchulz

8 years ago

Ok, another thing. Here is my config:

ActivationAnimations=289:Scale:0:320:1,1.02:46:0:
AddAnimations=63455:Opacity:0:500::0:0:0,0;2048:Scale:528:300::2:0:0,0;17408:Scale:258:300:1,1:2:0:1,0.01;1:Scale:0:500:1,1.1:46:0:;32:Scale:258:600:1,1:7:0:1,0.01;2048:Opacity:0:300::0:0:0,0;32:Opacity:0:600::15:0:0,0
CloseAnimations=63455:Opacity:4096:500:0.01,0:0:0:;2048:Scale:528:300:0,0:1:0:;17408:Scale:2:500:0,0:1:0:;32:Scale:258:600:1,0:3:0:1,1;1:Scale:64:500:1,0.01:1:0:1,1;2048:Opacity:0:300:0,0:0:0:;32:Opacity:0:600:0.01,0:15:0:
DeactivationAnimations=
EnteringDesktopAnimations=
EnteringDesktopReverseAnimations=
ImplicitActivationAnimations=
LeavingDesktopAnimations=
LeavingDesktopReverseAnimations=
MinimizeAnimations=33:Position:8196:620:0,0.5:35:0:;33:Opacity:0:620:0.01,1:0:0:1,1
Opacity=true
UnMaximize=true
UnminimizeAnimations=33:Position:3200:620::35:0:0.01,0.5;33:Opacity:0:620:1,1:0:0:0.01,0.5


When I acitvate "Animate resize", krunner and other windows react very strange, when they get resize. So my question is: What option effects the "Animate resize" effect? How can I customize it? I noticed, that when I changed the settings from your standard-settings to my custom-settings, the resize effect also changes. But what effect-option effects the resize-effect? Is it also possible, that you can delay the resize effect? When I type something into the dolphin-url-bar, it resizes very often and so it looks not so good. Can I make the effect, that it just resizes after a few seconds, so that it just resizes, when I finished the entering of a pattern? Can I also change the resize parameter for different window-types? So that I can have one resize effect for normal windows and another one for url-bars like in dolphin or krunner?

I hope you know what I mean and sorry for the long text.

Best regards!

Report

9

FSchulz

8 years ago

Sorry, me again... After a restart, I saw that the resize effect behaves like before, so maybe it was a problem of kwin, because I changed the begeneric effect very often. But the questions from above are the same: Are there any chances to customise the resize effect (in future)? I know I ask a lot of questions, so ones again I hope its ok for you.


Best regards!

Report

C

thomas12777

8 years ago

Actually the resize is pretty hardcoded (just takes the difference into accout) - but i've seen such as well (windows seem to take a banana curve or are overscaled)
I think it's either a bug in kwin but whenever i've added som debug output, i was unable to reproduce it.
It /might/ be related to invalid old rects, so i've added "if (!old.isValid()) return;" locally and watch out whether it reoccurs.

You can btw. ask as much as you want, but will have to live with my respose speed - which might vary quite some ;-)

Report

9

FSchulz

8 years ago

Ok, thanks for your answer. You might laugh, but here is my story: A few seconds ago I realized, that the resize effect is (maybe?) mainly for maximizing windows via the window button. :D
I never use this button, because I work with non-maximized windows mainly. But I love this effect here for comboboxes or url-bars which gets smaller or bigger and also for non-maximized windows like the nvidia-config-tool or virtualbox, which changes their size sometimes. This looks very nice! If you can customize this effect for different windows / window-types like I wrote about, it would be even nicer but I understand that it is hardcoded atm and it is great. :)

No problem and I think your response-time is very fast, but I understand that you can't answer 24/7. I have also many days, where I can't response for some time.

Best regards and I hope you go on with your great work (bespin and begeneric)!

Report

C

thomas12777

8 years ago

Indeed, the original idea was to animate that case, but it required changes in kwin that didn't make it so far (and possibly not at all for 4.8) so i looked for another solution, figure that i could just animate any resize (unless the user resizes the window) with nearly no overhead and would get animated fullscreen encounters just as well as animations when eg. combobox dropouts resize.

Regarding krunner: in the Quicksand mode the popup seems to "judder" what actually would expose a bug in that element (since constant resizes / reshows are a needless expense on the compositors side)
The "normal" krunner didn't actually resize too much here (no box below -> box below) *shrug*

Report

9

FSchulz

8 years ago

Ahh ok, nice to hear that. Maybe the Kwin-Team around Martin is able to implement it for 4.8, if not, I am more than happy with the animation of combobox-resize etc. :)

In case of KRunner (not quicksand ;) ) it looks maybe sometimes a little bit strange to me, because the whole krunner and not only the bottom list of it gets resized, but I think there is nothing you can do, because it gets handled as a whole item.

So, I am excited about to see what you cast the next time out of your hat ;) (and how the development goes on :) ).

Report

9

FSchulz

8 years ago

Hey!
I tried BeGeneric and I think it is very great! Thanks for that! One question: Is it in any way possible, that an opening window don't get the focus animation? Because the effects for focus and opening colide sometimes and it looks not so good. Maybe there is a solution?

Best regards and thanks for your awesome work!

Report

C

thomas12777

8 years ago

Possible it is.
The question would be whether to simply drop the activation effect, delay it or maybe add "Activation for show" (as well as "Activation for close" - or a generic "Implicit activation" hitting close and show)

I'll do some for the next release - meanwhile you've the opportunity to spell your opinion :)

Report

9

FSchulz

8 years ago

Maybe I understand you wrong, but I think this is not possible for my case. I have two different effects for activation and focus. Here are my effects for:

activation: 289:Scale:0:320:1,1.02:5:0:
show: 65503:Opacity:0:300::1:0:0,0;2048:Scale:528:300::2:0:0,0;17408:Scale:66:300::2:0:0,0;257:Scale:0:500:1,1.1:5:0:;32:Scale:258:600:1,1:7:0:1,0.01

As you can see, for activation the scale effect has just an amount of 1,02. The show effect uses a setting from 1,1. I don't want to use for both things the same effect, cause when I use 1,1 for activation, its too much for me and I get bumpy everytime I click on a window ;)

Hope you understand my problem. Maybe I oversee a setting or have a logical fail in my thinking and I can create it the way i want it...

Best regards!

Report

C

thomas12777

8 years ago

There's no setting to oversee, i contemplated about how to deal with this.
In your particular case, the outcome would be either of:
- Big Bump -> small bump (delay activation animation)
- Big bump only (drop activation animation)
- Big bump & sth. else (add another event like "Activation of just shown window")

Report

9

FSchulz

8 years ago

Mmmh... yes, the first and second one are already now possible. At the moment I don't have a problem with this and it all looks fine, but when you use very different effects for focus and activation, it can look strange when you open a new application, because the animations interfere.

Best regards!

P.S. And when you delay the focus animation its good by opening a new window, but its bad for just focusing a new window, because then you click on the window and the focus animation just starts after a delay.

Report

C

thomas12777

8 years ago

> yes, the first and second one are already
> now possible.
No, i meant "adaptive" ie. _only_ for windows which have just been shown (resp. got activated because another window was closed) and in doubt delay by waiting unitl the other animation has ended.
Just plain stupid delaying would appear laggy :)

Report

9

FSchulz

8 years ago

Ahh, ok.
I played a little bit more with it and this is so great. Hope there are a few people in future who share there configs and effects! So nice!

Report

9

FSchulz

8 years ago

P.S. This is so amazing. With this little great thing I could make a lot of cool effects and now I have animations I always wanted!! The most I like is a roll-out and roll-in effect for dialogs. It is very cool! Thanks for your work!

Report

breakolami

8 years ago

It's OK by clicking +
But don't understand what to do, sorry
Have you an howto or some defaut values to import ?

Report

C

thomas12777

8 years ago

try putting the below into your ~/.kde/share/config/kwinrc (close the config dialog before!)

[Effect-GenericAnimations]
ActivationAnimations=289:Scale:0:500:1,1.1:5:0:
AddAnimations=65535:Opacity:0:300::1:0:0,0;33:Scale:0:300::2:0:0,0;2048:Scale:528:300::2:0:0,0;17408:Scale:66:300::2:0:0,0
CloseAnimations=65535:Opacity:4096:600:0,0:2:0:;2048:Scale:528:600:0,0:1:0:;17408:Scale:2:600:0,0:1:0:
DeactivationAnimations=
EnteringDesktopAnimations=65535:Position:2304:500::2:0:-1,0
LeavingDesktopAnimations=65535:Position:8194:300:-1,1:0:0:
MinimizeAnimations=33:Position:4:600:0,-1:6:0:
UnminimizeAnimations=33:Position:128:400::2:0:0,-1

Report

oOSplashOo

8 years ago

Wow thomas, those settings are wonderfull ^^! I love this woobly effect.

Report

9

OdinEidolon

8 years ago

I find the work to be astonishingly good, but needs mastering and time to get it right. As said it needs, imho, an how-to or at least some default values. Also complete description of how every single option acts. Yes I know form a developer point of view making your work understandable to us noobs out here is the most annoying part, but without this your work, which is brilliant, will just not be appreciated for what it is.

IMHO!

Report

breakolami

8 years ago

Ok i ignore these message but
I have generic animation in my desktop effects
But clicking on settings I have no settings to change

Selecting animation on the left don't give me anything on the right

Sorry my bad english

http://breakolami.free.fr/ga05.jpg

Report

8 years ago

0.7b
-----
*** HOTFIX *** workaround for a bug in KWin 4.8.0 - many thanks to Florian S. for patient testing

0.7a
-----
* unifies damage calculation of scaling and translation. Should fix remaining glitches.

Still: Test! Stress it with complex funny animation combos and try the show paint effect to check it doesn't repaint too much either ("Fly my pretties, fly" :-)

0.7
-----
* mostly performance related. Doesn't repaint the entire screen but only the relevant area (but for the rotation)
This is prone to repaint glitches, so test it and feel free to report.

0.6
-----
* skip resize animations for just shown windows (plasma extenders?)
* add experimental support to substitute the "sliding popups" effect (disable it in case)


0.5
-----
Bugfix release:
a) windows that cross the top or left edge of the screen didn't animate the position
b) resize signals were sometimes connected twice (don't ask me why)


0.4
-----
* BAD NEWS:
We're using QEasingCurve's now, what means all your animation shapes are now wrong - sorry (but it's not gonna change again, promised)
Notice that all other settings remain valid, so you actually 'only' have to step through your animations and fix the shape.

* GOOD NEWS everyone ;-)
- There's now "Implicit activation" which matches windows being activated for show/unminimize events (if those are animated)
- There's more control on virtual desktop changes
- Would you please stop playing with the maximize button now? ...
Ie. the release highlight are probably animated resizes =) They could need visual improvement, like blending, though =)

* Fixed a theoretic segfault
* Tried to "unscarify" the UI (w/o massive changes) - maybe it got worse. Shout out loud.
* Animated Opacity & Size changes are (now) configurable
* There's a PKGBUILD, so Arch users can just call... well, an Arch user is supposed to know or figure that :P


0.3
-------
* 3 more animation shapes (overshoot either direction)
* ignore slidingPopups (plasma notifications)
* if there's a delay, the window stays at the source position until the animation starts
* dbus interface (you can also define custom animation aliases and call them via dbus - just so far the config UI can't and you'll have to edit them by hand ;-)
* i recall to have fixed two or three bugs, but forgot which :P

0.2
-------
* Fixed a bunch of ui bugs, including pointless value restrictions ;-)
* Fixed "relativity" handling for several transition modes
* Added Gaussian animation shape (allowing bumps)
* Added support for deactivating windows animations
* Added support for desktop change animations
* Probably forgot some other changes ;-)

12345678910
14
product-maker mirkogennari Oct 19 2015 9 excellent
product-maker RAIDENSUB Jun 12 2012 9 excellent
product-maker tobaj Feb 20 2012 9 excellent
product-maker Pyruzan Dec 13 2011 9 excellent
product-maker pvt14 Dec 12 2011 9 excellent
product-maker TommyCZ Nov 28 2011 9 excellent
product-maker deabru Nov 22 2011 9 excellent
product-maker sxe Nov 21 2011 9 excellent
product-maker FSchulz Oct 31 2011 9 excellent
product-maker OdinEidolon Oct 18 2011 9 excellent
product-maker nikore90 Oct 04 2011 9 excellent
product-maker srog Oct 03 2011 9 excellent
product-maker Contrast Oct 02 2011 9 excellent
product-maker FraSMOG Oct 02 2011 9 excellent
product-maker Base: 4 x 5.0 Ratings
AlejandroNova
Mar 01 2012
LGD
Feb 24 2012
paperclip
Jan 27 2012
saftsocken
Jan 23 2012
TommyCZ
Nov 28 2011
deabru
Nov 22 2011
sxe
Nov 21 2011
marcotangaro
Nov 20 2011
pedromc
Nov 19 2011
FSchulz
Nov 07 2011
OdinEidolon
Oct 18 2011
TheRob
Oct 17 2011
naolloan
Oct 14 2011
Contrast
Oct 02 2011
File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.7b
updated Jan 30 2012
added Oct 02 2011
downloads 24h
0
mediaviews 24h 0
pageviews 24h 5