Subject: re: IMPORTANT: wscons virtual screen configuration
To: <>
From: matthew green <mrg@eterna.com.au>
List: current-users
Date: 03/15/1999 11:46:52
actually, looking a little closer i notice that the fonts are
handled by wsfontload and the screens by wsconscfg, which are
separate programs. it seems silly to have wsconscfg to both,
as i previously proposed.
so, perhaps a shell script front end that calls the right
commands, using the same configuration file *is* the best idea.
ok, here they are (sans man page). i have not greatly tested
this, but it passed a few small runs i made.
--- cut here --- wscons.conf starts --- cut here ---
# $NetBSD$
#
# workstation console configuration
# fonts to load
# name width height enc file
#font ibm - 8 ibm /usr/share/pcvt/fonts/vt220l.808
#font pcvt - - pcvt /usr/share/pcvt/fonts/vt220h.816
#font pcvt - 8 pcvt /usr/share/pcvt/fonts/vt220h.808
# screens to create
# idx screen emul
screen 0 - vt100
screen 1 - vt100
screen 2 - vt100
screen 3 - vt100
screen 4 - -
#screen 4 80x25bf vt100
#screen 5 80x50 vt100
--- cut here --- wscons.conf ends --- cut here ---
--- cut here --- wsconfig starts --- cut here ---
# $NetBSD: rc.wscons,v 1.1 1999/03/13 14:54:22 drochner Exp $
wscfg=/usr/sbin/wsconscfg
wsfld=/usr/sbin/wsfontload
config=/etc/wscons.conf
usage="Usage: wsconfig [-n] [-f configfile] [-font fontpgm] [-screen screenpgm]"
DOIT=
while [ $# -gt 1 ]; do
case $1 in
-n)
DOIT=echo
;;
-f)
config=$2
shift
;;
-font)
wsfld=$2
shift
;;
-screen)
wscfg=$2
shift
;;
*)
echo $usage
exit 1
;;
esac
shift
done
# args mean:
# screen idx scr emul
# font name width height enc file
( while read type arg1 arg2 arg3 arg4 arg5; do
case "$type" in
\#*|"")
continue
;;
font)
name=$arg1
width=$arg2
height=$arg3
enc=$arg4
file=$arg5
cmd=$wsfld
case $width in
-)
;;
*)
cmd="$cmd -w $width"
;;
esac
case $height in
-)
;;
*)
cmd="$cmd -h $height"
;;
esac
case $enc in
-)
;;
*)
cmd="$cmd -e $enc"
;;
esac
cmd="$cmd -N $name $file"
eval $DOIT $cmd
;;
screen)
idx=$arg1
scr=$arg2
emul=$arg3
cmd=$wscfg
case $scr in
-)
;;
*)
cmd="$cmd -t $scr"
;;
esac
case $emul in
-)
;;
*)
cmd="$cmd -e $emul"
;;
esac
cmd="$cmd $idx"
eval $DOIT $cmd
;;
esac
done ) < $config
--- cut here --- wsconfig ends --- cut here ---