From c17732cf17078914b35cc2667fccd635912df07c Mon Sep 17 00:00:00 2001 From: Johan Smith Agudelo Rodriguez Date: Mon, 13 Feb 2017 17:52:41 -0500 Subject: [PATCH] fix #164, Dodge Active is broken for windows on all desktops --- app/abstractwindowinterface.h | 2 +- app/xwindowinterface.cpp | 10 ++-------- app/xwindowinterface.h | 1 - 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/app/abstractwindowinterface.h b/app/abstractwindowinterface.h index d31b22859..584b92303 100644 --- a/app/abstractwindowinterface.h +++ b/app/abstractwindowinterface.h @@ -63,7 +63,7 @@ signals: void windowChanged(WId winfo); void windowAdded(WId wid); void windowRemoved(WId wid); - void currentDesktopChanged(int desktop); + void currentDesktopChanged(); void currentActivityChanged(); protected: diff --git a/app/xwindowinterface.cpp b/app/xwindowinterface.cpp index 1388e3a9f..de7e9b37d 100644 --- a/app/xwindowinterface.cpp +++ b/app/xwindowinterface.cpp @@ -36,8 +36,6 @@ XWindowInterface::XWindowInterface(QQuickWindow *const view, QObject *parent) { Q_ASSERT(view != nullptr); - m_currentDesktop = KWindowSystem::currentDesktop(); - connections << connect(KWindowSystem::self(), &KWindowSystem::activeWindowChanged , this, &AbstractWindowInterface::activeWindowChanged); connections << connect(KWindowSystem::self() @@ -60,11 +58,7 @@ XWindowInterface::XWindowInterface(QQuickWindow *const view, QObject *parent) } }); connections << connect(KWindowSystem::self(), &KWindowSystem::currentDesktopChanged - , this, [&](int desktop) { - m_currentDesktop = desktop; - emit currentDesktopChanged(m_currentDesktop); - }); - + , this, &XWindowInterface::currentDesktopChanged); connections << connect(activities.data(), &KActivities::Consumer::currentActivityChanged , this, &XWindowInterface::currentActivityChanged); @@ -166,7 +160,7 @@ WindowInfoWrap XWindowInterface::requestInfoActive() const bool XWindowInterface::isOnCurrentDesktop(WId wid) const { KWindowInfo winfo(wid, NET::WMDesktop); - return winfo.valid() && winfo.desktop() == m_currentDesktop; + return winfo.valid() && winfo.isOnCurrentDesktop(); } WindowInfoWrap XWindowInterface::requestInfo(WId wid) const diff --git a/app/xwindowinterface.h b/app/xwindowinterface.h index a3204a7ca..dae740225 100644 --- a/app/xwindowinterface.h +++ b/app/xwindowinterface.h @@ -56,7 +56,6 @@ private: void windowChangedProxy(WId wid, NET::Properties prop1, NET::Properties2 prop2); WId m_desktopId; - int m_currentDesktop; QPointer activities; QList connections;