summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Steinbeiss <simon.steinbeiss@elfenbeinturm.at>2020-03-24 00:25:52 +0100
committerSimon Steinbeiss <simon.steinbeiss@elfenbeinturm.at>2020-03-28 22:10:20 +0100
commit3faf52e8d61db5770499d454e54981a70e60d1b5 (patch)
tree73b40f3e018f5fe49698b640d1f1129710d93028
parent04b6b4ec4a2e6f7ab26f0c057a9e3b6b1d9a7106 (diff)
downloadxfce4-session-3faf52e8d61db5770499d454e54981a70e60d1b5.tar.gz
Add support for xfce4-screensaver (Bug #16522)
-rw-r--r--xfce4-session/xfce-screensaver.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/xfce4-session/xfce-screensaver.c b/xfce4-session/xfce-screensaver.c
index 947c4862..1ea24e7a 100644
--- a/xfce4-session/xfce-screensaver.c
+++ b/xfce4-session/xfce-screensaver.c
@@ -72,6 +72,7 @@ typedef enum
SCREENSAVER_TYPE_NONE,
SCREENSAVER_TYPE_FREEDESKTOP,
SCREENSAVER_TYPE_CINNAMON,
+ SCREENSAVER_TYPE_XFCE,
SCREENSAVER_TYPE_MATE,
SCREENSAVER_TYPE_GNOME,
SCREENSAVER_TYPE_OTHER,
@@ -251,6 +252,13 @@ xfce_screensaver_setup(XfceScreenSaver *saver)
DBG ("using cinnamon screensaver daemon");
saver->priv->screensaver_type = SCREENSAVER_TYPE_CINNAMON;
} else if (screen_saver_proxy_setup (saver,
+ "org.xfce.ScreenSaver",
+ "/org/xfce/ScreenSaver",
+ "org.xfce.ScreenSaver"))
+ {
+ DBG ("using xfce screensaver daemon");
+ saver->priv->screensaver_type = SCREENSAVER_TYPE_XFCE;
+ } else if (screen_saver_proxy_setup (saver,
"org.mate.ScreenSaver",
"/org/mate/ScreenSaver",
"org.mate.ScreenSaver"))
@@ -359,7 +367,7 @@ xfce_screensaver_new (void)
G_OBJECT(saver),
LOCK_COMMAND);
}
-
+
return XFCE_SCREENSAVER (saver);
}
@@ -400,7 +408,7 @@ xfce_reset_screen_saver (XfceScreenSaver *saver)
* Calling this function with inhibit as TRUE will prevent the user's
* screensaver from activating. This is useful when the user is watching
* a movie or giving a presentation.
- *
+ *
* Calling this function with inhibit as FALSE will remove any current
* screensaver inhibit the XfceScreenSaver object has.
*
@@ -410,6 +418,7 @@ xfce_screensaver_inhibit (XfceScreenSaver *saver,
gboolean inhibit)
{
if (saver->priv->screensaver_type != SCREENSAVER_TYPE_FREEDESKTOP &&
+ saver->priv->screensaver_type != SCREENSAVER_TYPE_XFCE &&
saver->priv->screensaver_type != SCREENSAVER_TYPE_MATE)
{
/* remove any existing keepalive */
@@ -485,6 +494,7 @@ xfce_screensaver_lock (XfceScreenSaver *saver)
{
switch (saver->priv->screensaver_type) {
case SCREENSAVER_TYPE_FREEDESKTOP:
+ case SCREENSAVER_TYPE_XFCE:
case SCREENSAVER_TYPE_MATE:
case SCREENSAVER_TYPE_GNOME:
{
@@ -551,7 +561,7 @@ xfce_screensaver_lock (XfceScreenSaver *saver)
{
ret = g_spawn_command_line_async ("xdg-screensaver lock", NULL);
}
-
+
if (!ret)
{
ret = g_spawn_command_line_async ("xscreensaver-command -lock", NULL);