summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm.c18
-rw-r--r--daemon/gdm.h4
-rw-r--r--daemon/slave.c6
3 files changed, 28 insertions, 0 deletions
diff --git a/daemon/gdm.c b/daemon/gdm.c
index e579216d..4bb42c50 100644
--- a/daemon/gdm.c
+++ b/daemon/gdm.c
@@ -2222,6 +2222,24 @@ update_config (const char *key)
notify_displays_int (GDM_NOTIFY_ALLOWREMOTEAUTOLOGIN, val);
goto update_config_ok;
+ } else if (is_key (key, GDM_KEY_SYSMENU)) {
+ gboolean val = gnome_config_get_bool (GDM_KEY_SYSMENU);
+ if (ve_bool_equal (val, GdmSystemMenu))
+ goto update_config_ok;
+ GdmSystemMenu = val;
+
+ notify_displays_int (GDM_NOTIFY_SYSMENU, val);
+
+ goto update_config_ok;
+ } else if (is_key (key, GDM_KEY_CONFIG_AVAILABLE)) {
+ gboolean val = gnome_config_get_bool (GDM_KEY_CONFIG_AVAILABLE);
+ if (ve_bool_equal (val, GdmConfigAvailable))
+ goto update_config_ok;
+ GdmConfigAvailable = val;
+
+ notify_displays_int (GDM_NOTIFY_CONFIG_AVAILABLE, val);
+
+ goto update_config_ok;
} else if (is_key (key, GDM_KEY_RETRYDELAY)) {
int val = gnome_config_get_int (GDM_KEY_RETRYDELAY);
if (val == GdmRetryDelay)
diff --git a/daemon/gdm.h b/daemon/gdm.h
index dd916434..df63f82c 100644
--- a/daemon/gdm.h
+++ b/daemon/gdm.h
@@ -423,6 +423,8 @@ GdmXServer * gdm_find_x_server (const char *id);
#define GDM_NOTIFY_ALLOWREMOTEROOT "AllowRemoteRoot" /* <true/false as int> */
#define GDM_NOTIFY_ALLOWROOT "AllowRoot" /* <true/false as int> */
#define GDM_NOTIFY_ALLOWREMOTEAUTOLOGIN "AllowRemoteAutoLogin" /* <true/false as int> */
+#define GDM_NOTIFY_SYSMENU "SystemMenu" /* <true/false as int> */
+#define GDM_NOTIFY_CONFIG_AVAILABLE "ConfigAvailable" /* <true/false as int> */
#define GDM_NOTIFY_RETRYDELAY "RetryDelay" /* <seconds> */
#define GDM_NOTIFY_GREETER "Greeter" /* <greeter binary> */
#define GDM_NOTIFY_REMOTEGREETER "RemoteGreeter" /* <greeter binary> */
@@ -553,6 +555,8 @@ GdmXServer * gdm_find_x_server (const char *id);
* xdmcp/TimedLogin (2.3.90.3)
* xdmcp/TimedLoginEnable (2.3.90.3)
* xdmcp/TimedLoginDelay (2.3.90.3)
+ * greeter/SystemMenu (2.3.90.3)
+ * greeter/ConfigAvailable (2.3.90.3)
* Supported since: 2.3.90.2
* Arguments: <key>
* <key> is just the base part of the key such as "security/AllowRemoteRoot"
diff --git a/daemon/slave.c b/daemon/slave.c
index a7288c90..efaedb29 100644
--- a/daemon/slave.c
+++ b/daemon/slave.c
@@ -3028,6 +3028,12 @@ gdm_slave_handle_notify (GdmConnection *conn, const char *msg, gpointer data)
GdmAllowRemoteRoot = val;
} else if (sscanf (msg, GDM_NOTIFY_ALLOWREMOTEAUTOLOGIN " %d", &val) == 1) {
GdmAllowRemoteAutoLogin = val;
+ } else if (sscanf (msg, GDM_NOTIFY_SYSMENU " %d", &val) == 1) {
+ GdmSystemMenu = val;
+ kill (display->greetpid, SIGHUP);
+ } else if (sscanf (msg, GDM_NOTIFY_CONFIG_AVAILABLE " %d", &val) == 1) {
+ GdmConfigAvailable = val;
+ kill (display->greetpid, SIGHUP);
} else if (sscanf (msg, GDM_NOTIFY_RETRYDELAY " %d", &val) == 1) {
GdmRetryDelay = val;
} else if (strncmp (msg, GDM_NOTIFY_GREETER " ",