$OpenBSD: patch-vncserver,v 1.2 2002/03/25 11:57:45 wilfried Exp $ --- vncserver.orig Wed Mar 20 00:40:46 2002 +++ vncserver Sun Mar 24 19:42:20 2002 @@ -56,13 +56,23 @@ "xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\" &\n". "twm &\n"); +$defaultFontPath + = ( + "/usr/X11R6/lib/X11/fonts/Type1/,". + "/usr/X11R6/lib/X11/fonts/Speedo/,". + "/usr/X11R6/lib/X11/fonts/cyrillic/,". + "/usr/X11R6/lib/X11/fonts/misc/,". + "/usr/X11R6/lib/X11/fonts/75dpi/,". + "/usr/X11R6/lib/X11/fonts/100dpi/" + ); + chop($host = `uname -n`); # Check command line options &ParseOptions("-geometry",1,"-depth",1,"-pixelformat",1,"-name",1,"-kill",1, - "-help",0,"-h",0,"--help",0); + "-help",0,"-h",0,"--help",0,"-fp",1); &Usage() if ($opt{'-help'} || $opt{'-h'} || $opt{'--help'}); @@ -85,6 +95,25 @@ &CheckGeometryAndDepth(); +# bmah: Construct font path. Starting from a list of possible font directories +# bmah: make up the set of those that have fonts.dir files we can read. +# bmah: Probably there are way better methods of doing this. + +if (!$opt{'-fp'}) { + $opt{'-fp'} = $defaultFontPath; +} + +@fontPathElements = split(/,/, "$opt{'-fp'}"); + +$fontPath = ''; + +foreach $i (0.."$#fontPathElements") { + if (-r "$fontPathElements[$i]/fonts.dir") { + $fontPath .= "$fontPathElements[$i],"; + } +} +chop $fontPath; + if ($opt{'-name'}) { $desktopName = $opt{'-name'}; } @@ -210,6 +239,7 @@ $ENV{DISPLAY}= "$host:$displayNumber"; } $ENV{VNCDESKTOP}= $desktopName; +$ENV{XAUTHORITY}= $xauthorityFile; system("$vncUserDir/xstartup >> " . "edString($desktopLog) . " 2>&1 &"); @@ -221,6 +251,8 @@ # CheckGeometryAndDepth simply makes sure that the geometry and depth values # are sensible. # +# bmah: Bring in the fontpath we computed earlier. +$cmd .= " -fp $fontPath"; sub CheckGeometryAndDepth {