initial commit
This commit is contained in:
108
init.d/wscons.in
Normal file
108
init.d/wscons.in
Normal file
@@ -0,0 +1,108 @@
|
||||
#!@SBINDIR@/openrc-run
|
||||
# Copyright (c) 2007-2015 The OpenRC Authors.
|
||||
# See the Authors file at the top-level directory of this distribution and
|
||||
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
|
||||
#
|
||||
# This file is part of OpenRC. It is subject to the license terms in
|
||||
# the LICENSE file found in the top-level directory of this
|
||||
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
|
||||
# This file may not be copied, modified, propagated, or distributed
|
||||
# except according to the terms contained in the LICENSE file.
|
||||
|
||||
depend()
|
||||
{
|
||||
after clock
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user