#!@PREFIX@/sbin/runscript # Copyright (c) 2008-2009 Roy Marples # Released under the 2-clause BSD license. depend() { need localmount keyword -prefix } start() { wscfg=/usr/sbin/wsconscfg wsfld=/usr/sbin/wsfontload wsctl=/sbin/wsconsctl config=/etc/wscons.conf # 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) cmd=$wsfld [ "$arg2" != "-" ] && cmd="$cmd -w $arg2" [ "$arg3" != "-" ] && cmd="$cmd -h $arg3" [ "$arg4" != "-" ] && cmd="$cmd -e $arg4" cmd="$cmd -N $arg1 $arg5" eval "$cmd" ;; screen) cmd=$wscfg [ "$arg2" != "-" ] && cmd="$cmd -t $arg2" [ "$arg3" != "-" ] && cmd="$cmd -e $arg3" cmd="$cmd $arg1" eval "$cmd" ;; keyboard) cmd=$wscfg case "$arg1" in -|auto) cmd="$cmd -k" ;; *) cmd="$cmd -k $arg1" ;; esac $cmd ;; encoding) eval $wsctl -w "\"encoding=$arg1\"" ;; mapfile) local entry= while read entry; do case "$entry" in \#*|"") continue ;; *) cmd="$wsctl -w \"map+=$entry\"" eval "$cmd >/dev/null" ;; esac done < "$arg1" ;; mux) eval "$wscfg -m $arg1" ;; setvar) case "$arg1" in keyboard) cmd="$wsctl -kw $arg2" ;; display) cmd="$wsctl -dw $arg2" ;; mouse) cmd="$wsctl -mw $arg2" ;; *) cmd="$wsctl -w $arg1" ;; esac eval "$cmd" ;; esac done < "$config" }