On Fri, Sep 08, 2006 at 01:35:31AM +0300, Vlad Shakhov wrote: > On Thu, Sep 07, 2006 at 04:17:38PM +0200, Peter Colberg wrote: > > Package: wdm > > Version: 1.28-2.1 > > Severity: normal > > Tags: patch > > > > In Debian, the font displayed with the wdm greeter is quite ugly. > > Changing to another font is not possible at the moment, as wdm simply > > ignores the appropriate option in `/etc/GNUstep/Defaults/WMGLOBAL'. > > > > Fortunately, there exists a compile time option with wdm which allows to > > set a fake $HOME path. Setting this to `/etc' makes the wdm greeter query > > the font settings in `/etc/GNUstep/Defaults/WMGLOBAL', which is available > > by default if wmaker is installed. In any case, it allows one to alter > > the greeter font. > > > > Could you please use said option `--with-fakehome=/etc' with configure? > > Hello, Peter > > Before do it, I need to check for possible side-effects of turning on > this option. Thanks for your report.
As it turns out, you guessed right about the side-effects. I found a fonts cache file under the path /etc/.fonts.cache-1, which was obviously created by wdm. This is indirectly mentioned in the source file wdm-1.28/README.aa. As an alternative, could you have a look at the patch below? It allows setting the environment variable GNUSTEP_USER_ROOT via /etc/X11/wdm/wdm-config, which definitely does not produce any side-effects and has been working quite well since more than a year. A hackier, but nevertheless working approach not requiring to change the upstream source might be symlinking the GNUstep directory. The default HOME directory /var/run/wdm along with a symlink in /var/run/wdm/GNUstep pointing to /etc/GNUstep would have to be created by the wdm init script upon starting. Regards, Peter
diff -urN wdm-1.27~/INSTALL wdm-1.27/INSTALL --- wdm-1.27~/INSTALL 2004-05-28 06:21:17.000000000 +0200 +++ wdm-1.27/INSTALL 2005-01-05 14:19:13.000000000 +0100 @@ -281,6 +281,7 @@ DisplayManager*wdmLocale: <locale to use with wdmLogin> DisplayManager*wdmCursorTheme: <XFree86 4.3.x cursor theme to use> DisplayManager*wdmXineramaHead: <display on which login panel will appear> +DisplayManager*wdmUserRoot: <GNUSTEP_USER_ROOT path for wdmLogin> background specifications: pixmap:full_path_to_background_pixmap diff -urN wdm-1.27~/debian/config/wdm-config wdm-1.27/debian/config/wdm-config --- wdm-1.27~/debian/config/wdm-config 2005-01-05 14:24:32.000000000 +0100 +++ wdm-1.27/debian/config/wdm-config 2005-01-05 14:14:28.000000000 +0100 @@ -45,3 +45,4 @@ DisplayManager*wdmLoginConfig: /etc/X11/wdm/wdmlogin.conf DisplayManager*useSyslog: true DisplayManager*syslogFacility: LOG_AUTHPRIV +DisplayManager*wdmUserRoot: /etc/GNUstep diff -urN wdm-1.27~/doc/wdm.man.in wdm-1.27/doc/wdm.man.in --- wdm-1.27~/doc/wdm.man.in 2003-09-24 06:05:58.000000000 +0200 +++ wdm-1.27/doc/wdm.man.in 2005-01-05 14:17:51.000000000 +0100 @@ -472,6 +472,9 @@ cursors you can select cursor theme to use on login panel. XCURSOR_THEME environment variable will be set to value of this resource before starting wdmLogin. +.IP "\fBDisplayManager.wdmUserRoot\fP" +GNUSTEP_USER_ROOT environment variable will be set to value of this resource +before starting wdmLogin. .SH "CONFIGURATION FILE" The default location of the .I wdm diff -urN wdm-1.27~/src/wdm/Greet.c wdm-1.27/src/wdm/Greet.c --- wdm-1.27~/src/wdm/Greet.c 2003-09-18 22:20:04.000000000 +0200 +++ wdm-1.27/src/wdm/Greet.c 2005-01-05 14:13:41.000000000 +0100 @@ -132,6 +132,7 @@ extern char *wdmLoginConfig; extern char *wdmCursorTheme; extern int wdmXineramaHead; +extern char *wdmUserRoot; static int pipe_filedes[2]; static char name[128], password[128]; @@ -223,6 +224,9 @@ if(*wdmCursorTheme) env = WDMSetEnv(env, "XCURSOR_THEME", wdmCursorTheme); + if(*wdmUserRoot) + env = WDMSetEnv(env, "GNUSTEP_USER_ROOT", wdmUserRoot); + if((argv[0] = strrchr(wdmLogin, '/')) == NULL) argv[0] = wdmLogin; else diff -urN wdm-1.27~/src/wdm/resource.c wdm-1.27/src/wdm/resource.c --- wdm-1.27~/src/wdm/resource.c 2004-05-28 06:18:21.000000000 +0200 +++ wdm-1.27/src/wdm/resource.c 2005-01-05 14:12:22.000000000 +0100 @@ -94,6 +94,7 @@ int_resource wdmXineramaHead;/* select xinerama head where to show login */ /* panel this _should_ be display dependant, */ /* but I make it later */ +char *wdmUserRoot; /* GNUSTEP_USER_ROOT path for wdmLogin */ # define DM_STRING 0 # define DM_INT 1 @@ -392,6 +393,8 @@ ""} , { "wdmXineramaHead", "WdmXineramaHead", DM_INT, &wdmXineramaHead.c, "0"} , +{ "wdmUserRoot", "WdmUserRoot", DM_STRING, &wdmUserRoot, + ""} , }; # define NUM_WDM_RESOURCES (sizeof wdmResources/\