mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-18 10:35:55 +00:00
9d62501fd8
Note that `rc' and `rc.shutdown' could not be imported because we already have files with those names.
136 lines
1.8 KiB
Bash
Executable File
136 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $NetBSD: wscons,v 1.5 2000/08/21 23:02:25 lukem Exp $
|
|
#
|
|
|
|
# PROVIDE: wscons
|
|
# REQUIRE: mountcritremote
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="wscons"
|
|
rcvar=$name
|
|
start_cmd="wscons_start"
|
|
stop_cmd=":"
|
|
|
|
wscons_start()
|
|
{
|
|
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
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|