This commit is contained in:
q
2017-08-19 16:53:45 +03:00
4 changed files with 129 additions and 26 deletions

7
bin/ansi-codes Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env python
import sys,os
sys.path.append(os.path.realpath(os.path.join(os.path.dirname(__file__),
"..","reporting")))
import ansi
ansi.demo()

View File

@@ -38,13 +38,13 @@ class code:
io = '\033[27m'#inverse off io = '\033[27m'#inverse off
st = '\033[9m'#strike on st = '\033[9m'#strike on
so = '\033[29m'#strike off so = '\033[29m'#strike off
CLRLIN = '\033[2J' CLR = '\033[2J'
CLREND = '\033[K' CLREND = '\033[K'
CLRBEG = '\033[1K' CLRBEG = '\033[1K'
CLRSCR = CLRLIN+"\033[0;0H" CLRSCR = CLR+"\033[0;0H"
color_keys="K,R,G,B,Y,M,C,W,k,r,g,b,y,m,c,w,S,s,U,u,Z,ic,io,st,so,bk,br,bg,by,bb,bm,bc,bw,CLRLIN,CLREND,CLRBEG,CLRSCR".split(",") color_keys="K,R,G,B,Y,M,C,W,k,r,g,b,y,m,c,w,S,s,U,u,Z,ic,io,st,so,bk,br,bg,by,bb,bm,bc,bw,CLR,CLREND,CLRBEG,CLRSCR".split(",")
color_list=[K,R,G,B,Y,M,C,W,k,r,g,b,y,m,c,w,S,s,U,u,Z,ic,io,st,so,bk,br,bg,by,bb,bm,bc,bw,CLRLIN,CLREND,CLRBEG,CLRSCR] color_list=[K,R,G,B,Y,M,C,W,k,r,g,b,y,m,c,w,S,s,U,u,Z,ic,io,st,so,bk,br,bg,by,bb,bm,bc,bw,CLR,CLREND,CLRBEG,CLRSCR]
custom_match=re.compile(r'(\${)([0-9;]*[ABCDEFGHJKSTfminsu]+)(})') custom_match=re.compile(r'(\${)([0-9;]*[ABCDEFGHJKSTfminsu]+)(})')
def pos(self,y,x): def pos(self,y,x):
@@ -101,3 +101,43 @@ class code:
def get_keys(self): def get_keys(self):
return self.color_keys return self.color_keys
def demo():
""" Print all control sequences """
c=code()
unformatted="""${S}ANSI CODES
==========${Z}
${S}Fo${U}rm${st}at${u}ti${ic}ng${Z}
${S}==========${Z}
0 Z Clear format
1 S ${S}Strong ${Z} 2 s ${s}Off${Z}
4 U ${U}Underline${Z} 24 u Off
7 ic ${ic}Inverse${Z} 27 io Off
9 st ${st}Strike${Z} 29 so Off
${R}Co${G}lo${B}rs${Z}
${S}======${Z}
30 k ${k}Black ${Z}1 K ${K}Strong ${Z}40 bk ${bk}Background${Z}
31 r ${r}Red ${Z}1 R ${R}Strong ${Z}41 br ${br}Background${Z}
32 g ${g}Green ${Z}1 G ${G}Strong ${Z}42 bg ${bg}Background${Z}
33 y ${y}Yellow ${Z}1 Y ${Y}Strong ${Z}43 by ${by}Background${Z}
34 b ${b}Blue ${Z}1 B ${B}Strong ${Z}44 bb ${bb}Background${Z}
35 m ${m}Magenta ${Z}1 M ${M}Strong ${Z}45 bm ${bm}Background${Z}
36 c ${c}Cyan ${Z}1 C ${C}Strong ${Z}46 bc ${bc}Background${Z}
37 w ${w}White ${Z}1 W ${W}Strong ${Z}47 bw ${bw}Background${Z}
${S}Clearing and movement
${S}=====================${Z}
2J CLR Clear screen
2J ;H CLRSCR .clear() Clear screen and cursor to upper left
K CLREND Clear to end of line
1K CLRBEG Clear to beginning of line
s .save() Save location u .restore() Restore location
A .up() Up E .up_line() Up line
B .down() Down F .down_line() Down line
C .left() Left y;xH .pos() Absolute Position
D .right() Right """
print(c.color_string(unformatted))

97
reporting/qolop Normal file → Executable file
View File

@@ -1,21 +1,29 @@
# Quick shell COLOrizer Package #!/bin/bash
# Source in BASH
# Version 2017.08.08.1 _qColHelp() {
# Examples: echo 'Quick shell COLOrizer Package
# As functions: Source me in BASH!
# _title(){ _qCol z G; }
# _z(){ _qCol z; }
# _title; echo Title; _z
# As variables Version 2017.08.17.0
# TITLE=$( _qCol z G; ) Examples:
# Z=$( _qCol z; ) source qolop # load functions
# echo ${TITLE}Title${Z} - As functions:
_title(){ _qCol z G; }
_z(){ _qCol z; }
_title; echo Title; _z
# Export to variables (prefixed with _c. Also the default) - As variables
# _qCol export _c TITLE=$( _qCol z G; )
# echo -e ${_cG}Title${_cZ} Z=$( _qCol z; )
echo ${TITLE}Title${Z}
- Export to variables (prefixed with _c. Also the default)
_qCol export _c
echo -e ${_cG}Title${_cZ}
Run qolop as script to print ANSI code table
'
}
_qCol() { _qCol() {
# print "easier" mapping of ANSI colors and controls # print "easier" mapping of ANSI colors and controls
@@ -56,12 +64,12 @@ _qCol() {
local io='\033[27m' #inverse off local io='\033[27m' #inverse off
local st='\033[9m' #strike on local st='\033[9m' #strike on
local so='\033[29m' #strike off local so='\033[29m' #strike off
local CLRLIN='\033[2J' # Clear line local CLR='\033[2J' # Clear screen
local CLREND='\033[K' # Clear to end of line local CLREND='\033[K' # Clear to end of line
local CLRBEG='\033[1K' # Clear to beginning of line local CLRBEG='\033[1K' # Clear to beginning of line
local CLRSCR="$CLRLIN"'\033[0;0H' # Clear screen local CLRSCR="$CLR"'\033[0;0H' # Clear screen, reset cursor
local color_keys=" K R G B Y M C W k r g b y m c w S s U u z Z ic io st so bk br bg by bb bm bc bw CLRLIN CLREND CLRBEG CLRSCR " local color_keys=" K R G B Y M C W k r g b y m c w S s U u z Z ic io st so bk br bg by bb bm bc bw CLR CLREND CLRBEG CLRSCR "
[[ "$1" = "export" ]] && { [[ "$1" = "export" ]] && {
local key local key
@@ -82,7 +90,7 @@ _qCol() {
} }
_qCode() { _qCode() {
# Enter numerical ANSI codes directly # Enter numerical ANSI colors directly
local arg val local arg val
for ((arg=1;arg<=$#;arg++)) { for ((arg=1;arg<=$#;arg++)) {
val=${!arg} val=${!arg}
@@ -102,9 +110,56 @@ _qPos() {
[[ "$1" = "down" ]] && { printf '\033['${n}'B'; return; } [[ "$1" = "down" ]] && { printf '\033['${n}'B'; return; }
[[ "$1" = "right" ]] && { printf '\033['${n}'C'; return; } [[ "$1" = "right" ]] && { printf '\033['${n}'C'; return; }
[[ "$1" = "left" ]] && { printf '\033['${n}'D'; return; } [[ "$1" = "left" ]] && { printf '\033['${n}'D'; return; }
[[ "$1" = "linedown" ]] && { printf '\033['${n}'E'; return; } [[ "$1" = "lineup" ]] && { printf '\033['${n}'E'; return; }
[[ "$1" = "lineup" ]] && { printf '\033['${n}'F'; return; } [[ "$1" = "linedown" ]] && { printf '\033['${n}'F'; return; }
[[ "$1" = "col" ]] && { printf '\033['${n}'G'; return; } [[ "$1" = "col" ]] && { printf '\033['${n}'G'; return; }
[[ "$1" = "abs" ]] && { printf '\033['${n}';'${x}'H'; return; } [[ "$1" = "abs" ]] && { printf '\033['${n}';'${x}'H'; return; }
} }
_qClr() {
# Clear screen
_qCol "CLR"
_qPos abs 0 0
}
[[ "$0" = "${BASH_SOURCE[0]}" ]] && {
_qColHelp
[[ "$1" = *"help" ]] && exit
[[ "$1" = "-h" ]] && exit
_qCol export "_"
printf "${_S}ANSI CODES AND QOLOP VARIABLES
==============================${_Z}
${_S}Fo${_U}rm${_st}at${_u}ti${_ic}ng${_Z} ESC[Xm
${_S}==========${_Z}
0 Z Clear format
1 S ${_S}Strong ${_Z} 2 s ${_s}Off${_Z}
4 U ${_U}Underline${_Z} 24 u Off
7 ic ${_ic}Inverse${_Z} 27 io Off
9 st ${_st}Strike${_Z} 29 so Off
${_R}Co${_G}lo${_B}rs${_Z} ESC[Xm or ESC[X;Y;Zm
${_S}======${_Z}
30 k ${_k}Black ${_Z}1 K ${_K}Strong ${_Z}40 bk ${_bk}Background${_Z}
31 r ${_r}Red ${_Z}1 R ${_R}Strong ${_Z}41 br ${_br}Background${_Z}
32 g ${_g}Green ${_Z}1 G ${_G}Strong ${_Z}42 bg ${_bg}Background${_Z}
33 y ${_y}Yellow ${_Z}1 Y ${_Y}Strong ${_Z}43 by ${_by}Background${_Z}
34 b ${_b}Blue ${_Z}1 B ${_B}Strong ${_Z}44 bb ${_bb}Background${_Z}
35 m ${_m}Magenta ${_Z}1 M ${_M}Strong ${_Z}45 bm ${_bm}Background${_Z}
36 c ${_c}Cyan ${_Z}1 C ${_C}Strong ${_Z}46 bc ${_bc}Background${_Z}
37 w ${_w}White ${_Z}1 W ${_W}Strong ${_Z}47 bw ${_bw}Background${_Z}
Enter raw color codes with _qCode function
${_S}Clearing and movement${_Z} ESC[X or ESC[1X
${_S}=====================${_Z}
2J CLR Clear screen
2J ;H CLRSCR _qClr() Clear screen and cursor to upper left
K CLREND Clear to end of line
1K CLRBEG Clear to beginning of line
s _qPos save Save location u _qPos restore Restore location
A _qPos up Up E _qPos lineup Up line
B _qPos down Down F _qPos linedown Down line
C _qPos left Left y;xH _qPos abs y x Absolute Position
D _qPos right Right
"
}

View File

@@ -131,9 +131,10 @@ while true; do
this_pid="$( get_pid "${ids[$j]}" )" this_pid="$( get_pid "${ids[$j]}" )"
[[ -n "$this_pid" ]] && { [[ -n "$this_pid" ]] && {
# PID exists, ask to kill # PID exists, ask to kill
printf "\n ${colRow}k kill?${colZ}\n" printf "\n ${colRow}k kill\n t terminate${colZ}\n"
read -t 600 input2 read -t 600 input2
[[ "$input2" = "k" ]] && kill $( get_pid "${ids[$j]}" ) [[ "$input2" = "k" ]] && kill $( get_pid "${ids[$j]}" )
[[ "$input2" = "t" ]] && kill -9 $( get_pid "${ids[$j]}" )
} }
[[ -z "$this_pid" ]] && { [[ -z "$this_pid" ]] && {
# PID empty, run # PID empty, run