diff options
Diffstat (limited to 'lang.csh')
-rwxr-xr-x | lang.csh | 27 |
1 files changed, 24 insertions, 3 deletions
@@ -25,6 +25,8 @@ if ($sourced == 1) then unsetenv LC_ALL endif endif + + set consoletype=`/sbin/consoletype` if ($?CHARSET) then switch ($CHARSET) @@ -36,7 +38,7 @@ if ($sourced == 1) then case latin2*: if ( $?TERM ) then if ( "$TERM" == "linux" ) then - if ( `/sbin/consoletype` == "vt" ) then + if ( "$consoletype" == "vt" ) then /bin/echo -n -e '\033(K' >/dev/tty endif endif @@ -54,7 +56,7 @@ if ($sourced == 1) then case latin2-ucw*: if ( $?TERM ) then if ( "$TERM" == "linux" ) then - if ( `/sbin/consoletype` == "vt" ) then + if ( "$consoletype" == "vt" ) then /bin/echo -n -e '\033(K' > /dev/tty endif endif @@ -66,9 +68,12 @@ if ($sourced == 1) then switch ($LANG) case *.utf8*: case *.UTF-8*: + if ( "$consoletype" == "vt" || "$consoletype" == "pty" ) then + stty iutf8 + endif if ( $?TERM ) then if ( "$TERM" == "linux" ) then - if ( `/sbin/consoletype` == "vt" ) then + if ( "$consoletype" == "vt" ) then if ( -x /bin/unicode_start ) then if { /sbin/consoletype fg } then if ( $?SYSFONT ) then @@ -84,6 +89,22 @@ if ($sourced == 1) then endif endif breaksw + case *: + if ( "$consoletype" == "vt" || "$consoletype" == "pty" ) then + stty -iutf8 + endif + if ( $?TERM ) then + if ( "$TERM" == "linux" ) then + if ( "$consoletype" == "vt" ) then + if ( -x /bin/unicode_stop ) then + if { /sbin/consoletype fg } then + /bin/unicode_stop + endif + endif + endif + endif + endif + breaksw endsw endif unsetenv SYSFONTACM |