diff options
author | Brian Cameron <brian.cameron@sun.com> | 2006-04-27 01:06:07 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2006-04-27 01:06:07 +0000 |
commit | 425ce74b5ddfe183ec538642f3f07630bd4dd121 (patch) | |
tree | 944fb6064640c0faf2295fb1a86daab65b8c741b /gui/gdmconfig.c | |
parent | 9f7de058ddaf05ee03e6c85d9fa70f4434d66503 (diff) | |
download | gdm-425ce74b5ddfe183ec538642f3f07630bd4dd121.tar.gz |
Adding per-display configuration support to GDM. Now if user has a file
2006-04-26 Brian Cameron <brian.cameron@sun.com>
Adding per-display configuration support to GDM. Now if user has
a file named /etc/gdm/custom.conf:<displaynum>, the settings in this
file will override the /usr/share/gdm/defaults.conf and
/etc/X11/gdm/custom.conf settings. Only keys that affect the GUI
behavior are supported. These include those in the "gui" and
"greeter" sections and the security/PamStack key.
* daemon/gdm.c: Update GET_CONFIG command so it accepts a display
argument. It is backwards compatible and will return the per-display
setting if this is passed in, or the non-display value if not
passed in. Fix bug that caused PreFetch key to not just return
the once as it is supposed to.
* daemon/gdmconfig.[ch], jui/gdmconfig.c: Updated to support
per-display configuration.
* daemon/gdm.h: Updated documentation for new command. Corrected some
errors.
* daemon/verify-pam.c, daemon/gdmconfig.c config/gdm.conf.in: Add
security/PamStack configuration variable as a per-display setting.
This allows the sysadmin to specify a different PAM stack, if desired
and also allows customization per display. Also added key info for
some BackgroundProgram keys that were missing.
* config/PreSession.in: now requests configuration data per-display.
Will use normal configuration if no per-display config files.
* gui/.cvsignore: Add gdmsetup.desktop.in
* gui/gdmdynamic.: Improve usage warning.
* gui/gdmlogin.c: Add some debug
* docs/C/gdm.xml: Updated docs to reflect new per-display config.
Diffstat (limited to 'gui/gdmconfig.c')
-rw-r--r-- | gui/gdmconfig.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gui/gdmconfig.c b/gui/gdmconfig.c index 3071e801..4966501f 100644 --- a/gui/gdmconfig.c +++ b/gui/gdmconfig.c @@ -126,15 +126,21 @@ gdm_config_get_result (gchar *key) gchar *newkey = g_strdup (key); gchar *command = NULL; gchar *result = NULL; + static char *display = NULL; g_strstrip (newkey); p = strchr (newkey, '='); if (p != NULL) *p = '\0'; - command = g_strdup_printf ("GET_CONFIG %s", newkey); - result = gdmcomm_call_gdm (command, NULL /* auth cookie */, - "2.13.0.1", comm_tries); + display = g_strdup (g_getenv ("DISPLAY")); + if (display == NULL) + command = g_strdup_printf ("GET_CONFIG %s", newkey); + else + command = g_strdup_printf ("GET_CONFIG %s %s", newkey, display); + + result = gdmcomm_call_gdm (command, NULL /* auth cookie */, + "2.13.0.1", comm_tries); g_free (command); g_free (newkey); |