diff --git a/CMakeLists.txt b/CMakeLists.txt index ecaa836cc4..867deaf41e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -831,6 +831,7 @@ target_link_libraries(kwin_wayland KWinQpaPlugin KF5GlobalAccelPrivateKWin KF5WindowSystemKWinPrivatePlugin + KF5IdleTimeKWinWaylandPrivatePlugin ) ########### install files ############### diff --git a/autotests/integration/CMakeLists.txt b/autotests/integration/CMakeLists.txt index ed1be292f9..68f67338ee 100644 --- a/autotests/integration/CMakeLists.txt +++ b/autotests/integration/CMakeLists.txt @@ -35,6 +35,7 @@ target_link_libraries(KWinIntegrationTestFramework KWinQpaPlugin KF5GlobalAccelPrivateKWin KF5WindowSystemKWinPrivatePlugin + KF5IdleTimeKWinWaylandPrivatePlugin ) function(integrationTest) diff --git a/autotests/integration/kwin_wayland_test.cpp b/autotests/integration/kwin_wayland_test.cpp index 93b4afcb6d..3ba87233df 100644 --- a/autotests/integration/kwin_wayland_test.cpp +++ b/autotests/integration/kwin_wayland_test.cpp @@ -33,6 +33,7 @@ Q_IMPORT_PLUGIN(KWinIntegrationPlugin) Q_IMPORT_PLUGIN(KGlobalAccelImpl) Q_IMPORT_PLUGIN(KWindowSystemKWinPlugin) +Q_IMPORT_PLUGIN(KWinIdleTimePoller) namespace KWin { diff --git a/main_wayland.cpp b/main_wayland.cpp index c3c69ae4fc..aa9223fc11 100644 --- a/main_wayland.cpp +++ b/main_wayland.cpp @@ -63,6 +63,7 @@ Q_IMPORT_PLUGIN(KWinIntegrationPlugin) Q_IMPORT_PLUGIN(KGlobalAccelImpl) Q_IMPORT_PLUGIN(KWindowSystemKWinPlugin) +Q_IMPORT_PLUGIN(KWinIdleTimePoller) namespace KWin { diff --git a/plugins/idletime/CMakeLists.txt b/plugins/idletime/CMakeLists.txt index 1325755b03..792e4aeb54 100644 --- a/plugins/idletime/CMakeLists.txt +++ b/plugins/idletime/CMakeLists.txt @@ -2,17 +2,6 @@ set(idletime_plugin_SRCS poller.cpp ) -add_library(KF5IdleTimeKWinWaylandPrivatePlugin MODULE ${idletime_plugin_SRCS}) -set_target_properties(KF5IdleTimeKWinWaylandPrivatePlugin PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/org.kde.kidletime.platforms/") -target_link_libraries(KF5IdleTimeKWinWaylandPrivatePlugin - KF5::IdleTime - KF5::WaylandClient - kwin -) - -install( - TARGETS - KF5IdleTimeKWinWaylandPrivatePlugin - DESTINATION - ${PLUGIN_INSTALL_DIR}/kf5/org.kde.kidletime.platforms/ -) +add_library(KF5IdleTimeKWinWaylandPrivatePlugin OBJECT ${idletime_plugin_SRCS}) +target_compile_definitions(KF5IdleTimeKWinWaylandPrivatePlugin PRIVATE QT_STATICPLUGIN) +target_link_libraries(KF5IdleTimeKWinWaylandPrivatePlugin KF5::IdleTime KF5::WaylandClient kwin) diff --git a/plugins/idletime/poller.cpp b/plugins/idletime/poller.cpp index 2b583057db..6832728127 100644 --- a/plugins/idletime/poller.cpp +++ b/plugins/idletime/poller.cpp @@ -13,7 +13,7 @@ #include #include -Poller::Poller(QObject *parent) +KWinIdleTimePoller::KWinIdleTimePoller(QObject *parent) : AbstractSystemPoller(parent) { connect(KWin::waylandServer(), &KWin::WaylandServer::terminatingInternalClientConnection, this, @@ -28,14 +28,14 @@ Poller::Poller(QObject *parent) ); } -Poller::~Poller() = default; +KWinIdleTimePoller::~KWinIdleTimePoller() = default; -bool Poller::isAvailable() +bool KWinIdleTimePoller::isAvailable() { return true; } -bool Poller::setUpPoller() +bool KWinIdleTimePoller::setUpPoller() { auto registry = KWin::waylandServer()->internalClientRegistry(); if (!m_seat) { @@ -49,11 +49,11 @@ bool Poller::setUpPoller() return m_seat->isValid() && m_idle->isValid(); } -void Poller::unloadPoller() +void KWinIdleTimePoller::unloadPoller() { } -void Poller::addTimeout(int nextTimeout) +void KWinIdleTimePoller::addTimeout(int nextTimeout) { if (m_timeouts.contains(nextTimeout)) { return; @@ -68,10 +68,10 @@ void Poller::addTimeout(int nextTimeout) emit timeoutReached(nextTimeout); } ); - connect(timeout, &KWayland::Client::IdleTimeout::resumeFromIdle, this, &Poller::resumingFromIdle); + connect(timeout, &KWayland::Client::IdleTimeout::resumeFromIdle, this, &KWinIdleTimePoller::resumingFromIdle); } -void Poller::removeTimeout(int nextTimeout) +void KWinIdleTimePoller::removeTimeout(int nextTimeout) { auto it = m_timeouts.find(nextTimeout); if (it == m_timeouts.end()) { @@ -81,12 +81,12 @@ void Poller::removeTimeout(int nextTimeout) m_timeouts.erase(it); } -QList< int > Poller::timeouts() const +QList< int > KWinIdleTimePoller::timeouts() const { return QList(); } -void Poller::catchIdleEvent() +void KWinIdleTimePoller::catchIdleEvent() { if (m_catchResumeTimeout) { // already setup @@ -104,18 +104,18 @@ void Poller::catchIdleEvent() ); } -void Poller::stopCatchingIdleEvents() +void KWinIdleTimePoller::stopCatchingIdleEvents() { delete m_catchResumeTimeout; m_catchResumeTimeout = nullptr; } -int Poller::forcePollRequest() +int KWinIdleTimePoller::forcePollRequest() { return 0; } -void Poller::simulateUserActivity() +void KWinIdleTimePoller::simulateUserActivity() { for (auto it = m_timeouts.constBegin(); it != m_timeouts.constEnd(); ++it) { it.value()->simulateUserActivity(); diff --git a/plugins/idletime/poller.h b/plugins/idletime/poller.h index 0057b76f3a..95f6329d2e 100644 --- a/plugins/idletime/poller.h +++ b/plugins/idletime/poller.h @@ -23,15 +23,15 @@ class IdleTimeout; } } -class Poller : public AbstractSystemPoller +class KWinIdleTimePoller : public AbstractSystemPoller { Q_OBJECT - Q_PLUGIN_METADATA(IID "org.kde.kidletime.AbstractSystemPoller" FILE "kwin.json") + Q_PLUGIN_METADATA(IID AbstractSystemPoller_iid FILE "kwin.json") Q_INTERFACES(AbstractSystemPoller) public: - Poller(QObject *parent = nullptr); - ~Poller() override; + KWinIdleTimePoller(QObject *parent = nullptr); + ~KWinIdleTimePoller() override; bool isAvailable() override; bool setUpPoller() override;