From kwin Tue Jan 24 19:12:03 2012 From: =?utf-8?q?Martin_Gr=C3=A4=C3=9Flin?= Date: Tue, 24 Jan 2012 19:12:03 +0000 To: kwin Subject: Re: Review Request: working animations in diminactive Message-Id: <20120124191203.7832.29967 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kwin&m=132743250912915 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============3030099437838781388==" --===============3030099437838781388== Content-Type: multipart/alternative; boundary="===============8648997676141791930==" --===============8648997676141791930== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > On Jan. 11, 2012, 3:59 p.m., Thomas L=C3=BCbking wrote: > > There's a gap when switching windows, but it should be covered in the c= ore, not the effects (it's as well for the decoration or so) > > However, if this: "mTimelines[ w ]" re-enters kwin effects, i go on str= ike*! ;-) > > = > > Please have a look at the AnimationEffect class, the general idea is to= rebase such effects there.(while i'm currently not sure about the requirem= ent of independent animation speeds in this case) > > = > > *About the QHash::operator[] usage: DON'T USE IT. EVER: (unless you rea= lly want to ;-) > > Not because it's bad by itself, but because it triggers false usage (an= access to a non-existing element silently adds it, preventing segfaults, b= ut causing non deterministic behavior. We had MUCH trouble with that. Also = it's horribly imperformant, since it not only does a hash lookup but also c= opies the hash structure for a "detach()") > > = > > Yes, couple of effects still have it, but it's also been removed from m= ost of them. Yes I quite agree on not using [] in effects anymore. I think this will be = a nice effect to try my not yet written JS bindings for effects :-P - Martin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103676/#review9750 ----------------------------------------------------------- On Jan. 11, 2012, 3:37 p.m., Marco Martin wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/103676/ > ----------------------------------------------------------- > = > (Updated Jan. 11, 2012, 3:37 p.m.) > = > = > Review request for kwin. > = > = > Description > ------- > = > use a different timeline for each window, letting for independent fade an= imations (needed when the active window switches quickly). > = > issue found: > windowActivated() is emitted two times on each window switch, making the = effect believe there is no active window for a moment, breaking the dim/hig= hlight of window groups. > is it an intended behavior? > only way around i know is doing event compression for that signal, so we = react only to the final coherent state. > = > = > Diffs > ----- > = > kwin/effects/diminactive/diminactive.h 24a80de = > kwin/effects/diminactive/diminactive.cpp 6978f36 = > = > Diff: http://git.reviewboard.kde.org/r/103676/diff/diff > = > = > Testing > ------- > = > = > Thanks, > = > Marco Martin > = > --===============8648997676141791930== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/103676/

On January 11th, 2012, 3:59 p.m., Thomas L= =C3=BCbking wrote:

There'=
;s a gap when switching windows, but it should be covered in the core, not =
the effects (it's as well for the decoration or so)
However, if this: "mTimelines[ w ]" re-enters kwin effects, i go =
on strike*! ;-)

Please have a look at the AnimationEffect class, the general idea is to reb=
ase such effects there.(while i'm currently not sure about the requirem=
ent of independent animation speeds in this case)

*About the QHash::operator[] usage: DON'T USE IT. EVER: (unless you rea=
lly want to ;-)
Not because it's bad by itself, but because it triggers false usage (an=
 access to a non-existing element silently adds it, preventing segfaults, b=
ut causing non deterministic behavior. We had MUCH trouble with that. Also =
it's horribly imperformant, since it not only does a hash lookup but al=
so copies the hash structure for a "detach()")

Yes, couple of effects still have it, but it's also been removed from m=
ost of them.
Yes I quite=
 agree on not using [] in effects anymore. I think this will be a nice effe=
ct to try my not yet written JS bindings for effects :-P

- Martin


On January 11th, 2012, 3:37 p.m., Marco Martin wrote:

Review request for kwin.
By Marco Martin.

Updated Jan. 11, 2012, 3:37 p.m.

Descripti= on

use a different timeline for each window, letting for indepe=
ndent fade animations (needed when the active window switches quickly).

issue found:
windowActivated() is emitted two times on each window switch, making the ef=
fect believe there is no active window for a moment, breaking the dim/highl=
ight of window groups.
is it an intended behavior?
only way around i know is doing event compression for that signal, so we re=
act only to the final coherent state.

Diffs=

  • kwin/effects/diminactive/diminactive.h (24= a80de)
  • kwin/effects/diminactive/diminactive.cpp (= 6978f36)

View Diff

--===============8648997676141791930==-- --===============3030099437838781388== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============3030099437838781388==--