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/\

Reply via email to