"Fossies" - the Fresh Open Source Software Archive

Member "xterm-379/vttests/doublechars.sh" (25 Apr 2022, 3545 Bytes) of package /linux/misc/xterm-379.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "doublechars.sh": 372_vs_373.

    1 #!/bin/sh
    2 # $XTermId: doublechars.sh,v 1.26 2022/04/25 23:25:41 tom Exp $
    3 # -----------------------------------------------------------------------------
    4 # this file is part of xterm
    5 #
    6 # Copyright 1999-2021,2022 by Thomas E. Dickey
    7 #
    8 #                         All Rights Reserved
    9 #
   10 # Permission is hereby granted, free of charge, to any person obtaining a
   11 # copy of this software and associated documentation files (the
   12 # "Software"), to deal in the Software without restriction, including
   13 # without limitation the rights to use, copy, modify, merge, publish,
   14 # distribute, sublicense, and/or sell copies of the Software, and to
   15 # permit persons to whom the Software is furnished to do so, subject to
   16 # the following conditions:
   17 #
   18 # The above copyright notice and this permission notice shall be included
   19 # in all copies or substantial portions of the Software.
   20 #
   21 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   22 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   23 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   24 # IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
   25 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   26 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   27 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   28 #
   29 # Except as contained in this notice, the name(s) of the above copyright
   30 # holders shall not be used in advertising or otherwise to promote the
   31 # sale, use or other dealings in this Software without prior written
   32 # authorization.
   33 # -----------------------------------------------------------------------------
   34 # Illustrate the use of double-size characters by drawing successive lines in
   35 # the commonly used video attributes.
   36 #
   37 # Use the -w option to force the output to wrap.  It will look ugly, because
   38 # the double-high lines will be split.
   39 
   40 ESC=""
   41 CSI="${ESC}["
   42 CMD='/bin/echo'
   43 OPT='-n'
   44 SUF=''
   45 : "${TMPDIR=/tmp}"
   46 TMP=`(mktemp "$TMPDIR/xterm.XXXXXXXX") 2>/dev/null` || TMP="$TMPDIR/xterm$$"
   47 eval '$CMD $OPT >$TMP || echo fail >$TMP' 2>/dev/null
   48 { test ! -f "$TMP" || test -s "$TMP"; } &&
   49 for verb in "printf" "print" ; do
   50     rm -f "$TMP"
   51     eval '$verb "\c" >$TMP || echo fail >$TMP' 2>/dev/null
   52     if test -f "$TMP" ; then
   53     if test ! -s "$TMP" ; then
   54         CMD="$verb"
   55         OPT=
   56         SUF='\c'
   57         break
   58     fi
   59     fi
   60 done
   61 rm -f "$TMP"
   62 
   63 ITAL=no
   64 SAVE=yes
   65 WRAP=no
   66 if test $# != 0 ; then
   67     while test $# != 0
   68     do
   69         case $1 in
   70     -i) ITAL=yes ;;
   71     -n) SAVE=no ;;
   72     -w) WRAP=yes ;;
   73     *)
   74         echo "usage: $0 [-i] [-n] [-w]"
   75         exit 1
   76     esac
   77     shift
   78     done
   79 fi
   80 
   81 if test $SAVE = yes ; then
   82     exec </dev/tty
   83     old=`stty -g`
   84     stty raw -echo min 0  time 5
   85 
   86     $CMD $OPT "${CSI}18t${SUF}" > /dev/tty
   87     IFS=';' read -r junk high wide
   88 
   89     stty $old
   90 
   91     wide=`echo "$wide"|sed -e 's/t.*//'`
   92     original=${CSI}8\;${high}\;${wide}t${SUF}
   93 
   94     trap '$CMD $OPT "$original" >/dev/tty; exit 1' 1 2 3 15
   95     trap '$CMD $OPT "$original" >/dev/tty' 0
   96 
   97 fi
   98 
   99 if test $WRAP = yes ; then
  100     # turn on wrapping and force the screen to 80 columns
  101     $CMD $OPT "${CSI}?7h" >/dev/tty
  102     $CMD $OPT "${CSI}?40l" >/dev/tty
  103 else
  104     # force the screen to 132 columns
  105     $CMD $OPT "${CSI}?40h" >/dev/tty
  106     $CMD $OPT "${CSI}?3h" >/dev/tty
  107 fi
  108 
  109 for SGR in 0 1 4 5 7
  110 do
  111     $CMD $OPT "${CSI}0;${SGR}m" >/dev/tty
  112     test "$ITAL" = yes && $CMD $OPT "${CSI}3m" >/dev/tty
  113     for DBL in 5 3 4 6 5
  114     do
  115         $CMD $OPT "${ESC}#${DBL}" >/dev/tty
  116         echo "The quick brown fox jumps over the lazy dog" >/dev/tty
  117     done
  118     echo
  119 done
  120 $CMD $OPT "${CSI}0m" >/dev/tty