Tabbox: ask kwin about compositing

REVIEW: 109983
This commit is contained in:
Thomas Lübking 2013-04-12 20:15:31 +02:00
parent 70f9bc29f3
commit c6ff7932c2
5 changed files with 14 additions and 1 deletions

View file

@ -290,6 +290,10 @@ TabBoxClientList TabBoxHandlerImpl::stackingOrder() const
return ret;
}
bool TabBoxHandlerImpl::isKWinCompositing() const {
return Workspace::self()->compositing();
}
void TabBoxHandlerImpl::raiseClient(TabBoxClient* c) const
{
Workspace::self()->raiseClient(static_cast<TabBoxClientImpl*>(c)->client());

View file

@ -52,6 +52,7 @@ public:
virtual int currentDesktop() const;
virtual QString desktopName(TabBoxClient* client) const;
virtual QString desktopName(int desktop) const;
virtual bool isKWinCompositing() const;
virtual QWeakPointer< TabBoxClient > nextClientFocusChain(TabBoxClient* client) const;
virtual QWeakPointer< TabBoxClient > firstClientFocusChain() const;
virtual bool isInFocusChain (TabBoxClient* client) const;

View file

@ -144,7 +144,7 @@ void TabBoxHandlerPrivate::updateHighlightWindows()
w = m_declarativeView;
}
if (KWindowSystem::compositingActive()) {
if (q->isKWinCompositing()) {
if (lastRaisedClient)
q->elevateClient(lastRaisedClient, m_declarativeView ? m_declarativeView->winId() : 0, false);
lastRaisedClient = currentClient;

View file

@ -159,6 +159,11 @@ public:
*/
virtual int nextDesktopFocusChain(int desktop) const = 0;
/**
* whether KWin is currently compositing and it's related features (elevating) can be used
*/
virtual bool isKWinCompositing() const = 0;
/**
* De-/Elevate a client using the compositor (if enabled)
*/

View file

@ -71,6 +71,9 @@ public:
virtual QVector< xcb_window_t > outlineWindowIds() const {
return QVector<xcb_window_t>();
}
virtual bool isKWinCompositing() const {
return false;
}
virtual void raiseClient(TabBox::TabBoxClient *c) const {
Q_UNUSED(c)
}