# Copyright 2020 Armaan Bhojwani # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . #!/usr/bin/env sh # Merge both global and local charfiles CHARDIR=/tmp/charsel cp -R /usr/share/charsel/* $CHARDIR/ cp -R ~/.local/share/* $CHARDIR/ # Clear screen clear # Check if user provided an input [ -z "$1" ] && echo "No argument supplied" && exit if [ $1 = "list" ]; then echo "The following charfiles are installed" ls $CHARDIR/charfiles exit else # Define charfile CHARFILE=$CHARDIR/charfiles/$1 # Define length of shortcut LENGTH=$(cat $CHARFILE | cut -f 1 -d ',' -s | wc -L | cut -b 1) # MOTD cat /tmp/charsel/motd # Main program while : do # Put charfile into table, showing only the shortcuts below the divider in the charfile cat $CHARFILE | grep -A 100 - | tail -n +2 | column -t --output-separator ' | ' --separator ',' # Automatically enter input read -N $LENGTH INPUT # Navigate to the right characther OUTPUT=$(grep $INPUT $CHARFILE | cut -f 2 -d ',' -s) # Clear screen clear # Copy output to clipboard echo $OUTPUT | xclip -selection clipboard done fi