diff options
author | Roy Marples <roy@marples.name> | 2008-03-27 13:49:49 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2008-03-27 13:49:49 +0000 |
commit | d09f9f47eb92e85afd52b83da6a287369b280f71 (patch) | |
tree | 3ed321d363fdf9dca8f1df7042a5efd9f09e52cf /init.d/termencoding.in | |
parent | b271ac5af525e494e55c41ae8ce285420f5ce9a4 (diff) |
Split terminal encoding out.
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 +} |