Changeset View
Changeset View
Standalone View
Standalone View
contrib/openrc/init.d/wscons.in
- This file was added.
Property | Old Value | New Value |
---|---|---|
svn:eol-style | null | native \ No newline at end of property |
svn:keywords | null | FreeBSD=%H \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
#!@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" | |||||
} |