X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=charsel;h=cef174685cf360ca8b4651ede1b25766573d420f;hb=f91f2f2e9d218da186b0e84d1ad1a57632d3aebb;hp=9915519b760131eabca6169189c6dc35dd204e27;hpb=a8468aaba5c50da7d878a4ef85bb9b4b70df2ab2;p=charsel.git diff --git a/charsel b/charsel index 9915519..cef1746 100755 --- a/charsel +++ b/charsel @@ -19,30 +19,33 @@ ######################################################################## -VERSION=2.0.3 +VERSION=2.0.7 + +# Environment variables # Define argument functions function usage() { echo "Usage: /usr/bin/charsel [OPTION]... [CHARFILE]... A simple terminal character selector - -h show this message - -l show installed charfiles - -d show readme - -v print version - -c check charfile validity - -a include hidden shortcodes + -a include hidden shortcodes + -b disable color support + -c check charfile validity + -d show readme + -h show this message + -L show installed charfiles without the message + -l show installed charfiles + -v print version Exit status: - 0 okay, - 1 charfile does not exist, - 2 charfile syntax error, - 3 usage error/invalid option, - 4 other error" + 0 okay, + 1 charfile does not exist, + 2 charfile syntax error, + 3 usage error/invalid option, + 4 other error" } CHARDIR=$HOME/.cache/charsel function list() { - echo "The following charfiles are installed:" ls $CHARDIR/charfiles } @@ -104,7 +107,11 @@ function validity() { } # Look for arguments -while getopts ":alchdv" arg +if [ $# -eq 0 ]; then + usage + exit 3 +fi +while getopts ":baLlchdv" arg do case ${arg} in h) @@ -112,6 +119,11 @@ do exit 0 ;; l) + echo "The following charfiles are installed:" + list + exit 0 + ;; + L) list exit 0 ;; @@ -130,6 +142,9 @@ do a) SHOWALL="true" ;; + b) + COLOR="bw" + ;; ?) echo "Invalid option" usage @@ -151,6 +166,12 @@ then exit 4 fi +if [[ $(echo $LANG | grep UTF-8) -ne 0 ]] +then + echo "Please enable unicode support" + exit 4 +fi + # Define length of shortcode LENGTH=$(cat $CHARFILE \ | cut -f 1 -d ',' -s \ @@ -163,12 +184,21 @@ clear bold=$(tput bold) normal=$(tput sgr0) +if [[ $COLOR == bw ]] +then + magenta=$(tput setaf 7) +else + magenta=$(tput setaf 5) +fi + +white=$(tput setaf 7) + # Main program while true do # Format output echo "*---------*---------------*" - echo "| ${bold}CHARSEL${normal} |" $1 + echo "| ${bold}${magenta}CHARSEL${white}${normal} |" $1 echo "*---------*---------------*" echo "" @@ -190,7 +220,7 @@ do # User input read -p "| ${bold}input shortcode: ${normal} " -N $LENGTH INPUT - if [[ $INPUT == ";"* ]] # Semicolon exits + if [[ $INPUT == ";"* ]] # Semicolon exts then clear exit 0 @@ -212,7 +242,7 @@ do fi # Copy output to clipboard - echo $OUTPUT | xclip -selection clipboard + echo -n $OUTPUT | xclip -selection clipboard clear fi