Bug 156723 - Tab-box cannot handle large amounts of windows
Summary: Tab-box cannot handle large amounts of windows
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: LO wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-26 16:20 UTC by Ivo Anjo
Modified: 2009-09-13 13:36 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivo Anjo 2008-01-26 16:20:47 UTC
Version:            (using KDE 4.0.0)
Installed from:    Ubuntu Packages
OS:                Linux

Pidgin was just now misbehaving, and opened 150+ windows asking a question, but when I tried to use alt-tab to get to other apps, I couldn't: the alt-tab list contained only the items that fit vertically on the monitor, and when you got to the bottom it didn't scroll down, it restarted on the top of the list, so basically I could only alt-tab between x windows, where x is how many fit on the monitor.

It should be possible to scroll down the alt-tab list, if there isn't enough space to display all windows, and it would also be nice visually if the list didn't go from top to bottom of the monitor (i.e. leave some extra space, this way feels very cluttered).
Comment 1 Yves Glodt 2008-07-27 19:25:32 UTC
The compiz-tabbox has a slightly different approach, which IMHO kwin should also adopt. It does not move the focus over the list of windows, but the list of windows under the focus.
Comment 2 Martin Flöser 2009-03-15 15:17:01 UTC
I change to wishlist as it's a change of currently intended behaviour.

Btw the size of the tabbox has been adjusted for 4.3, so there is some space between tabbox and screen edges.

@Yves: boxswitch effect has such a mode.
Comment 3 Martin Flöser 2009-09-13 13:36:51 UTC
SVN commit 1022861 by graesslin:

Here comes the new TabBox. It is a complete rewrite using a MVC approach. Here some highlights:
 * Models and Delegates for Clients and Desktops
 * Horizontal, vertical and tabular layout
 * Layout of one item can be configured by an XML definition
 * A desktop item can include a client list
 * An optional second list view showing only the selected item
 * A new KCM "kwintabbox"
 * An alternative TabBox with independent settings and keybindings
 * Optional Highlight Windows effect integration
 * List scrolls instead of removing items
 * Scroll wheel support
 * Cursor key support
 * Middle click on item closes window
BUG: 195745
BUG: 197187
BUG: 201103
FEATURE: 118184
FEATURE: 156723
FEATURE: 177441
FEATURE: 182897
FEATURE: 193882
GUI:

 M  +12 -2     CMakeLists.txt  
 M  +6 -0      client.cpp  
 M  +8 -0      client.h  
 M  +23 -15    effects/boxswitch/boxswitch.cpp  
 M  +3 -0      effects/boxswitch/boxswitch.h  
 M  +8 -2      effects/coverswitch/coverswitch.cpp  
 M  +2 -0      effects/coverswitch/coverswitch.h  
 M  +3 -2      effects/flipswitch/flipswitch.cpp  
 M  +1 -0      effects/flipswitch/flipswitch.h  
 M  +4 -0      effects/highlightwindow/highlightwindow.cpp  
 M  +4 -3      effects/presentwindows/presentwindows.cpp  
 M  +1 -0      effects/presentwindows/presentwindows.h  
 M  +1 -0      kcmkwin/CMakeLists.txt  
 M  +32 -26    kcmkwin/kwincompositing/main.cpp  
 A             kcmkwin/kwintabbox (directory)  
 A             kcmkwin/kwintabbox/CMakeLists.txt  
 A             kcmkwin/kwintabbox/kwintabbox.desktop  
 A             kcmkwin/kwintabbox/layoutconfig.cpp   [License: GPL (v2+)]
 A             kcmkwin/kwintabbox/layoutconfig.h   [License: GPL (v2+)]
 A             kcmkwin/kwintabbox/layoutconfig.ui  
 A             kcmkwin/kwintabbox/main.cpp   [License: GPL (v2+)]
 A             kcmkwin/kwintabbox/main.h   [License: GPL (v2+)]
 A             kcmkwin/kwintabbox/main.ui  
 A             kcmkwin/kwintabbox/previewhandlerimpl.cpp   [License: GPL (v2+)]
 A             kcmkwin/kwintabbox/previewhandlerimpl.h   [License: GPL (v2+)]
 M  +2 -0      kwinbindings.cpp  
 M  +7 -1      lib/kwinglobals.h  
 A             tabbox (directory)  
 M  +391 -898  tabbox.cpp  
 M  +64 -120   tabbox.h  
 A             tabbox/DefaultTabBoxLayouts.xml  
 A             tabbox/clientitemdelegate.cpp   [License: GPL (v2+)]
 A             tabbox/clientitemdelegate.h   [License: GPL (v2+)]
 A             tabbox/clientmodel.cpp   [License: GPL (v2+)]
 A             tabbox/clientmodel.h   [License: GPL (v2+)]
 A             tabbox/desktopitemdelegate.cpp   [License: GPL (v2+)]
 A             tabbox/desktopitemdelegate.h   [License: GPL (v2+)]
 A             tabbox/desktopmodel.cpp   [License: GPL (v2+)]
 A             tabbox/desktopmodel.h   [License: GPL (v2+)]
 A             tabbox/itemlayoutconfig.cpp   [License: GPL (v2+)]
 A             tabbox/itemlayoutconfig.h   [License: GPL (v2+)]
 A             tabbox/tabboxconfig.cpp   [License: GPL (v2+)]
 A             tabbox/tabboxconfig.h   [License: GPL (v2+)]
 A             tabbox/tabboxhandler.cpp   [License: GPL (v2+)]
 A             tabbox/tabboxhandler.h   [License: GPL (v2+)]
 A             tabbox/tabboxview.cpp   [License: GPL (v2+)]
 A             tabbox/tabboxview.h   [License: GPL (v2+)]
 M  +17 -2     useractions.cpp  
 M  +2 -2      workspace.cpp  
 M  +14 -4     workspace.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1022861