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
8 .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

9 years ago

select one of the events on the left and press the "+" button. (i guess i should set some defaults ;-)

Report

breakolami

9 years ago

/home/chris/generic_animations-kwin-fx/generic_animations.cpp:260:6: attention : unused parameter ‘w’ [-Wunused-parameter]
/home/chris/generic_animations-kwin-fx/generic_animations.cpp:260:6: attention : unused parameter ‘horizontal’ [-Wunused-parameter]
/home/chris/generic_animations-kwin-fx/generic_animations.cpp:260:6: attention : unused parameter ‘vertical’ [-Wunused-parameter]

Report

C

thomas12777

9 years ago

Those are just warnings and they all mean:
"hey thomas, you've still not implemented animations for window maximization!"
what's expectable since that needs additions to kwin -> 4.8

You can simply ignore those messages.

Report

9

Contrast

9 years ago

Awesome work so far... I'm wondering, are there any plans to restrict window matching to certain classes/roles/titles, instead of just types?

Report

C

thomas12777

9 years ago

No plans, no. Detecting a particular client is required for fixing rules but
a) usually windows of the same kind should more or less animate the same
b) there's some level of abstraction between the effectwindows and the x11 clients.

Is there a particular issue driving this question (besides the effect completely ignoring the sliding out plasmoids so far, that will be fixed with the next release)

I'm holding mentioned release back until i've an answer (so i can consider it) - or 23:59 CET, 10/16/2011 (not considering anything)

Report

9

Contrast

9 years ago

Yakuake, for example, is a program whose main window should be animated differently from most others. You've got Plasma pop-ups covered, so that's good, but back when I used Compiz, in certain cases a certain program using separate effects made sense visually (just don't ask for examples on that-- it's been a long time since I really used Compiz ;).

Report

C

thomas12777

9 years ago

IIRC yakuake sets the slidingPopups property just like the plasma popups, so that should be no problem.
-> come up with a case, i'll solve it either way ;-)

Report

scalpel

9 years ago

Hi,

I've just been trying out your effect and have some first feedback.
I was creating an opacity transition effect for the close event with a long transition time (>500ms). What I saw then is that after the first few transition cycles the "effected" region looses its content which means that from then on a more or less black box fades out.

Report

C

thomas12777

9 years ago

sounds like a renderer bug (since theres still sth. fading out)
a) can you try the xrender backend ("kcmshell4 kwincompositing", 3rd tab)
b) do pot. you have any interfering effects (eg. "fade") activated?
c) please specify your gpu/driver (esp. in case this is a GL issue)
d) please ensure it's "opacity" and not "brightness" ;-)

Report

scalpel

9 years ago

a) I did - same result
b) no, any other effect was disabled
c) i915, Mesa (git)
d) I did

but I made some further observations. I think it's actually only affecting menus in firefox and eclipse when I use QtCurve for gtk2 applications.

Report

C

thomas12777

9 years ago

No idea about eclipse, but FF shows a similar behavior (quite immediately turns translucent, nvidia) regardless of the gtk+ engine. Other gtk+ menus are not affected.

I guess that's not even a real kwin issue but FF just actively clears the drawable before withdrawing the window (so you see what FF wants you to see, but that's just not what you expect to see ...)

Report

scalpel

9 years ago

... is it possible to add them? I really loved them when I was using compiz.

Report

C

thomas12777

9 years ago

I'm sorry but i'm not sure what you mean.
Having mousebutton shortcuts for eg. zooming etc. is a different issue (and actually currently discussed on the k-c-d and kwin mailing lists - again)
It's mostly about general mouse shortcut support.

If you mean mouse entering/leaving windows causing some animation: yes, that's possible.
Would require polling atm. but i'd try to export the event from kwin for 4.8 then.

Report

scalpel

9 years ago

well I meant the first. Good to hear that it's on the table again ...

Report

Myoh

9 years ago

Awesome stuff! This can replace quite alot of effects when configured correctly, plus the ability to create a slew of other new effects. Promising project.

Gonna test it thoroughly, so I'll submit a report when I encounter a bug.

Report

Myoh

9 years ago

Found something. When trying to set an effect for dropdown menus, It seems impossible to affect the dropdown only. They seem to be influenced by the type 'Normal', which affects regular windows.
No idea though if it is a bug in Kwin, Oxygen or GenericAnimations.

Also, the scale effect should be able to go past 1,00. (What I'm trying to do is when showing a tooltip, it should zoom out from about 1,05 to 1,00)

Report

C

thomas12777

9 years ago

The UI bug is fixed (among others) - the comboboxes are somehow neither comboboxes nor dropdowns, so it's likely a kwin bug (the 4.8 implementation of window matching will be different anyway but i had to export a property for this ;-)

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
Be the first to comment
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 4