File indexing completed on 2024-03-24 04:59:51
0001 /** 0002 * SPDX-FileCopyrightText: 2019 Weixuan XIAO <veyx.shaw@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "screensaverinhibitplugin-macos.h" 0008 0009 #include "plugin_screensaver_inhibit_debug.h" 0010 #include <KPluginFactory> 0011 0012 K_PLUGIN_CLASS_WITH_JSON(ScreensaverInhibitPlugin, "kdeconnect_screensaver_inhibit.json") 0013 0014 ScreensaverInhibitPlugin::ScreensaverInhibitPlugin(QObject *parent, const QVariantList &args) 0015 : KdeConnectPlugin(parent, args) 0016 , m_caffeinateProcess(nullptr) 0017 { 0018 if (QFile::exists(QStringLiteral("/usr/bin/caffeinate"))) { 0019 m_caffeinateProcess = new QProcess(); 0020 m_caffeinateProcess->setProgram(QStringLiteral("caffeinate")); 0021 m_caffeinateProcess->setArguments({QStringLiteral("-d")}); // Prevent the display from sleeping 0022 m_caffeinateProcess->start(); 0023 } else { 0024 qWarning(KDECONNECT_PLUGIN_SCREENSAVER_INHIBIT) << "Cannot find caffeinate on macOS install"; 0025 } 0026 } 0027 0028 ScreensaverInhibitPlugin::~ScreensaverInhibitPlugin() 0029 { 0030 if (m_caffeinateProcess != nullptr) { 0031 m_caffeinateProcess->terminate(); 0032 m_caffeinateProcess = nullptr; 0033 } 0034 } 0035 0036 #include "moc_screensaverinhibitplugin-macos.cpp" 0037 #include "screensaverinhibitplugin-macos.moc"