Blob Blame History Raw
From f17bf51d90cc7359040b2f504c019b22a451cce7 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Mon, 23 Mar 2015 15:19:09 +0900
Subject: [PATCH 2/3] Default to xdg-screensaver for lock_screen

xdg-screensaver script is available with xdg-utils
package, which is maintained by freedesktop.org
and designed to be used in various DE. So falling
back to use xdg-screensaver as default is preferable
for many users.
---
 gvfs-integration/cairo-dock-gio-vfs.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gvfs-integration/cairo-dock-gio-vfs.c b/gvfs-integration/cairo-dock-gio-vfs.c
index e3f020b..6256c70 100644
--- a/gvfs-integration/cairo-dock-gio-vfs.c
+++ b/gvfs-integration/cairo-dock-gio-vfs.c
@@ -1566,6 +1566,14 @@ static GList *cairo_dock_gio_vfs_list_apps_for_file (const gchar *cBaseURI)
 	return pList;
 }
 
+static void cairo_dock_gio_vfs_lock_screen (void) {
+	gchar *cResult = cairo_dock_launch_command_sync ("which xdg-screensaver");
+	if (cResult != NULL && *cResult == '/')
+		cairo_dock_launch_command ("xdg-screensaver lock");
+
+	g_free (cResult);
+}
+
 gboolean cairo_dock_gio_vfs_fill_backend(CairoDockDesktopEnvBackend *pVFSBackend)
 {
 	if(pVFSBackend)
@@ -1590,6 +1598,7 @@ gboolean cairo_dock_gio_vfs_fill_backend(CairoDockDesktopEnvBackend *pVFSBackend
 		pVFSBackend->empty_trash = cairo_dock_gio_vfs_empty_trash;
 		pVFSBackend->get_desktop_path = cairo_dock_gio_vfs_get_desktop_path;
 		pVFSBackend->list_apps_for_file = cairo_dock_gio_vfs_list_apps_for_file;
+		pVFSBackend->lock_screen = cairo_dock_gio_vfs_lock_screen;
 	}
 
 	return TRUE;
-- 
2.1.0