openrc/init.d/termencoding.in

49 lines
1.0 KiB
Plaintext
Raw Normal View History

#!@SBINDIR@/runscript
2009-05-01 15:11:40 +01:00
# Copyright (c) 2008-2009 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.
2008-03-27 13:49:49 +00:00
description="Configures terminal encoding."
ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
2009-04-27 07:51:18 +00:00
: ${unicode:=${UNICODE}}
2008-03-27 13:49:49 +00:00
depend()
{
keyword -lxc -openvz -prefix -uml -vserver -xenu
use root
after bootmisc
2008-03-27 13:49:49 +00:00
}
start()
{
local ttydev=/dev/tty n=
[ -d /dev/vc ] && ttydev=/dev/vc/
# Set terminal encoding to either ASCII or UNICODE.
# See utf-8(7) for more information.
local termencoding="%@" termmsg="ASCII"
if yesno ${unicode}; then
termencoding="%G"
termmsg="UTF-8"
fi
2009-04-27 07:51:18 +00:00
ebegin "Setting terminal encoding [$termmsg]"
2008-03-27 13:49:49 +00:00
n=1
2009-04-27 07:51:18 +00:00
while [ ${n} -le "$ttyn" ]; do
printf "\033%s" "$termencoding" >$ttydev$n
: $(( n += 1 ))
2008-03-27 13:49:49 +00:00
done
# Save the encoding for use immediately at boot
if checkpath -W "$RC_LIBEXECDIR"; then
mkdir -p "$RC_LIBEXECDIR"/console
if yesno ${unicode:-${UNICODE}}; then
echo "" > "$RC_LIBEXECDIR"/console/unicode
else
rm -f "$RC_LIBEXECDIR"/console/unicode
fi
fi
2008-03-27 13:49:49 +00:00
eend 0
}