[gnome-settings-daemon] dummy: Add support for stub daemons
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] dummy: Add support for stub daemons
- Date: Tue, 11 Oct 2016 09:13:15 +0000 (UTC)
commit 32e29bc370e7599c3a429b185cbfa0b176e6c7eb
Author: Bastien Nocera <hadess hadess net>
Date: Tue Oct 4 22:44:07 2016 +0200
dummy: Add support for stub daemons
So that gnome-session can keep a list of hard-coded gsd daemons for now,
we'll need to replace some of the daemons with dummy ones.
For each of the daemons that can be disabled, create a .desktop file
anyway, and launch a gsd-dummy.
https://bugzilla.gnome.org/show_bug.cgi?id=772370
plugins/common/daemon-skeleton-gtk.h | 4 ++-
plugins/common/daemon-skeleton.h | 4 ++-
plugins/dummy/Makefile.am | 21 +++++++++++++++++++-
.../org.gnome.SettingsDaemon.Dummy.desktop.in | 9 ++++++++
4 files changed, 35 insertions(+), 3 deletions(-)
---
diff --git a/plugins/common/daemon-skeleton-gtk.h b/plugins/common/daemon-skeleton-gtk.h
index 3601d1e..05d94a2 100644
--- a/plugins/common/daemon-skeleton-gtk.h
+++ b/plugins/common/daemon-skeleton-gtk.h
@@ -28,10 +28,12 @@
static MANAGER *manager = NULL;
static int timeout = -1;
+static char *dummy_name = NULL;
static gboolean verbose = FALSE;
static GOptionEntry entries[] = {
{ "exit-time", 0, 0, G_OPTION_ARG_INT, &timeout, "Exit after n seconds time", NULL },
+ { "dummy-name", 0, 0, G_OPTION_ARG_STRING, &dummy_name, "Name when using the dummy daemon", NULL },
{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "Verbose", NULL },
{NULL}
};
@@ -121,7 +123,7 @@ register_with_gnome_session (void)
startup_id = g_getenv ("DESKTOP_AUTOSTART_ID");
g_dbus_proxy_call (proxy,
"RegisterClient",
- g_variant_new ("(ss)", PLUGIN_NAME, startup_id ? startup_id : ""),
+ g_variant_new ("(ss)", dummy_name ? dummy_name : PLUGIN_NAME, startup_id ?
startup_id : ""),
G_DBUS_CALL_FLAGS_NONE,
-1,
NULL,
diff --git a/plugins/common/daemon-skeleton.h b/plugins/common/daemon-skeleton.h
index fdb1c85..be71442 100644
--- a/plugins/common/daemon-skeleton.h
+++ b/plugins/common/daemon-skeleton.h
@@ -27,10 +27,12 @@
static MANAGER *manager = NULL;
static int timeout = -1;
+static char *dummy_name = NULL;
static gboolean verbose = FALSE;
static GOptionEntry entries[] = {
{ "exit-time", 0, 0, G_OPTION_ARG_INT, &timeout, "Exit after n seconds time", NULL },
+ { "dummy-name", 0, 0, G_OPTION_ARG_STRING, &dummy_name, "Name when using the dummy daemon", NULL },
{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "Verbose", NULL },
{NULL}
};
@@ -121,7 +123,7 @@ register_with_gnome_session (GMainLoop *loop)
startup_id = g_getenv ("DESKTOP_AUTOSTART_ID");
g_dbus_proxy_call (proxy,
"RegisterClient",
- g_variant_new ("(ss)", PLUGIN_NAME, startup_id ? startup_id : ""),
+ g_variant_new ("(ss)", dummy_name ? dummy_name : PLUGIN_NAME, startup_id ?
startup_id : ""),
G_DBUS_CALL_FLAGS_NONE,
-1,
NULL,
diff --git a/plugins/dummy/Makefile.am b/plugins/dummy/Makefile.am
index 0414439..cb5856c 100644
--- a/plugins/dummy/Makefile.am
+++ b/plugins/dummy/Makefile.am
@@ -19,7 +19,26 @@ gsd_dummy_CPPFLAGS = \
gsd_dummy_LDADD = $(DUMMY_LIBS) $(top_builddir)/gnome-settings-daemon/libgsd.la
-EXTRA_DIST = $(NULL)
+desktopdir = $(sysconfdir)/xdg/autostart
+
+desktop_DATA =
+if !SMARTCARD_SUPPORT
+desktop_DATA += org.gnome.SettingsDaemon.Smartcard.desktop
+endif
+if !HAVE_WACOM
+desktop_DATA += org.gnome.SettingsDaemon.Wacom.desktop
+endif
+if !BUILD_PRINT_NOTIFICATIONS
+desktop_DATA += org.gnome.SettingsDaemon.PrintNotifications.desktop
+endif
+if !BUILD_RFKILL
+desktop_DATA += org.gnome.SettingsDaemon.Rfkill.desktop
+endif
+
+%.desktop: org.gnome.SettingsDaemon.Dummy.desktop.in Makefile
+ $(AM_V_GEN) PLUGINNAME=`echo $@ | sed 's,.desktop,,'` && sed -e "s|\@pluginname\@|$$PLUGINNAME|" -e
"s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+EXTRA_DIST = org.gnome.SettingsDaemon.Dummy.desktop.in
CLEANFILES = $(NULL)
diff --git a/plugins/dummy/org.gnome.SettingsDaemon.Dummy.desktop.in
b/plugins/dummy/org.gnome.SettingsDaemon.Dummy.desktop.in
new file mode 100644
index 0000000..fa80c87
--- /dev/null
+++ b/plugins/dummy/org.gnome.SettingsDaemon.Dummy.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=GNOME Settings Daemon's @pluginname@ replacement plugin
+Exec=@libexecdir@/gsd-dummy --dummy-name=@pluginname@
+OnlyShowIn=GNOME;
+NoDisplay=true
+X-GNOME-Autostart-Phase=Initialization
+X-GNOME-Autostart-Notify=true
+X-GNOME-AutoRestart=true
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]