diff options
Diffstat (limited to 'init.d/termencoding.in')
-rw-r--r-- | init.d/termencoding.in | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/init.d/termencoding.in b/init.d/termencoding.in new file mode 100644 index 00000000..bdae8362 --- /dev/null +++ b/init.d/termencoding.in @@ -0,0 +1,35 @@ +#!@PREFIX@/sbin/runscript +# Copyright 2008 Roy Marples <roy@marples.name> +# All rights reserved. Released under the 2-clause BSD license. + +description="Configures terminal encoding." + +ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} +unicode=${unicode:-${UNICODE}} + +depend() +{ + keyword noopenvz noprefix nouml novserver noxenu +} + +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 + + ebegin "Setting terminal encoding to ${termmsg}" + n=1 + while [ ${n} -le "${ttyn}" ]; do + printf "\033%s" "${termencoding}" >"${ttydev}${n}" + n=$((${n} + 1)) + done + eend 0 +} |