another update on the systray and tiny api review

Aaron J. Seigo aseigo at kde.org
Sat Mar 21 17:12:18 CET 2009


On Saturday 21 March 2009, Marco Martin wrote:
> On Friday 20 March 2009, Aaron J. Seigo wrote:
> > On Wednesday 18 March 2009, Marco Martin wrote:
> > > -setMovie() we are on dbus now, sending the binary data is already
> > > expensive enough
> >
> > well, for animations it probably makes sense to send all the frames
> > across at once and then animate them on the host side. sending images
> > constantly over dbus might suck badly. anyways ..  we won't get away from
> > having animations on the system tray, so we may as well provide setMovie
> > in the client side API and go the naive route for now (sending the frames
> > across the bus one by one) and look into optimizing this later if needed.
>
> did some experiments on that, sending a qvector of the frame images seems
> quite easy, the problem seems recontruncting a qmovie from that on the
> other side.

we probably don't need to use QMovie, really. it's trivial to take a set of 
frames and repaint through them. we've probably all done that once or twice in 
plasma by now ;)

> QMovie seems just a class that reads files (or a custom QIODevice that
> produces exactly the bytes that could be found in a mng or animated gif)
> so, transferring the movie data seems so complicate (and also unlikely that
> client applications will build one not starting from a file) that it seems
> to make more sense just to send the filename..

filename won't work for remote apps, as Rich Moore pointed out on irc today.

all we really need is a series of image frames. then we can just repaint using 
those frames.

> and this rises an interesting issue: movies or blinking icons are usually
> used for notificatins. now the systray has a "notifying" state that for now
> the applet doesn't really uses

> (it tries to put the icon in the last
> position like the notification popup ones, but fails and not sure if it
> makes sense)

i like the idea of grouping entries that need attention together. this also 
makes unhiding entries that are hidden but then go into notifying state 
consistent: they appear at the end.

with everything client side, we could even do cute sliding animations between 
where they are and the new position at the end.

> what the systray should do when the state is notifying? a sane thing i
> think it is:
> add a new icon for the requesting attention case and it will blink between
> the two,

agreed; i hope that we can get away with just this for the start. we can do 
nice fades between the icons even. this would cover skype, konversation and 
others. the only one i see in my tray right now that wouldn't be as nice would 
be kopete which currently has a cute little spinny animation.

> or if a movie is set it displayis the movie,

i wonder if we really need movies? hm.. anyways, if we do, i think they should 
be sent across the wire all at once and then played client side when 
appropriate.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Software

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20090321/d463c2df/attachment.sig 


More information about the Plasma-devel mailing list