8
A couple terminal utils
(sopuli.xyz)
I don't know if anyone could use these, but I thought I'd share two commands I use sometimes while trying out different terminals. In my .bash_aliases
file I have:
alias whatterm="ps -o 'cmd=' -p $(ps -o 'ppid=' -p $$)"
example:
$ whatterm
alacritty
and I have the following script saved in my local bin directory as testterm
. I don't know how great of a test it is, but it shows the capabilities of different terminals and I like the pretty colors.
#!/bin/sh
echo "# 24-bit (true-color)"
# based on: https://gist.github.com/XVilka/8346728
term_cols="$(tput cols || echo 80)"
cols=$(echo "2^((l($term_cols)/l(2))-1)" | bc -l 2> /dev/null)
rows=$(( cols / 2 ))
awk -v cols="$cols" -v rows="$rows" 'BEGIN{
s=" ";
m=cols+rows;
for (row = 0; row<rows; row++) {
for (col = 0; col<cols; col++) {
i = row+col;
r = 255-(i*255/m);
g = (i*510/m);
b = (i*255/m);
if (g>255) g = 510-g;
printf "\033[48;2;%d;%d;%dm", r,g,b;
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
printf "%s\033[0m", substr(s,(col+row)%2+1,1);
}
printf "\n";
}
printf "\n\n";
}'
echo "# text decorations"
echo '\e[1mbold\e[22m'
echo '\e[2mdim\e[22m'
echo '\e[3mitalic\e[23m'
echo '\e[4munderline\e[24m'
echo '\e[4:1mthis is also underline\e[4:0m'
echo '\e[21mdouble underline\e[24m'
echo '\e[4:2mthis is also double underline\e[4:0m'
echo '\e[4:3mcurly underline\e[4:0m'
echo '\e[58;5;10;4mcolored underline\e[59;4:0m'
echo '\e[5mblink\e[25m'
echo '\e[7mreverse\e[27m'
echo '\e[8minvisible\e[28m <- invisible (but copy-pasteable)'
echo '\e[9mstrikethrough\e[29m'
echo '\e[53moverline\e[55m'
echo
echo "# magic string (see https://en.wikipedia.org/wiki/Unicode#Web)"
echo "é Δ Й ק م ๗ あ 叶 葉 말"
echo
echo "# emojis"
echo "😃😱😵"
echo
echo "# right-to-left ('w' symbol should be at right side)"
echo "שרה"
echo
echo "# sixel graphics"
printf '\eP0;0;0q"1;1;64;64#0;2;0;0;0#1;2;100;100;100#1~{wo_!11?@FN^!34~^NB
@?_ow{~$#0?BFN^!11~}wo_!34?_o{}~^NFB-#1!5~}{o_!12?BF^!25~^NB@??ow{!6~$#0!5?
@BN^!12~{w_!25?_o{}~~NFB-#1!10~}w_!12?@BN^!15~^NFB@?_w{}!10~$#0!10?@F^!12~}
{o_!15?_ow{}~^FB@-#1!14~}{o_!11?@BF^!7~^FB??_ow}!15~$#0!14?@BN^!11~}{w_!7?_
w{~~^NF@-#1!18~}{wo!11?_r^FB@??ow}!20~$#0!18?@BFN!11~^K_w{}~~NF@-#1!23~M!4?
_oWMF@!6?BN^!21~$#0!23?p!4~^Nfpw}!6~{o_-#1!18~^NB@?_ow{}~wo!12?@BFN!17~$#0!
18?_o{}~^NFB@?FN!12~}{wo-#1!13~^NB@??_w{}!9~}{w_!12?BFN^!12~$#0!13?_o{}~~^F
B@!9?@BF^!12~{wo_-#1!8~^NFB@?_w{}!19~{wo_!11?@BN^!8~$#0!8?_ow{}~^FB@!19?BFN
^!11~}{o_-#1!4~^NB@?_ow{!28~}{o_!12?BF^!4~$#0!4?_o{}~^NFB!28?@BN^!12~{w_-#1
NB@???GM!38NMG!13?@BN$#0?KMNNNF@!38?@F!13NMK-\e\'
___
I usually echo $TERM and use colortest script of tinted-shell
I am trying out you script. Thanks for sharing.