# $OpenBSD: rc.wscons,v 1.2 2001/02/12 04:26:33 deraadt Exp $ # $NetBSD: rc.wscons,v 1.3 1999/05/15 14:28:14 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 0 ]; 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 ;; keyboard) kbd=$arg1 cmd=$wscfg case $kbd in -|auto) cmd="$cmd -k" ;; *) cmd="$cmd -k $kbd" ;; esac eval $DOIT $cmd ;; mux) cmd="$wscfg -m $arg1" eval $DOIT $cmd ;; esac done ) < $config