[Panel-devel] [PATCH] Plasma::More work on extender (and others)

Aaron J. Seigo aseigo at kde.org
Thu Jul 12 17:15:14 CEST 2007


On Thursday 12 July 2007, Zack Rusin wrote:
> On Thursday 12 July 2007 10:21:42 am Aaron J. Seigo wrote:

> from a technical perspective: shaped windows have tons of problems in the
> current implementation. you'll end up bogging the server down.

we can assume rectangular windows for the time being; that's really not a show 
stopper.

> problems, the main one that you'll hit is that resizing on a composited
> desktop is not the best operation to perform.

erg; this complicates things, however. when new items are added to an extender 
(programmatically even, not due to drag and drop) the window will need to 
grow; it would be nice if it actually "grew" versus just popped to a new 
size. but if that's a serious performance issue, then we can forgoe that as 
well.

> come to think of it maybe i misunderstood the concept of extenders. maybe i
> just need to see how the following scenario would work:
> - i'm typing an email.
> - extender pops up with four boxes,
> - i'm interested in only one, i detach one and put it above my mail the
> rest is hidden underneath.

right; this would be optimal.

> so you're looking at ability of splitting windows while seemingly moving
> contents between them

right

> (you'll need nice dbus interfaces to be able to 
> communicate that kind of information between windows)...

all these windows will be in the same process (plasma), so that's not a 
problem. the actual content shown in the windows may well come over d-bus, of 
course (e.g. via the kuiserver)

> i don't see how 
> one can make this work without making this a window manager functionality.

hm... ok, let's restart this by stating the minimum requirements i'd like to 
see:

- the ability show multiple items in a visual stack (vertical or horizontal)
- the ability to show/hide invidiaul items in that stack
- the ability to add and remove items to said stack
- must work both on a graphicscene on the desktop as well as in a top level 
window w/out window decorations
- animate "in" and "out" of view on first show and hide/destroy
- when in a top-level window, that window should be able to be detached from 
what it extended "out of" to float on its own as a "regular" window

nice-to-haves:

- the ability to drag an item out of a stack and either have it sit on its own 
or join another stack
- animation on grow/shrink of the stack

most often, these extenders are likely to have only one in them. a good 
example is the calendar that appears when you click on the clock in kicker. a 
primary purpose of these extenders is to simply provide an easy way to 
show/hide a given bit of information. the kuiserver showing jobs is probably 
the most complex thing at this point that we need to accomodate; the 
calendar-from-clock is the more common one.

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

Full time KDE developer sponsored by Trolltech (http://www.trolltech.com)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/panel-devel/attachments/20070712/e443b558/attachment.pgp 


More information about the Panel-devel mailing list