summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/Internal/logindmanager.hpp
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-27 15:13:49 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-27 15:13:49 +1000
commitd4dde2c02de48a0a8d89662519f0bf22bdd570e1 (patch)
treea3253cedaf8692ecf3009c5d368242112d74830d /plugin/src/Caelestia/Internal/logindmanager.hpp
parentservices/hypr: lock keys ignore mods (diff)
downloadcaelestia-shell-d4dde2c02de48a0a8d89662519f0bf22bdd570e1.tar.gz
caelestia-shell-d4dde2c02de48a0a8d89662519f0bf22bdd570e1.tar.bz2
caelestia-shell-d4dde2c02de48a0a8d89662519f0bf22bdd570e1.zip
idlemonitor: handle logind lock/unlock
Fixes #705
Diffstat (limited to 'plugin/src/Caelestia/Internal/logindmanager.hpp')
-rw-r--r--plugin/src/Caelestia/Internal/logindmanager.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/plugin/src/Caelestia/Internal/logindmanager.hpp b/plugin/src/Caelestia/Internal/logindmanager.hpp
new file mode 100644
index 0000000..72a3401
--- /dev/null
+++ b/plugin/src/Caelestia/Internal/logindmanager.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <qobject.h>
+#include <qqmlintegration.h>
+
+namespace caelestia::internal {
+
+class LogindManager : public QObject {
+ Q_OBJECT
+ QML_ELEMENT
+
+public:
+ explicit LogindManager(QObject* parent = nullptr);
+
+signals:
+ void aboutToSleep();
+ void resumed();
+ void lockRequested();
+ void unlockRequested();
+
+private slots:
+ void handlePrepareForSleep(bool sleep);
+ void handleLockRequested();
+ void handleUnlockRequested();
+};
+
+} // namespace caelestia::internal