diff options
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gdm.c | 18 | ||||
-rw-r--r-- | daemon/gdm.h | 4 | ||||
-rw-r--r-- | daemon/slave.c | 6 |
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 " ", |