Reworking the kwin tabbox

Marco Martin notmart at gmail.com
Thu Jul 16 22:10:32 CEST 2009


On Thursday 16 July 2009, Martin Gräßlin wrote:
> 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?

wonder if would be possible, from the kwin side:
-in this case make krunner always visible when doing alt+tab and out of the 
window list of course
-keeping it without focus, so alt+tab will still work as alt+tab

from the krunner side:
-set the "active one" via api on each alt+tab pressed
-the input line should filter on the already there results rather than doing a 
new query

> 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


-- 
Marco Martin


More information about the Plasma-devel mailing list