KWin
|
Classes | |
class | ClientModel |
class | DesktopBackground |
class | ExampleClientModel |
struct | KeySymbolsDeleter |
class | KWinTabboxData |
class | LayoutPreview |
class | ShortcutSettings |
class | SwitcherItem |
class | TabBox |
class | TabBoxConfig |
class | TabBoxConfigPrivate |
class | TabBoxHandler |
class | TabBoxHandlerImpl |
class | TabBoxHandlerPrivate |
class | X11Filter |
Variables | |
TabBoxHandler * | tabBox = nullptr |
The TabBox is a model based view for displaying a list while switching windows. This functionality is mostly referred to as Alt+Tab. TabBox itself does not provide support for switching windows. This has to be done outside of TabBox inside an independent controller.
The main entrance point to TabBox is the class TabBoxHandler, which has to be subclassed and implemented.
The behavior of the TabBox is defined by the TabBoxConfig and has to be set in the TabBoxHandler.
In order to use the TabBox the TabBoxConfig has to be set. The model has to be initialized by calling TabBoxHandler::createModel(), as the model is undefined when the TabBox is not active. The TabBox is activated by TabBoxHandler::show(). Depending on the current set TabBoxConfig it is possible that the highlight windows effect activated and that the view is not displayed at all. As already mentioned the TabBox does not handle any updating of the selected item. This has to be done by invoking TabBoxHandler::setCurrentIndex(). Nevertheless the TabBoxHandler provides methods to query for the model index or the next or previous item, for a cursor position or for a given item. By invoking TabBoxHandler::hide() the view, the optional highlight windows effect are removed. The model is invalidated immediately. So if it is necessary to retrieve the last selected item this has to be done before calling the hide method.
The layout of the TabBox View and the items is completely customizable. Therefore TabBox provides a widget LayoutConfig which includes a live preview (in kcmkwin/kwintabbox). The layout of items can be defined by an xml document. That way the user is able to define own custom layouts. The view itself is made up of two widgets: one to show the complete list and one to show only the selected item. This way it is possible to have a view which shows for example a list containing only small icons and nevertheless show the title of the currently selected client.
TabBoxHandler * KWin::TabBox::tabBox = nullptr |
Pointer to the global TabBoxHandler object.
Definition at line 557 of file tabboxhandler.cpp.