You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.4 KiB

#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source "$DIR/common"
export DISPLAY=:0.0
usage(){
echo "dialer"
echo "Options:"
echo " -h|--help Display this help text"
echo " -m|--modem Specify a modem"
echo " -l|--letters Show letter keyboard rather than just numbers"
echo " --dry-run Don't actually call"
}
altKeyboard(){
notify-send "also here"
if [ "$keyboard" = "svkbd-numbers" ]; then
echo "svkbd-colemak"
else
echo "svkbd-numbers"
fi
}
modem="$(mmcli -L | grep -oE 'Modem\/[0-9]+' | head -n 1 | cut -d'/' -f2)"
keyboard="svkbd-numbers"
dryrun=""
# Read the options and set stuff
while [[ $1 = -?* ]]; do
case $1 in
-h|--help) usage; exit;;
-m|--modem) modem="$2"; shift ;;
-l|--letters) keyboard="svkbd-colemak"; shift ;;
--dry-run) dryrun="--dry-run" ;;
--) shift; break ;;
*) die "invalid option: '$1'." ;;
esac
shift
done
while : ; do
# Stop any running keyboards
pkill -9 'svkbd-*'
# Open the keyboard that we are using
"$keyboard" &
choice="$( (
echo "Switch Keyboard"
echo "Exit"
contact-numbers
) | rofi -dmenu -i -me-accept-entry '!MousePrimary' -p "Call" -normal-window -font 'Iosevka 20' )"
case "$choice" in
"Switch Keyboard") keyboard="$(altKeyboard)" ;;
"Exit") break ;;
*)
num="$(echo "$choice" | cut -d ' ' -f 2)"
pkill -9 'svkbd-*'
makeCall -m "$modem" $dryrun "$num"
break ;;
esac
done