From 88d7e3b836200e7834470155b087229736368b70 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 9 Aug 2022 09:19:19 +0100 Subject: [PATCH] screensaver blanking dbus api - also support /ScreenSaver path --- src/bin/e_msgbus.c | 7 +++++++ src/bin/e_msgbus.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/bin/e_msgbus.c b/src/bin/e_msgbus.c index 37fd979ae..f31ac74c0 100644 --- a/src/bin/e_msgbus.c +++ b/src/bin/e_msgbus.c @@ -26,6 +26,7 @@ static const Eldbus_Service_Interface_Desc _e_core_desc = { #define SCREENSAVER_BUS "org.freedesktop.ScreenSaver" #define SCREENSAVER_IFACE "org.freedesktop.ScreenSaver" #define SCREENSAVER_PATH "/org/freedesktop/ScreenSaver" +#define SCREENSAVER_PATH2 "/ScreenSaver" static void _e_msgbus_screensaver_request_name_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending); static void _e_msgbus_screensaver_inhibit_free(E_Msgbus_Data_Screensaver_Inhibit *inhibit); static void _e_msgbus_screensaver_owner_change_cb(void *data EINA_UNUSED, const char *bus, const char *old_id, const char *new_id); @@ -69,6 +70,8 @@ e_msgbus_init(void) e_msgbus_data->screensaver_iface = eldbus_service_interface_register (e_msgbus_data->conn, SCREENSAVER_PATH, &_screensaver_core_desc); + e_msgbus_data->screensaver_iface2 = eldbus_service_interface_register + (e_msgbus_data->conn, SCREENSAVER_PATH2, &_screensaver_core_desc); eldbus_name_request(e_msgbus_data->conn, SCREENSAVER_BUS, 0, _e_msgbus_screensaver_request_name_cb, NULL); return 1; @@ -79,6 +82,10 @@ e_msgbus_shutdown(void) { E_Msgbus_Data_Screensaver_Inhibit *inhibit; + if (e_msgbus_data->screensaver_iface2) + eldbus_service_object_unregister(e_msgbus_data->screensaver_iface2); + if (e_msgbus_data->screensaver_iface) + eldbus_service_object_unregister(e_msgbus_data->screensaver_iface); if (e_msgbus_data->e_iface) eldbus_service_object_unregister(e_msgbus_data->e_iface); if (e_msgbus_data->conn) diff --git a/src/bin/e_msgbus.h b/src/bin/e_msgbus.h index 8be049f82..bb2fb1a8e 100644 --- a/src/bin/e_msgbus.h +++ b/src/bin/e_msgbus.h @@ -14,6 +14,7 @@ struct _E_Msgbus_Data Eldbus_Connection *conn; Eldbus_Service_Interface *e_iface; Eldbus_Service_Interface *screensaver_iface; + Eldbus_Service_Interface *screensaver_iface2; Eina_List *screensaver_inhibits; };