diff --git a/src/lib/platform/CMakeLists.txt b/src/lib/platform/CMakeLists.txt index 82acd4d40..7dee5c783 100644 --- a/src/lib/platform/CMakeLists.txt +++ b/src/lib/platform/CMakeLists.txt @@ -96,6 +96,8 @@ elseif(APPLE) ) elseif(UNIX) set(PLATFORM_SOURCES + XDGPowerManager.cpp + XDGPowerManager.h XWindowsClipboard.cpp XWindowsClipboard.h XWindowsClipboardAnyBitmapConverter.cpp @@ -114,8 +116,6 @@ elseif(UNIX) XWindowsEventQueueBuffer.h XWindowsKeyState.cpp XWindowsKeyState.h - XWindowsPowerManager.cpp - XWindowsPowerManager.h XWindowsScreen.cpp XWindowsScreen.h XWindowsScreenSaver.cpp diff --git a/src/lib/platform/EiScreen.h b/src/lib/platform/EiScreen.h index 0a615815e..ec548295e 100644 --- a/src/lib/platform/EiScreen.h +++ b/src/lib/platform/EiScreen.h @@ -9,7 +9,7 @@ #include "deskflow/KeyMap.h" #include "deskflow/PlatformScreen.h" -#include "platform/XWindowsPowerManager.h" +#include "platform/XDGPowerManager.h" #include #include @@ -189,8 +189,7 @@ private: using HotKeyMap = std::map; HotKeyMap m_hotkeys; - // Despite the name XWindowsPowerManager, this works on Wayland too - XWindowsPowerManager m_powerManager; + XDGPowerManager m_powerManager; }; } // namespace deskflow diff --git a/src/lib/platform/XWindowsPowerManager.cpp b/src/lib/platform/XDGPowerManager.cpp similarity index 71% rename from src/lib/platform/XWindowsPowerManager.cpp rename to src/lib/platform/XDGPowerManager.cpp index 335907cf9..5158aa39d 100644 --- a/src/lib/platform/XWindowsPowerManager.cpp +++ b/src/lib/platform/XDGPowerManager.cpp @@ -5,7 +5,7 @@ * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception */ -#include "XWindowsPowerManager.h" +#include "XDGPowerManager.h" #include "arch/Arch.h" #include "base/Log.h" #include "common/Constants.h" @@ -17,9 +17,9 @@ namespace { -bool sleepInhibitCall(bool state, XWindowsPowerManager::InhibitScreenServices serviceID) +bool sleepInhibitCall(bool state, XDGPowerManager::InhibitScreenServices serviceID) { - if (std::string error; !XWindowsPowerManager::inhibitScreenCall(serviceID, state, error)) { + if (std::string error; !XDGPowerManager::inhibitScreenCall(serviceID, state, error)) { LOG_DEBUG("dbus inhibit error %s", error.c_str()); return false; } @@ -29,28 +29,28 @@ bool sleepInhibitCall(bool state, XWindowsPowerManager::InhibitScreenServices se } // namespace -XWindowsPowerManager::~XWindowsPowerManager() +XDGPowerManager::~XDGPowerManager() { enableSleep(); } -void XWindowsPowerManager::disableSleep() const +void XDGPowerManager::disableSleep() const { - if (!sleepInhibitCall(true, XWindowsPowerManager::InhibitScreenServices::kScreenSaver) && - !sleepInhibitCall(true, XWindowsPowerManager::InhibitScreenServices::kSessionManager)) { + if (!sleepInhibitCall(true, XDGPowerManager::InhibitScreenServices::kScreenSaver) && + !sleepInhibitCall(true, XDGPowerManager::InhibitScreenServices::kSessionManager)) { LOG_WARN("failed to prevent system from going to sleep"); } } -void XWindowsPowerManager::enableSleep() const +void XDGPowerManager::enableSleep() const { - if (!sleepInhibitCall(false, XWindowsPowerManager::InhibitScreenServices::kScreenSaver) && - !sleepInhibitCall(false, XWindowsPowerManager::InhibitScreenServices::kSessionManager)) { + if (!sleepInhibitCall(false, XDGPowerManager::InhibitScreenServices::kScreenSaver) && + !sleepInhibitCall(false, XDGPowerManager::InhibitScreenServices::kSessionManager)) { LOG_WARN("failed to enable system idle sleep"); } } -bool XWindowsPowerManager::inhibitScreenCall(InhibitScreenServices serviceID, bool state, std::string &error) +bool XDGPowerManager::inhibitScreenCall(InhibitScreenServices serviceID, bool state, std::string &error) { error = ""; static const std::array services = {"org.freedesktop.ScreenSaver", "org.gnome.SessionManager"}; diff --git a/src/lib/platform/XWindowsPowerManager.h b/src/lib/platform/XDGPowerManager.h similarity index 73% rename from src/lib/platform/XWindowsPowerManager.h rename to src/lib/platform/XDGPowerManager.h index fc526fa86..3a28e6264 100644 --- a/src/lib/platform/XWindowsPowerManager.h +++ b/src/lib/platform/XDGPowerManager.h @@ -9,11 +9,11 @@ #include -class XWindowsPowerManager +class XDGPowerManager { public: - XWindowsPowerManager() = default; - ~XWindowsPowerManager(); + XDGPowerManager() = default; + ~XDGPowerManager(); /** * @brief Prevent the system from sleep @@ -25,8 +25,8 @@ public: */ void enableSleep() const; - XWindowsPowerManager(const XWindowsPowerManager &) = delete; - XWindowsPowerManager &operator=(const XWindowsPowerManager &) = delete; + XDGPowerManager(const XDGPowerManager &) = delete; + XDGPowerManager &operator=(const XDGPowerManager &) = delete; enum class InhibitScreenServices { diff --git a/src/lib/platform/XWindowsScreen.h b/src/lib/platform/XWindowsScreen.h index 637c5a8ce..3d05929e3 100644 --- a/src/lib/platform/XWindowsScreen.h +++ b/src/lib/platform/XWindowsScreen.h @@ -12,7 +12,7 @@ #include "deskflow/ClientArgs.h" #include "deskflow/KeyMap.h" #include "deskflow/PlatformScreen.h" -#include "platform/XWindowsPowerManager.h" +#include "platform/XDGPowerManager.h" #include #include @@ -251,5 +251,5 @@ private: // pointer to (singleton) screen. this is only needed by // ioErrorHandler(). static XWindowsScreen *s_screen; - XWindowsPowerManager m_powerManager; + XDGPowerManager m_powerManager; };