zui, windows, desktops

Aaron J. Seigo aseigo at kde.org
Thu Jul 16 02:21:02 CEST 2009


hi all ...

spent some time on the train this morning thinking about the 
zui/windows/desktops issues.

i drew some mock ups on paper which i'll try and put into digital format when 
i have some time here and post for comments/thoughts/etc.

in semi-summary:

* the idea of window groups is great, death to virtual desktops

* the window group overview could include an Activities overview as well. the 
visual will help explain this but for now imagine a strip at the top of the 
screen showing the existing Activities: a name above and a shrunken version of 
the Activity below; switching would be moving which activity is in the center, 
e.g. by scrolling through them or clicking on one. so there would be a 
horizontal stripe of activity choices sitting atop a set of horizontal window 
groupings, keeping things visually distinct so they don't become overly 
confusing?

* arrange the desktop containments on the corona in a horizontal strip, one 
row per screen

* one possibility is to do a paint-to-pixmap-and-publish system to generate 
full-size screenshots of the Activities for use in an overview mode would let 
us do this with decent performance and without really caring where on the 
canvas things are. this means no live updates, however, which would sort of 
suck. however, if we put the containment into a "zoomed out" mode and didn't 
show the applet handles when zoomed out, that might help somewhat.

* the centered Activity could have action buttons (remove, save, etc), the 
rest can just be buttonless; this reduces visual clutter and should make 
managing the toolbuttons a lot easier (and, performance-wise, faster)

* when in the "overview" mode, we could replace the normal view with a small 
view at the top for the strip, put the control buttons right on top of it (so 
no scaling issues) and another view below to be populated by the WM groupings

* windows in the groupings could be 'tagged' as per the suggestions from Chani 
et al by pressing a "tag windows" button in the activities selector and then 
clicking on windows in the groups below

* tagged windows would be removed from or shown in the overview when sliding 
through activities, and would have a coloured "halo" border showing they are 
associated with the activity (perhaps by similarly "haloing" the centered 
activity). this would let one keep the benefits of virtual desktops with the 
benefits of activity-association

* keyboard shortcuts for each window group could be painted above the window 
column itself and could be named (just as with current virtual desktops)

* add/remove of both window groups and activities could use an identical 
system of one add button and per-group/activity remove buttons.

* the window preview area could be drawn by kwin itself using the same system 
we do with the taskbar window previews; without kwin-composite (the compiz or 
kwin-without-compositing cases) we could re-use the tasks widget code to paint 
the groups of windows as buttons. when there is no kwin, the windows would 
just show up in one big group? certainly not sexy, but it would retain utility 
regardless of how plasma is run and degrade gracefully in the process. 
essentially this means creating a full-screen version of the tasks widget, 
perhaps with a special grouping strategy in libtaskmanager just for this 
representation? would save a lot of code writing, i think.

* panels should not be shown in the overview mode, i think. later we can 
perhaps add panel<->activity affinity

* we must publish the activity stuff live in nepomuk so that applications can 
adjust their content and play along too

* a widget on the panel should be there by default to swap into overview mode

* the new status codes marco added to Applet should be hooked into the system 
tray so that widgets in other Activities can say "hey, listen to me!" and let 
the user switch quickly to that activity (plasma containment + associated 
windows + nepomuk data)

i _think_ that addresses all the questions i posed, and even gets us a bit 
down the "how do we actually implement this" road.

so, executive summary: integrate activity zooming with the window zooming 
creating a brand new "overview" mode, allowing associating windows with 
activities as well as into groups (orthogonal but complimentary concepts)

what do the authors of the original sets of proposals think? it's really not 
many twists/turns from the original ideas proposed, i don't think?

-- 
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/20090715/577c6062/attachment.sig 


More information about the Plasma-devel mailing list