1. Zjisti si co mas v $TERM.
2. Vyzkousej i jine terminaly.
3. Uloz stdout do souboru a prozkoumej ho hexdumpem, pred ramecky maji byt ridici znaky, ktere prepinaji do semigrafiky.
4. Ja osobne jsem resil podobnou vec nasledovne:
_OPT_VT_GFX=1
#=== FUNCTION ============================================================
# Name: _term_gfx
# Description: Reads from stdin and converts ASCII semigraphics to terminal
# box graphics:
# http://en.wikipedia.org/wiki/Box-drawing_character#Unix.2C_CP.2FM.2C_BBS
#=========================================================================
function _term_gfx() {
while read line ; do
if [ $_OPT_VT_GFX -eq 1 ] ; then
echo -e "$line" | sed -e 's/|/\x1b(0\x78\x1b(B/g' \
-e "/^+\|^\.\|^'/{s/-/\x71/g}" -e 's/^+/\x1b(0\x74/' \
-e 's/+$/\x1b(0\x75\x1b(B/' \
-e 's/^\./\x1b(0\x6c/' -e 's/\.$/\x1b(0\x6b\x1b(B/' \
-e "s/^'/\x1b(0\x6d/" -e "s/'$/\x1b(0\x6a\x1b(B/"
else
echo -e "$line"
fi
done
}
( echo ".----------."
echo "| |"
echo "+----------+"
echo "| |"
echo "'----------'" ) | _term_gfx
Vystup prohanim filtrem, kterej nahrazuje urcity znaky na semigrafiku, muzu tam i jinde detekovat jestli je vystup do stdout nebo jinam a podle toho nastavit _OPT_VT_GFX (viz: help test | grep ' -t'). Ma to vyhodu tu, ze to funguje na vetsine modernich terminalu, i kdyz zrovna u Win PuTTY to mozna delalo bordel. Nevyhoda je ta, ze linux/ansi nekompatibilni terminaly, ktere diky konfiguraci v /etc/termcap umi take zobrazit semigrafiku ovsem nebudou znat ty dane eskape sekvence, protoze jim to curses nepredzvejka. (No a z bashe do pythonu si to musis predelat sam, treba to tam bude i elegantnejsi