#!/bin/sh


# fill space with E
printf '\033#8'
# set color
printf '\033[46;31;3m'
# goto 80;25 (CUP) and back to 0;0
printf '\033[26;80HZ'
printf '\033[H'

# RIGHT
# cursor right
printf '\033[CA\033[2CB\033[;CC'
# test on boundaries
printf '\033[2;80HZ\033[CA'

# LEFT
# go to 12;2 (CUP)
printf '\033[2;12H'
# cursor left
printf 'C\033[DD\033[;Dc\033[3Dd'
# Go left on start of line
printf '\033[2;0HE\033[DF'

# DOWN
# cursor down
printf '\033[BG\033[;BH\033[3BI'
# At Bottom
printf '\033[26;0HM\033[BN'

# UP
# cursor up
# go to 26;6 (CUP)
printf '\033[26;6H'
printf 'O\033[AP\033[;AQ\033[0AR'
# At top
printf '\033[0;26Hp\033[Aq'

# WITH CURSOR RESTRICTION
# set top/bottom margins:
printf '\033[10;20r'
# allow left/right margins
printf '\033[?69h'
# set left/right margins:
printf '\033[15;30s'
# change color
printf '\033[0m\033[45;32;1m'
# fill restricted region with @
printf '\033[64;10;15;20;30\044x'
# change color back
printf '\033[0m\033[46;31;3m'
# restrict cursor
printf '\033[?6h'
# RIGHT
printf '\033[5;16H#\033[C>'
# LEFT
printf '\033[5;0H#\033[D<'
# UP
printf '\033[0;5H#\033[A^'
# DOWN
printf '\033[11;8H#\033[Bv'
