Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/sbin/mksh
- #Question
- #Who is this for?
- #### XTERM related ########
- icontitile(){ echo -e "\e]1;$*\a\c" ; } # change icon name
- windowtitle(){ echo -e "\e]2;$*\a\c" ; } # change window title
- xproperty(){ echo -e "\e]3;$*\a\c" ; } # set X prop=value #prop to delete
- xcolor(){ echo -e "\e]4;$1;$2\a\c" ; }
- xxcolor(){ echo -e "\e]5;$1;$2\a\c" ; }
- G0(){ echo -e "\017\c" ; } # SI CTRL-O switch to standard character set
- G1(){ echo -e "\016\c" ; } # SO CTRL-N switch to alternate character set
- G2SS(){ echo -e "\eN\c" ; } # SS2 Single Shift Select of G2 character set
- G3SS(){ echo -e "\eO\c" ; } # SS3 Single Shift Select of G3 character set
- CHARSET(){
- case "${1:-default}${2}" in
- default) echo -e '\e%@\c' ;; # Select default character set ISO 8859-1
- utf8) echo -e '\e%G\c' ;; # Select UTF-8 character set (ISO 2022)
- G0|G0ascii) echo -e '\e(B\c' ;; # USASCII
- G0line) echo -e '\e(0\c' ;; # DEC Special Character and Line Drawing Set
- G0soft) echo -e '\e( @\c' ;; # use soft set
- G0?) echo -e "\e(${2}\c" ;; # Designate G0 Character Set
- G1|G1ascii) echo -e '\e)B\c' ;; # USASCII
- G1line) echo -e '\e)0\c' ;; # line drawing
- G1soft) echo -e '\e) @\c' ;; # use soft set
- G1?) echo -e "\e)${2}\c" ;; # Designate G1 Character Set
- G2|G2ascii) echo -e '\e\*B\c' ;;
- G2line) echo -e '\e*0\c' ;;
- G2soft) echo -e '\e* @\c' ;; # use soft set
- G2?) echo -e "\e*${2}\c" ;; # Designate G2 Character Set
- G3|G3ascii) echo -e '\e+B\c' ;;
- G3line) echo -e '\e+0\c' ;;
- G3soft) echo -e '\e+ @\c' ;; # use soft set
- G3?) echo -e "\e\+${2}\c" ;; # Designate G3 Character Set
- vt100) echo -e '\e[?2h\c' ;; # set USASCII for G0-G3 and vt100 mode ???
- esac
- }
- #echo 531
- CR(){ echo -e "\015\c" ; } # carriage return
- LF(){ echo -e "\012\c" ; } # line need or new line
- TABSET(){
- #TABSET col 10 20 30 ...
- #TABSET clear_all
- #TABSET cleartab 20 25 30 ...
- case "${1}" in
- col)
- shift
- for COL in $@
- do
- CURSOR column $COL
- echo -e '\eH\c' # Horizontal Tab Set ## HTS
- done;;
- clear_all)
- echo -e '\e[3g\c' ;; # TBC clear all tabs (works)
- clear_tab)
- shift
- for COL in $@
- do
- CURSOR column $COL
- echo -e '\e[0g\c' # TBC clear tab at current column
- done ;;
- *) echo -e '\eH\c' ;; # Horizontal Tab Set ## HTS
- esac
- }
- SS2(){ echo -e '\eN\c' ; } # Single Shift for one G2 character
- SS3(){ echo -e '\eO\c' ; } # Single Shift for one G3 character
- DOUBLEHEIGHTLINETOP(){ echo -e "\e#3\c" ; } #DECDHL top half
- DOUBLEHEIGHTLINEBOT(){ echo -e "\e#4\c" ; } #DECDHL bottom half
- PRINTDOUBLEHEIGHT(){
- echo -n "$1"
- echo -e "\e#3"
- echo -n "${2:-$1}" # bottom, default 2same, but allow experimentation
- echo -e "\e#4"
- SINGLEWIDTHLINE; # cleanup
- }
- SINGLEWIDTHLINE(){ echo -en "\e#5" ; } #DECSWL
- DOUBLEWIDTHLINE(){ echo -en "\e#6" ; } #DECDWL
- SCREENTEST(){ echo -en "\e#8" ; } #DECALN screen alignmnet test
- NORMAL(){ echo -e '\e[0m\c' ; } # character attributes
- BOLD(){ echo -e '\e[1m\c' ; }
- UNDERLINE(){ echo -e '\e[4m\c' ; }
- BLINK(){ echo -e '\e[5m\c' ; }
- INVERSE(){ echo -e '\e[7m\c' ; }
- INVISIBLE(){ echo -e '\e[8m\c' ; }
- UNDERLINENOT(){ echo -e '\e[24m\c' ; }
- BLINKNOT(){ echo -e '\e[25m\c' ; }
- INVERSENOT(){ echo -e '\e[27m\c' ; }
- INVISIBLENOT(){ echo -e '\e[28m\c' ; }
- BLACK(){ echo -e '\e[30m\c' ; }
- RED(){ echo -e '\e[31m\c' ; }
- GREEN(){ echo -e '\e[32m\c' ; }
- YELLOW(){ echo -e '\e[33m\c' ; }
- BLUE(){ echo -e '\e[34m\c' ; }
- MAGENTA(){ echo -e '\e[35m\c' ; }
- CYAN(){ echo -e '\e[36m\c' ; }
- WHITE(){ echo -e '\e[37m\c' ; }
- COLORFG(){ echo -e "\e[38;5;${1:-0}m\c" ; } # 88/256 color support
- COLORBG(){ echo -e "\e[48;5;${1:-0}m\c" ; } # 88/256 color support
- ORIGINAL(){ echo -e '\e[39m\c' ; }
- BGBLACK(){ echo -e '\e[40m\c' ; }
- BGRED(){ echo -e '\e[41m\c' ; }
- BGGREEN(){ echo -e '\e[42m\c' ; }
- BGYELLOW(){ echo -e '\e[43m\c' ; }
- BGBLUE(){ echo -e '\e[44m\c' ; }
- BGMAGENTA(){ echo -e '\e[45m\c' ; }
- BGCYAN(){ echo -e '\e[46m\c' ; }
- BGWHITE(){ echo -e '\e[47m\c' ; }
- BGORIGINAL(){ echo -e '\e[49m\c' ; }
- HIBLACK(){ echo -e '\e[90m\c' ; }
- HIRED(){ echo -e '\e[91m\c' ; }
- HIGREEN(){ echo -e '\e[92m\c' ; }
- HIYELLOW(){ echo -e '\e[93m\c' ; }
- HIBLUE(){ echo -e '\e[94m\c' ; }
- HIMAGENTA(){ echo -e '\e[95m\c' ; }
- HICYAN(){ echo -e '\e[96m\c' ; }
- HIWHITE(){ echo -e '\e[97m\c' ; }
- BGHIBLACK(){ echo -e '\e[100m\c' ; }
- BGHIRED(){ echo -e '\e[101m\c' ; }
- BGHIGREEN(){ echo -e '\e[102m\c' ; }
- BGHIYELLOW(){ echo -e '\e[103m\c' ; }
- BGHIBLUE(){ echo -e '\e[104m\c' ; }
- BGHIMAGENTA(){ echo -e '\e[105m\c' ; }
- BGHICYAN(){ echo -e '\e[106m\c' ; }
- BGHIWHITE(){ echo -e '\e[107m\c' ; }
- REVVID(){ echo -e '\e[?5h\c' ; } # reverse video (set private mode)
- NORMVID(){ echo -e '\e[?5l\c' ; } # normal video (reset private mode)
- ALTSCREEN(){ echo -e '\e[?47h\c' ; } # alternate screen buffer
- NORMSCREEN(){ echo -e '\e[?47l\c' ; } # use normal screen buffer
- ALTSCREENSC(){ echo -e '\e[?1049h\c' ; } # save cursor+alternate screen buffer
- KEYPADAPP(){ echo -e '\e=\c' ; } #Are these usable?
- KEYPADNORMAL(){ echo -e '\e>\c' ; } #don't seem so # maybe I needed strict-vt set
- SCREENMEMLOCK(){ echo -e '\el\c' ; } #characters above cursor are locked in
- SCREENMEMUNLOCK(){ echo -e '\em\c' ; } ##in place, clear screen undoes also.
- FULLRESET(){ echo -e '\ec\c' ; }
- SOFTRESET(){ echo -e '\e[!p\c' ; }
- REFRESH(){ echo -e '\e[7t\c' ; } # refresh xterm window
- MOVEWINDOW(){ echo -e "\e[3;${1:-0};${2:-0}t\c" ; } #move window to x,y pixels
- RESIZEWINDOW(){ echo -e "\e[4;${1:-620};${2:-900}t\c" ; } #resize height,width
- RESIZETERM(){ echo -e "\e[8;${2:-0};${1:-0}t\c" ; } #resize characters x,y
- RESTOREWINDOW(){ echo -e "\e[9;0t\c" ; }
- MAXWINDOW(){ echo -e "\e[9;1t\c" ; }
- FULLSCREEN(){ echo -e "\e[10;1t\c" ; }
- UNDOFULLSCREEN(){ echo -e "\e[10;0t\c" ; }
- #MAXWINDOW(){ MOVEWINDOW; RESIZE ; } #what was I thinkinghere?onDARWINthisis an x11util
- INSERTCHAR(){ echo -e "\e[${1}@\c" ; } # ICH insert Blank characters
- INSERTLINE(){ echo -e "\e[${1}L\c" ; } # insert $1 lines #IL
- DELETELINE(){ echo -e "\e[${1}M\c" ; } # delete $1 lines #DL
- DELETECHAR(){ echo -e "\e[${1}P\c" ; } # delete $1 characters #DCH
- SCROLLUP(){ echo -e "\e[${1}S\c" ; } # scroll up $1 lines #SU
- SCROLLDOWN(){ echo -e "\e[${1}T\c" ; } # scroll down $2 lines #SD ?useless?
- REPEAT(){ echo -e "\e[${1}b\c" ; } #REP repeat graphicchar ?useless?
- SCROLLZONE(){ echo -e "\e[${1};${2}r\c" ; } #DECSTBM set scrolling region
- LEDSET(){ # load LEDS #DECLL
- case "${1:-clear}$2" in
- clear|default) echo -e '\e[0q\c' ;; # clear all
- numlock|num) echo -e '\e[1q\c' ;; # light Num Lock
- capslock|caps) echo -e '\e[2q\c' ;;
- scrolllock|scroll) echo -e '\e[3q\c' ;;
- num*off) echo -e '\e[21q\c' ;; # extinguish Num Lock
- caps*off) echo -e '\e[22q\c' ;;
- scr*off) echo -e '\e[23q\c' ;;
- esac
- }
- #echo 663
- MODE(){
- for M in $@
- do
- case "${M}" in
- insert) echo -en '\e[4h' ;; # insert mode #IRM
- replace) echo -en '\e[4l' ;; # replace mode #IRM
- noecho) echo -en '\e[12h' ;; # no echo #SRM
- echo) echo -en '\e[12l' ;; # local cho #SRM
- cr) echo -en '\e[20l' ;; # cr only #LNM
- crlf) echo -en '\e[20h' ;; # send crlf #LNM
- 132) echo -en '\e[?3h' ;; # 132 column mode #DECCOLM
- 80) echo -en '\e[?3l' ;; # 80 column mode #DECCOLM
- allow) echo -en '\e[?40h' ;; # allow 80/132 switch
- allowoff) echo -en '\e[?40l' ;; # don't allow 80/132 switch
- jump|fast) echo -en '\e[?4l' ;; # Jump/fast scroll mode #DECSCLM
- smooth|slow) echo -en '\e[?4h' ;; # smooth/slow scroll mode #DECSCLM
- origin) echo -en '\e[?6h' ;; #DECOM lines are rel scroll zone
- originoff) echo -en '\e[?6l' ;; #DECOM back to normal
- wrap) echo -en '\e[?7h' ;; #DECAWM
- wrapoff) echo -en '\e[?7l' ;; #DECAWM
- repeat) echo -en '\e[?8h' ;; #DECARM auto repeat 0.5 seconds
- repeatoff) echo -en '\e[?8l' ;; #DECARM
- esac
- done
- }
- CURSOR(){
- case "$1" in
- save) echo -e '\e7\c' ;; # save cursor # DECSC
- restore) echo -e '\e8\c' ;; # restore cursor# DECRC
- show) echo -e '\e[25?h\c' ;; # show cursor # DECTCEM
- hide) echo -e '\e[25?l\c' ;; # hide cursor # DECTCEM
- report) #### Report Cursor Position CPR
- INVISIBLE;echo -e '\e[6n\c'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- if [[ "${REPLY:1:1}" != "[" || 'R' != "${REPLY: -1:1}" ]] then
- xterm_info[6]=CURROW
- xterm_info[7]=CURCOL
- else
- REPLY="${REPLY#*\[}"
- REPLY="${REPLY%R}"
- xterm_info[6]="${REPLY%;*}"
- xterm_info[7]="${REPLY#*;}"
- fi ;;
- style) case "${2:-blink}${3:-block}" in # set cursor style DECSCUSR
- blinkblock) echo -en '\e[1 q' ;; # blinking block
- steadyblock) echo -en '\e[2 q' ;; # steady block
- blinkunderline) echo -en '\e[3 q' ;; # blinking underline
- steadyunderline) echo -en '\e[4 q' ;; # steady underline
- *) echo -en '\e[0 q' ;;
- esac ;;
- up) echo -en "\e[${2}A" ;; # CUU cursor up #$2 times
- down) echo -en "\e[${2}B" ;; # CUD cursor down #$2="" ==null==default==1
- forward) echo -en "\e[${2}C" ;; # CUF cursor forward
- backward) echo -en "\e[${2}D" ;; # CUB cursor backward
- nextline) echo -en "\e[${2}E" ;; # CNL cursor next line ?
- prevline) echo -en "\e[${2}F" ;; # CPL cursor preceding line ?
- column) echo -en "\e[${2}G" ;; # CHA move cursor to absolute column position
- backtab) echo -en "\e[${2}Z" ;; #CBT Backward to tabstop
- nexttab) echo -en "\e[${2}I" ;; #CHT Forward $2 tab stops
- ind) echo -e '\eD\c' ;; # Index
- rnd) echo -e '\eM\c' ;; # Reverse Index
- nel) echo -e '\eE\c' ;; # Next Line
- altcol) echo -en "\e[${2}\0140" ;; # Char position absolute HPA ???
- altline) echo -en "\e[${2}d" ;; # Line Position Absolute VPA ???
- altpos) echo -en "\e[${2};${3}f" ;; # Horizontal&Vertical Position HVP ???
- help) echo "#CURSOR rise then run" ;;
- *) echo -en "\e[${1};${2}H" ;; # CUP cursor position # default 1,1
- esac
- }
- #echo 731
- SELECTCAN(){ echo -e "\e[1\042q" ; } #DECSCA set char. protect attribute
- SELECTCANNOT(){ echo -e "\e[0\042q" ; } #DECSED DECSEL can erase
- ERASE(){
- #echo "${1:-line}_${2}"
- case "${1:-line}_${2}" in
- line_right) echo -e '\e[0K\c' ;; # EL erase in line # right
- line_left) echo -e '\e[1K\c' ;; # EL erase in line # left
- line_) echo -e '\e[2K\c' ;; # EL erase in line # all
- display_below) echo -e '\e[0J\c' ;; # ED Erase in Display # below
- display_above) echo -e '\e[1J\c' ;; # ED Erase in Display # above
- display_|screen_) echo -e '\e[2J\c' ;; # ED Erase in Display # all
- display_saved) echo -e '\e[3J\c' ;; # erase saved lines useless??
- selective_below) echo -e '\e[?0J\c' ;; # selective erase display
- selective_above) echo -e '\e[?1J\c' ;; # DECSED
- selective_screen) echo -e '\e[?2J\c' ;; # seems useless
- selective_lineleft) echo -e '\e[?0K\c' ;; # selective erase line
- selective_lineright) echo -e '\e[?1K\c' ;; # DECSEL
- selective_lineall) echo -e '\e[?2K\c' ;; # seems useless
- selective_rect) #DECSERA ERASE
- shift 2
- echo -e "\e[${1};${2};${3};${4}\${\c" ;; # top left bottom right
- rect_*) # useless in terminal.app
- shift # # DECERA Erase Rectangular Area
- echo -e "\e[${1};${2};${3};${4}\$z\c" ;; # top left bottom right
- char_*)
- echo -e "\e[${2}X\c" ;; # erase $2 characters backward ECH ?useless?
- screen_) #add another way to clear screen, maybe w/o home?
- CURSOR save;
- echo -e "\e[H\e[J\c" # H or J etc by themselves doesn't do it.
- CURSOR retore;
- ;;
- esac
- }
- #echo 767
- Paint(){ # what I always wanted from ERASE
- # paint a rectangle on the screen , taking the current postion
- # as one corner. then dx dy optionalcolor optionalcharacter flags
- # procedure will determine length, and height, and whether...
- # And, how to interpret dx dy, to create an appropriate corner.
- XTERMINFO clear #insert self gratifying remark here.
- # now get cursor position
- local integer cornerx
- local integer cornery
- CURSOR report
- cornerx=${xterm_info[6]}
- cornery=${xterm_info[7]}
- #now, paint this square right now with an X
- # since it will be needed to painted, regardlessly
- #PaintASqaure
- CURSOR save
- echo -e "A\c" #pedantically, we do CURSOR backward # but we don't need to
- CURSOR restore
- # now see if that works.
- # ok. opposing corner , then paint that
- local integer ox
- local integer oy
- # we should see if it works. but 1st presume it works
- let ox=cornerx+$1
- let oy=cornery+$2
- CURSOR $ox $oy
- echo -e "B\c"
- CURSOR backward
- # fixme: use the shorter corner
- # finish me! dan
- }
- wow(){ # and now fg !
- for X in ../* ;
- do
- print ''
- DOUBLEWIDTHLINE
- done
- }
- ICONIFIED(){ # true if iconified
- INVISIBLE;echo -e '\e[11t\c'; read -rn 4 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- #echo "${REPLY:2:1}"
- #echo "${#REPLY}"
- (( "${REPLY:2:1}" == "2" ))
- }
- OSXTERMINAL(){ # true if running inside Terminal.app
- INVISIBLE;echo -e '\e[7n\c'; read -rn 20 -t 1.5;INVISIBLENOT
- if [[ "" == "$REPLY" ]] then
- (( 1 == 0 ))
- fi
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- [[ "$REPLY" == "Mac OS X Terminal" ]]
- }
- typeset -ai xterm_info # an array of integers
- XTERMINFO()
- {
- case "${1}" in
- clear|init)
- xterm_info[0]=XPOS
- xterm_info[1]=YPOS
- xterm_info[2]=XSIZE
- xterm_info[3]=YSIZE
- xterm_info[4]=TERMID
- xterm_info[5]=DEVATTR
- xterm_info[6]=CURROW
- xterm_info[7]=CURCOL
- xterm_info[8]=ROWS
- xterm_info[9]=COLS
- ;;
- dump|print)
- print "XPOS ${xterm_info[0]}"
- print "YPOS ${xterm_info[1]}"
- print "XSIZE ${xterm_info[2]}"
- print "YSIZE ${xterm_info[3]}"
- print "TERMID ${xterm_info[4]}"
- print "DEVATTR ${xterm_info[5]}"
- print "CURROW ${xterm_info[6]}"
- print "CURCOL ${xterm_info[7]}"
- print "ROWS ${xterm_info[8]}"
- print "COLS ${xterm_info[9]}"
- ;;
- [xX]) print ${xterm_info[0]} ;;
- [yY]) print ${xterm_info[1]} ;;
- [xX]size) print ${xterm_info[2]} ;;
- [yY]size) print ${xterm_info[3]} ;;
- *) print ${xterm_info[@]} ;;
- esac
- }
- WINDOWPOS(){ # get xterm window position ( in pixels )
- INVISIBLE;echo -e '\e[13t\c'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- #echo "${#REPLY}"
- #echo "${REPLY:1:3}" |vis
- #[[ "${REPLY:1:3}" == "[3;" && 't' == "${REPLY: -1:1}" ]] && echo fine
- if [[ "${REPLY:1:3}" != "[3;" || 't' != "${REPLY: -1:1}" ]]
- then
- echo -e "\nnot fine"
- return # return false produced error when X="$(WINDOWPOS)"
- fi
- #echo "${REPLY:4:(( ${#REPLY} - 5 ))}"
- REPLY="${REPLY:4:(( ${#REPLY} - 5 ))}" # after this REPLY is 81;48 etc
- xterm_info[0]="${REPLY%;*}"
- xterm_info[1]="${REPLY#*;}"
- }
- WINDOWSIZE(){ # get xterm window size (in pixels)
- INVISIBLE;echo -e '\e[14t\c'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- if [[ "${REPLY:1:3}" != "[4;" || 't' != "${REPLY: -1:1}" ]]
- then
- return
- fi
- REPLY="${REPLY:4:(( ${#REPLY} - 5 ))}"
- xterm_info[2]="${REPLY%;*}"
- xterm_info[3]="${REPLY#*;}"
- }
- TERMSIZE(){ # get xterm size of text area window size (in characters)
- INVISIBLE;echo -e '\e[18t\c'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- if [[ "${REPLY:1:3}" != "[8;" || 't' != "${REPLY: -1:1}" ]]
- then
- return
- fi
- REPLY="${REPLY:4:(( ${#REPLY} - 5 ))}"
- xterm_info[8]="${REPLY%;*}"
- xterm_info[9]="${REPLY#*;}"
- }
- XTERMINALID(){
- INVISIBLE;echo -e '\eZ\c'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- if [[ "${REPLY:3:4}" == "1;2c" ]] then
- xterm_info[4]=1 # string for terminal.app at least
- else
- xterm_info[4]=TERMID
- fi
- }
- DECDEVATTR(){
- INVISIBLE;echo -e '\e[0c\c'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- #SEND DEVICE Attributes (PRIMARY DA) ... depends on decTerminalID resource
- REPLY="${REPLY#*\[}"
- if [ "${REPLY}" == "" ] ; then
- xterm_info[5]=DEVATTR
- elif [ "${REPLY}" == "?1;2c" ] ; then
- xterm_info[5]=1 # VT100 with ADVANCED Video Option
- elif [ "${REPLY}" == "?1;0c" ] ; then
- xterm_info[5]=2 # VT101 with NO Options
- elif [ "${REPLY}" == "?6c" ] ; then
- xterm_info[5]=3 # VT102
- elif [ "${REPLY:0:4}" == "?60;" ] ; then
- xterm_info[5]=4 # VT220
- REPLY="{$REPLY:4}" # remaining parameters in REPLY
- else
- xterm_info[5]=DEVATTR
- fi
- }
- ENQUIRE(){
- INVISIBLE;echo -e '\05'; read -rn 16 -t 1.5;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- #REPLY is now answerbackString..if there is one.
- }
- DECREQTERM(){ # request terminal parameters #DECREQTPARM
- INVISIBLE;echo -en '\e[1x'; read -rn 30 -t 0.8 ;INVISIBLENOT
- CURSOR backward "${#REPLY}";CURSOR backward; # cleanup
- if [[ "$REPLY" == "" ]] then
- return
- elif [[ "${REPLY:1:3}" != "[3;" || 't' != "${REPLY: -1:1}x" ]] then
- REPLY="${REPLY%x}"
- REPLY="${REPLY#*3;}" #REPLY is now paramaters
- echo "$REPLY" |vis
- fi
- }
- #Answer
- #SomeoneTheyNeverPaidWell
- #Changethat
- #Answer
- #my401k
- #my401k: no tax dependent so guess we dont need to do this lol
- SCREENTEST;sleep 1.2; ERASE screen
- (( rows = $(stty -a|sed -n '1{s/^.* baud; //;s/ rows.*columns;$//;p;}') / 2 ))
- sleep 2.5
- #MEH
- PRINTDOUBLEHEIGHT 'xxxxtTh/exxxxxxxxxx' '#MUTETTHHePRESIDENT'
- CURSOR down
- PRINTDOUBLEHEIGHT 'x' '#'
- print Alien
- CURSOR down
- PRINTDOUBLEHEIGHT 'x' 'M'
- CURSOR down
- PRINTDOUBLEHEIGHT 'x' 'U'
- print prize
- CURSOR down
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement