From f17bf51d90cc7359040b2f504c019b22a451cce7 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA 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