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