Reworking the kwin tabbox

Martin Gräßlin kde at martin-graesslin.com
Thu Jul 16 16:59:44 CEST 2009


I'm sending this mail to kwin, plasma and usability mailing list, so please 
respond to all lists :-)

I'm currently thinking of reimplementing the classical tabbox (non-composited 
alt+tab) from scratch and I want to share my ideas with you and hope to get 
some useful input. Basically that will tackle feature request 118184 [1]. I 
really think our tabbox is great. So far I haven't seen a better 
implementation. Nevertheless I think we can do better.

So first I want to mention some of the issues with the current implementation:
 * the code is from 1999 which has been extended several times. I guess 
everyone from previous kicker team can have an idea what's the state of the 
code ;-)
 * it integrates 4 different modes: KDE window switching, CDE window switching, 
walk through desktop list and walk through desktops
 * CDE window switching is a mode without the tabbox and a different switching 
behaviour. The option to select does not reflect  the fact that the behaviour 
is changed. When an unreasonable focus follows mouse setting is used, 
magically this mode is selected (for technical reasons). And this mode does 
not trigger a selected effect. (This results in many bug reports)
 * When the list is too long to fit on the screen, first the icons are made 
smaller, if it still doesn't fit the last items are dropped from the list. 
There is no scrolling
 * Tabbox doesn't release the keyboard grab  [2]
 * When using meta+tab you have to press alt to close the tabbox [3]
 * Each tabbox replacement effect crashes when a window is closed while effect 
is active ([4], [5], [6], [7], [8])
 * It is not possible to have different shortcuts for different switching 
behaviour (e.g. one shortcut for only windows on current desktop, one for 
windows on all desktops)
 * effects and tabbox are mutual exclusive. If an effect is activated you cannot 
have the tabbox.
 * Keyboard grab makes it impossible to use the search in present windows 
effect
 * ...

So now my ideas what a new implementation could provide. Sorry no mockups - my 
drawing skills are too bad :-(
 * Krunner like interface
 * Search input line to search through the windows
 * On the fly switching of sorting strategy (e.g. only apps of current desktop, 
all desktops, "CDE" like switching, etc.)
 * Highlight windows effect support for currently selected window
 * Thumbnail of currently selected window
 * When desktop switching extend the selected item to show windows on the 
desktop as subitems -> direct switching to a client
 * Have different shortcuts for different switching styles
 * Make it possible to have effects and tabbox as well with different shortcuts
 * Effects need to be able to switch the sorting as well
 * Searching in effects
 * Why do we have to hold the alt key while switching? Can't we break with the 
concept? (get rid of the keyboard grab) <- here I need input from the 
usability experts. Would it be ok to break with such a concept although all 
other plattforms use it? What could be a better solution than pressing alt? 
When we break how can we provide a easy "migration path" for our users?
 * Everything the current solution provides, that is for example outlines
 * More ideas are welcome :-)

So know to the fun part: implementation
Does Plasma has interest in using something shared. That is would it be 
reasonable to provide a runner and just trigger the krunner interface from 
kwin?

Having the currently open windows in KRunner might be useful as well. E.g. I 
want to open Konqueror and can see in the search result, that I already opened 
one. Or use it in netbook shell instead of present windows when compositing is 
not active.

Comments and espicially help on implementation are more than welcome.

Regards
Martin

[1] Walking through windows (Alt+Tab) should be improved and cleaned up 
(https://bugs.kde.org/show_bug.cgi?id=118184)
[2] https://bugs.kde.org/show_bug.cgi?id=171685
[3] https://bugs.kde.org/show_bug.cgi?id=149774
[4] https://bugs.kde.org/show_bug.cgi?id=184602
[5] https://bugs.kde.org/show_bug.cgi?id=198533
[6] https://bugs.kde.org/show_bug.cgi?id=187761
[7] https://bugs.kde.org/show_bug.cgi?id=195295
[8] https://bugs.kde.org/show_bug.cgi?id=179865
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 315 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20090716/ec407d46/attachment.sig 


More information about the Plasma-devel mailing list