summaryrefslogtreecommitdiffstats
path: root/kdesktop/dbus
diff options
context:
space:
mode:
authorEmanoil Kotsev <deloptes@gmail.com>2024-09-07 08:17:46 +0000
committerEmanoil Kotsev <deloptes@gmail.com>2024-12-11 22:51:17 +0000
commit1dec40d10689ff9678fb36fec0f3d87439562897 (patch)
treed491842e4a2650dcaacf18f869af99c5606e18c2 /kdesktop/dbus
parent1c05f36ad14d115b52151b61a06b239d0e6ef27b (diff)
downloadtdebase-1dec40d10689ff9678fb36fec0f3d87439562897.tar.gz
tdebase-1dec40d10689ff9678fb36fec0f3d87439562897.zip
Add DBus screen saver interface to TDE
Signed-off-by: Emanoil Kotsev <deloptes@gmail.com>
Diffstat (limited to 'kdesktop/dbus')
-rw-r--r--kdesktop/dbus/screensaver/CMakeLists.txt44
-rw-r--r--kdesktop/dbus/screensaver/org.freedesktop.ScreenSaver.xml41
-rw-r--r--kdesktop/dbus/screensaver/org.trinitydesktop.ScreenSaver.xml11
3 files changed, 96 insertions, 0 deletions
diff --git a/kdesktop/dbus/screensaver/CMakeLists.txt b/kdesktop/dbus/screensaver/CMakeLists.txt
new file mode 100644
index 000000000..9fb887326
--- /dev/null
+++ b/kdesktop/dbus/screensaver/CMakeLists.txt
@@ -0,0 +1,44 @@
+#################################################
+#
+# (C) 2024 Emanoil Kotsev
+# deloptes (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${DBUS_TQT_INCLUDE_DIRS}
+)
+
+set( INTROSPECTIONPATH ${CMAKE_SOURCE_DIR}/kdesktop/dbus/screensaver )
+
+set( ScreenSaver_HDRS dbusbaseNode.h introspectableInterface.h screensaverInterface.h screensaverNode.h screensaverProxy.h)
+set( ScreenSaver_SRCS dbusbaseNode.cpp introspectableInterface.cpp screensaverInterface.cpp screensaverNode.cpp screensaverProxy.cpp )
+
+##### ScreenSaver #########################
+add_custom_command(
+ OUTPUT ${ScreenSaver_HDRS} ${ScreenSaver_SRCS}
+ COMMAND ${DBUSXML2QT3_EXECUTABLE} ${INTROSPECTIONPATH}/org.freedesktop.ScreenSaver.xml 2>/dev/null
+ DEPENDS ${INTROSPECTIONPATH}/org.freedesktop.ScreenSaver.xml
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+)
+
+tde_add_library( screensaverinterfaces STATIC_PIC AUTOMOC
+ SOURCES ${ScreenSaver_SRCS}
+ LINK ${DBUS_TQT_LIBRARIES}
+)
+
+##### install headers ###################################
+
+install(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ DESTINATION ${INCLUDE_INSTALL_DIR}
+ USE_SOURCE_PERMISSIONS
+ FILES_MATCHING PATTERN PATTERN "*.h"
+ PATTERN "CMakeFiles" EXCLUDE
+)
diff --git a/kdesktop/dbus/screensaver/org.freedesktop.ScreenSaver.xml b/kdesktop/dbus/screensaver/org.freedesktop.ScreenSaver.xml
new file mode 100644
index 000000000..1f7b09b28
--- /dev/null
+++ b/kdesktop/dbus/screensaver/org.freedesktop.ScreenSaver.xml
@@ -0,0 +1,41 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/org/freedesktop/screensaver">
+ <interface name="org.freedesktop.ScreenSaver">
+ <signal name="ActiveChanged">
+ <arg type="b"/>
+ </signal>
+ <method name="Lock">
+ </method>
+ <method name="SimulateUserActivity">
+ </method>
+ <method name="GetActive">
+ <arg type="b" direction="out"/>
+ </method>
+ <method name="GetActiveTime">
+ <arg name="seconds" type="u" direction="out"/>
+ </method>
+ <method name="GetSessionIdleTime">
+ <arg name="seconds" type="u" direction="out"/>
+ </method>
+ <method name="SetActive">
+ <arg type="b" direction="out"/>
+ <arg name="e" type="b" direction="in"/>
+ </method>
+ <method name="Inhibit">
+ <arg name="application_name" type="s" direction="in"/>
+ <arg name="reason_for_inhibit" type="s" direction="in"/>
+ <arg name="cookie" type="u" direction="out"/>
+ </method>
+ <method name="UnInhibit">
+ <arg name="cookie" type="u" direction="in"/>
+ </method>
+ <method name="Throttle">
+ <arg name="application_name" type="s" direction="in"/>
+ <arg name="reason_for_inhibit" type="s" direction="in"/>
+ <arg name="cookie" type="u" direction="out"/>
+ </method>
+ <method name="UnThrottle">
+ <arg name="cookie" type="u" direction="in"/>
+ </method>
+ </interface>
+</node> \ No newline at end of file
diff --git a/kdesktop/dbus/screensaver/org.trinitydesktop.ScreenSaver.xml b/kdesktop/dbus/screensaver/org.trinitydesktop.ScreenSaver.xml
new file mode 100644
index 000000000..cac5b2319
--- /dev/null
+++ b/kdesktop/dbus/screensaver/org.trinitydesktop.ScreenSaver.xml
@@ -0,0 +1,11 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/org/trinitydesktop/screensaver">
+ <interface name="org.trinitydesktop.screensaver">
+ <!--lock the screen, and show the switch user prompt -->
+ <method name="SwitchUser" />
+ <!-- Re-read configuration -->
+ <method name="configure" />
+ <!-- Emitted just before we start the lock process. Clients should release any X grabs -->
+ <signal name="AboutToLock" />
+ </interface>
+</node> \ No newline at end of file