TabBox NG

I’m currently working on the TabBox “Next Generation”. For those who do not know, what the TabBox is: it is the list view shown when using Alt+Tab and can display the windows or desktops (in static or most recently used order). It is also possible to replace the list view by a KWin effect.

This new implementation is the second part of my rework for alt+tab. The first is already implemented and available as a window runner so KRunner also lists your open windows and you can even interact with them, like closing, minimizing, etc.

In KDE 4.3 the classical TabBox already received a nice facelifting and looks integrated into the Workspace. So why working on a new implementation? Well to answer that I will present a list of the new features:

  • If the list doesn’t fit on the screen items are not cut off, but the view scrolls
  • Mouse wheel scrolls the list
  • User can choose if the items are laid out vertical, horizontal or tabular
  • Navigating with left/right/up/down keys – useful for tabular layout and for present windows
  • Model for clients and for desktops; adding new switching modes just requires to write a model and the delegate. (That could become useful when we integrate Plasma activities – more after Tokamak)
  • Static and most recently used desktop switching is just a different sort mode in the model
  • Optional Integration of highlight windows effect
  • Outline can be turned off
  • Disabling the view does not break the behaviour
  • And last but not least: Completely configurable item layout. That is the user can choose between some predefined layouts like an informative, a compact, small icons only, big icons only, text only and can define custom layouts. In combination with the view layout configuration you can build a TabBox which looks like the MacOS or the Windows XP without any problems.

So I can talk a lot but there is no better thing than a video, showing the new features:

Download ogg video

There are some things I still have to do:

  • Config interface for the item layouts
  • Layouts for desktop items
  • A second optional view for showing just the selected item – needed for icon only mode to show the text of selected item (that is the MacOS style 😉 )
  • Adding a secondary TabBox with own shortcuts and own settings, so that you can have a TabBox for e.g. only clients on current desktop and another one for clients on all desktops

I hope to get it into a state for review when Tokamak starts as I will go by train and have lots of time for working on it.

And if you never understood why your focus policy destroyed your alt+tab behaviour: have a look at this screenshot.

Von TabBox

17 Replies to “TabBox NG”

  1. Looking really good! It would be great if there was also an option to list windows on all screens or just the current screen, for people with a multi-monitor setup. The current behavior is to only list windows on the current screen, but I would personally prefer to change it to list windows on both of my screens. I am sure there are plenty of people who prefer the current behavior, though. So I think it should be configurable.

  2. @TheBlackCat: your wish is already available. It’s called seperate screen focus or something like that and I think the default is to have it disabled (at least I haven’t changed the settings and see windows from both screens). But yes configuration can be improved 😉

  3. Wouldn’t it be nice if another option would be a mini-screenshot of the actual screen in the list (preferably live, of course, so you could see movies running in the small versions)?

  4. Wouldn’t it be nice if another option would be a mini-screenshot of the actual screen in the list (preferably live, of course, so you could see movies running in the small versions)?

    You could just use BoxSwitch effect?

  5. Cool, with this new window switcher this report will be closed:

    What sounds really cool is the krunner window list engine. Now you only need an own hotkey to start krunner with only this krunner plugin activated. So it would be a search only for windows and nothing else.

    What maybe would be nice: An additional hotkey to only switch through windows of the same application as the active one. (Only konsole windows, or only konqueror windows, etc.)


  6. The 4.3 themed tabbox is nice but it takes 1-2 seconds to appear on my computers (both Core 2 Duo-s, ati closed drivers, no composite). Would the tabbox NG do something about that?

  7. I’d love to be able to only switch between windows of the type of the currently active app e.g. all Konsole windows or all Konqueror windows (on current desktop) 🙂

  8. I find the configuration screen awefull. I can understand complex problems pretty fast, but this screen boggles my mind. Please let it be reviewed before putting that into KDE.

    I hope this wasn’t too harsh.

  9. For those wanting to switch only current app: there is a new shortcut which does that in present windows.

    @Twosheds: yes there is a regression in tabbox, that one is hopefully fixed with the new implementation.

    @tbscope: no, that is not too harsh. I know that the UI isn’t good and I have not even reviewed it myself. I never commit UIs without review 😉

  10. Too many options IMO. It would make more sense to display just basic config possibilities to the user, so he is not overwhelmed with options. For those who want to configure more than that, an “advanced options” button would do the job.
    In the current way it is not KDE4 but KDE3 bevause it just trows in everything possible.

    The thing itself is an improvement, however:)

  11. “there is a new shortcut which does that in present windows.”
    You have a problem with the present windows effect if you have to turn composite off because of problems with xorg, drivers, kernel, kde, who knows…. So it might be good to have this functionality separated from a compositing effect.

  12. Is it going to be possible to use standard qt TabBox style instead of that terrible and slow one when switching windows and possibly widgets [eg. krunner, calendar ( – ugly plasma style, – KDE 3, – Qt4)]?
    I really want to thank you for enforcing SVG themes onto users, we really wouldn’t know how to live without them 😉

Comments are closed.