mirror of
https://github.com/km4ack/patmenu2.git
synced 2025-05-15 22:30:11 -07:00
350 lines
10 KiB
Plaintext
350 lines
10 KiB
Plaintext
|
|
|
|
MYPATH=$HOME/patmenu2
|
|
MAIN=$MYPATH/./manage-menu
|
|
LOGO=$MYPATH/pmlogo.png
|
|
|
|
NEWCONFIG(){
|
|
source $MYPATH/config
|
|
CONFIGTMP=$MYPATH/config.temp
|
|
|
|
SETTINGS=$(yad --form --width=600 --text-align=center --center --title="Pat Menu Settings" --text-align=center \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
|
|
--text="<b>Pat Menu Settings</b> by KM4ACK" \
|
|
--field="Call Sign" "$MYCALLSIGN" \
|
|
--field="MAP":CB "usa|world" \
|
|
--field="Rig Control":CB "no|yes" \
|
|
--field="ARDOP Command" "$ARDOP" \
|
|
--field="ARDOP GUI Command" "$ARDOPGUI" \
|
|
--field="Direwolf Command" "$DIREWOLF" \
|
|
--field="KISS Command" "$KISS" \
|
|
--field="AX25 Port" "$AXP" \
|
|
--field="Rig Control Command" "$RIG" \
|
|
--field="HF Mode for Radio" "$MODEHF" \
|
|
--field="2M Mode for Radio" "$MODE2M" \
|
|
--field="Pat Port" "$PORT" \
|
|
--field="Log File Location" "$LOG" \
|
|
--field="AmRRON":CB "no|yes" \
|
|
--field="Custom Warning":CB "no|yes" \
|
|
--field="Warning Message" "$WARNMSG" \
|
|
--button="Create":2 \
|
|
--button="Cancel":1)
|
|
BUT=$?
|
|
if [ $BUT = 1 ]; then
|
|
$MAIN
|
|
elif [ $BUT = 252 ]; then
|
|
exit
|
|
elif [ $BUT = 2 ]; then
|
|
MYCALLSIGN=$(echo $SETTINGS | awk -F "|" '{print $1}')
|
|
MAP=$(echo $SETTINGS | awk -F "|" '{print $2}')
|
|
RIGCONTROL=$(echo $SETTINGS | awk -F "|" '{print $3}')
|
|
ARDOP=$(echo $SETTINGS | awk -F "|" '{print $4}')
|
|
ARDOPGUI=$(echo $SETTINGS | awk -F "|" '{print $5}')
|
|
DIREWOLF=$(echo $SETTINGS | awk -F "|" '{print $6}')
|
|
KISS=$(echo $SETTINGS | awk -F "|" '{print $7}')
|
|
AXP=$(echo $SETTINGS | awk -F "|" '{print $8}')
|
|
RIG=$(echo $SETTINGS | awk -F "|" '{print $9}')
|
|
MODEHF=$(echo $SETTINGS | awk -F "|" '{print $10}')
|
|
MODE2M=$(echo $SETTINGS | awk -F "|" '{print $11}')
|
|
PORT=$(echo $SETTINGS | awk -F "|" '{print $12}')
|
|
LOG=$(echo $SETTINGS | awk -F "|" '{print $13}')
|
|
AMRRON=$(echo $SETTINGS | awk -F "|" '{print $14}')
|
|
WARN=$(echo $SETTINGS | awk -F "|" '{print $15}')
|
|
WARNMSG=$(echo $SETTINGS | awk -F "|" '{print $16}')
|
|
|
|
NAME=$(yad --form --width=600 --text-align=center --center --title="Name?" --text-align=center \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
|
|
--text="<b>Pat Menu Settings</b> by KM4ACK" \
|
|
--field="New Config Name")
|
|
BUT=$?
|
|
if [ $BUT = 1 ]; then
|
|
$MAIN &
|
|
exit
|
|
else
|
|
NEWCONFIG=$(echo $NAME | awk -F "|" '{print $1}')
|
|
fi
|
|
|
|
#NEWCONFIG=$(echo $SETTINGS | awk -F "|" '{print $15}')
|
|
#NEWCONFIG=$(echo $NEWCONFIG | tr -d "[:blank:]")
|
|
NEWCONFIG=$(echo $NEWCONFIG | sed 's/ /./g')
|
|
NEWCONFIG=$NEWCONFIG.config
|
|
|
|
echo "#Config file for Pat Menu" > $CONFIGTMP
|
|
echo "#20200429 KM4ACK" >> $CONFIGTMP
|
|
echo "MYCALLSIGN=$MYCALLSIGN" >> $CONFIGTMP
|
|
echo "MAP=$MAP" >> $CONFIGTMP
|
|
echo "RIGCONTROL=$RIGCONTROL" >> $CONFIGTMP
|
|
echo "ARDOP=\"$ARDOP\"" >> $CONFIGTMP
|
|
echo "ARDOPGUI=\"$ARDOPGUI\"" >> $CONFIGTMP
|
|
echo "DIREWOLF=\"$DIREWOLF\"" >> $CONFIGTMP
|
|
echo "KISS=\"$KISS\"" >> $CONFIGTMP
|
|
echo "AXP=$AXP" >> $CONFIGTMP
|
|
echo "RIG=\"$RIG\"" >> $CONFIGTMP
|
|
echo "MODEHF=$MODEHF" >> $CONFIGTMP
|
|
echo "MODE2M=$MODE2M" >> $CONFIGTMP
|
|
echo "PORT=$PORT" >> $CONFIGTMP
|
|
echo "LOG=$LOG" >> $CONFIGTMP
|
|
echo "AMRRON=$AMRRON" >> $CONFIGTMP
|
|
echo "WARN=$WARN" >> $CONFIGTMP
|
|
echo "WARNMSG=\"$WARNMSG\"" >> $CONFIGTMP
|
|
CHECKFILE=$(ls $MYPATH | grep $NEWCONFIG)
|
|
if [ -z "$CHECKFILE" ];then
|
|
cp $CONFIGTMP $MYPATH/$NEWCONFIG
|
|
rm $CONFIGTMP
|
|
else
|
|
echo "FILE ALREADY EXISTS" ######################
|
|
yad --form --width=600 --text-align=center --center --title="Pat Menu Settings" --text-align=center \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
|
|
--text="\r\rFile already exist!\rOverwrite existing config file?" \
|
|
--button="Yes":2 \
|
|
--button="No":1
|
|
BUT=$?
|
|
if [ $BUT = 1 ]; then
|
|
$MAIN &
|
|
exit
|
|
elif [ $BUT = 2 ]; then
|
|
cp $CONFIGTMP $MYPATH/$NEWCONFIG
|
|
rm $CONFIGTMP
|
|
fi
|
|
|
|
fi
|
|
yad --title="Config Created" --width=400 --height=200 \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top \
|
|
--center --text="$NEWCONFIG created\r\r<b>Don't forget to load the new config file</b>" \
|
|
--button=gtk-ok
|
|
$MAIN &
|
|
exit
|
|
fi
|
|
}
|
|
|
|
LOADCONFIG(){
|
|
OUTFILE=/run/user/$UID/configlist.tmp
|
|
|
|
ls $MYPATH/ | grep .config > $OUTFILE
|
|
|
|
INFO=$(PARSER='OFS="\n" {print $1}'
|
|
|
|
tail -10 $OUTFILE | awk "$PARSER" | \
|
|
yad --title="Load Config" --width=400 --height=500 \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top \
|
|
--center --list --text="Choose Config File to load" \
|
|
--column Config-files \
|
|
--button="Cancel":1 \
|
|
--button="Load Config File":2)
|
|
BUT=$?
|
|
NEWCONFIG=$(echo $INFO | awk -F "|" '{print $1}')
|
|
echo $NEWCONFIG
|
|
echo $BUT
|
|
|
|
if [ $BUT = 252 ]; then
|
|
exit
|
|
elif [ $BUT = 1 ]; then
|
|
$MAIN
|
|
exit
|
|
elif [ $BUT = 2 ]; then
|
|
if [ -z $NEWCONFIG ]; then
|
|
$MAIN &
|
|
exit
|
|
else
|
|
cp $MYPATH/$NEWCONFIG $MYPATH/config
|
|
rm $OUTFILE
|
|
yad --title="Config Loaded" --width=400 --height=200 \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top \
|
|
--center --text="$NEWCONFIG loaded" \
|
|
--button=gtk-ok
|
|
$MAIN &
|
|
exit
|
|
fi
|
|
fi
|
|
}
|
|
|
|
CURRENTCONFIG(){
|
|
source $MYPATH/config
|
|
CONFIGTMP=$MYPATH/config.temp
|
|
CONFIG=$MYPATH/config
|
|
|
|
if [ "$MAP" = 'usa' ]; then
|
|
MAP="usa|world"
|
|
else
|
|
MAP="world|usa"
|
|
fi
|
|
|
|
if [ "$RIGCONTROL" = 'yes' ]; then
|
|
RIGCONTROL="yes|no"
|
|
else
|
|
RIGCONTROL="no|yes"
|
|
fi
|
|
|
|
if [ "$AMRRON" = 'yes' ]; then
|
|
AMRRON="yes|no"
|
|
else
|
|
AMRRON="no|yes"
|
|
fi
|
|
|
|
if [ "$WARN" = 'yes' ]; then
|
|
WARN="yes|no"
|
|
else
|
|
WARN="no|yes"
|
|
fi
|
|
|
|
SETTINGS=$(yad --form --width=600 --text-align=center --center --title="Pat Menu Settings" --text-align=center \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
|
|
--text="<b>Pat Menu Settings</b> by KM4ACK" \
|
|
--field="Call Sign" "$MYCALLSIGN" \
|
|
--field="MAP":CB "$MAP" \
|
|
--field="Rig Control":CB "$RIGCONTROL" \
|
|
--field="ARDOP Command" "$ARDOP" \
|
|
--field="ARDOP GUI Command" "$ARDOPGUI" \
|
|
--field="Direwolf Command" "$DIREWOLF" \
|
|
--field="KISS Command" "$KISS" \
|
|
--field="AX25 Port" "$AXP" \
|
|
--field="Rig Control Command" "$RIG" \
|
|
--field="HF Mode for Radio" "$MODEHF" \
|
|
--field="2M Mode for Radio" "$MODE2M" \
|
|
--field="Pat Port" "$PORT" \
|
|
--field="Log File Location" "$LOG" \
|
|
--field="AmRRON":CB "$AMRRON" \
|
|
--field="Custom Warning":CB "$WARN" \
|
|
--field="Warning Message" "$WARNMSG" \
|
|
--button="Save As":3 \
|
|
--button="Update":2 \
|
|
--button="Cancel":1)
|
|
BUT=$?
|
|
|
|
if [ $BUT = 1 ]; then
|
|
$MAIN
|
|
elif [ $BUT = 252 ]; then
|
|
exit
|
|
elif [ $BUT = 2 ]; then
|
|
MYCALLSIGN=$(echo $SETTINGS | awk -F "|" '{print $1}')
|
|
MAP=$(echo $SETTINGS | awk -F "|" '{print $2}')
|
|
RIGCONTROL=$(echo $SETTINGS | awk -F "|" '{print $3}')
|
|
ARDOP=$(echo $SETTINGS | awk -F "|" '{print $4}')
|
|
ARDOPGUI=$(echo $SETTINGS | awk -F "|" '{print $5}')
|
|
DIREWOLF=$(echo $SETTINGS | awk -F "|" '{print $6}')
|
|
KISS=$(echo $SETTINGS | awk -F "|" '{print $7}')
|
|
AXP=$(echo $SETTINGS | awk -F "|" '{print $8}')
|
|
RIG=$(echo $SETTINGS | awk -F "|" '{print $9}')
|
|
MODEHF=$(echo $SETTINGS | awk -F "|" '{print $10}')
|
|
MODE2M=$(echo $SETTINGS | awk -F "|" '{print $11}')
|
|
PORT=$(echo $SETTINGS | awk -F "|" '{print $12}')
|
|
LOG=$(echo $SETTINGS | awk -F "|" '{print $13}')
|
|
AMRRON=$(echo $SETTINGS | awk -F "|" '{print $14}')
|
|
WARN=$(echo $SETTINGS | awk -F "|" '{print $15}')
|
|
WARNMSG=$(echo $SETTINGS | awk -F "|" '{print $16}')
|
|
|
|
echo "#Config file for Pat Menu" > $CONFIGTMP
|
|
echo "#20200429 KM4ACK" >> $CONFIGTMP
|
|
echo "MYCALLSIGN=$MYCALLSIGN" >> $CONFIGTMP
|
|
echo "MAP=$MAP" >> $CONFIGTMP
|
|
echo "RIGCONTROL=$RIGCONTROL" >> $CONFIGTMP
|
|
echo "ARDOP=\"$ARDOP\"" >> $CONFIGTMP
|
|
echo "ARDOPGUI=\"$ARDOPGUI\"" >> $CONFIGTMP
|
|
echo "DIREWOLF=\"$DIREWOLF\"" >> $CONFIGTMP
|
|
echo "KISS=\"$KISS\"" >> $CONFIGTMP
|
|
echo "AXP=$AXP" >> $CONFIGTMP
|
|
echo "RIG=\"$RIG\"" >> $CONFIGTMP
|
|
echo "MODEHF=$MODEHF" >> $CONFIGTMP
|
|
echo "MODE2M=$MODE2M" >> $CONFIGTMP
|
|
echo "PORT=$PORT" >> $CONFIGTMP
|
|
echo "LOG=$LOG" >> $CONFIGTMP
|
|
echo "AMRRON=$AMRRON" >> $CONFIGTMP
|
|
echo "WARN=$WARN" >> $CONFIGTMP
|
|
echo "WARNMSG=\"$WARNMSG\"" >> $CONFIGTMP
|
|
cp $CONFIGTMP $CONFIG
|
|
rm $CONFIGTMP
|
|
$MAIN &
|
|
exit
|
|
elif [ $BUT = 3 ]; then
|
|
NEWNAME=$(yad --form --width=600 --text-align=center --center --title="Name?" --text-align=center \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
|
|
--text="<b>Pat Menu Settings</b> by KM4ACK" \
|
|
--field="New Config Name")
|
|
BUT=$?
|
|
if [ $BUT = 1 ]; then
|
|
$MAIN & exit
|
|
elif [ $BUT = 252 ]; then
|
|
exit
|
|
fi
|
|
|
|
NEWNAME=$(echo $NEWNAME | awk -F "|" '{print $1}')
|
|
NEWNAME=$NEWNAME.config #add .config to filename
|
|
NEWNAME=$(echo $NEWNAME | sed 's/ /-/g') #remove spaces in file name
|
|
|
|
cp $CONFIG $HOME/patmenu2/$NEWNAME
|
|
|
|
yad --title="Config Created" --width=400 --height=200 \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top \
|
|
--center --text="$NEWNAME created\r\r<b>Don't forget to load the new config file</b>" \
|
|
--button=gtk-ok
|
|
$MAIN &
|
|
exit
|
|
fi
|
|
}
|
|
|
|
DELETECONFIG(){
|
|
TEMPFILE=$MYPATH/config.tmp
|
|
|
|
FILES=$(ls $MYPATH | grep .config)
|
|
|
|
echo $FILES | awk 'BEGIN { OFS = "\n" }{ print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10 }' > $TEMPFILE
|
|
|
|
CONFIG=$(PARSER='OFS="\n" {print $1}'
|
|
|
|
tail -50 $TEMPFILE | awk "$PARSER" | \
|
|
yad --title="Config Delete" --width=1100 --height=500 --separator=" " --item-separator="|" \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top \
|
|
--center --list --text="Config Delete" \
|
|
--column Config-Files \
|
|
--button=gtk-close \
|
|
--button="Delete Config":2)
|
|
BUT=$?
|
|
|
|
if [ $BUT = 0 ]; then
|
|
$MAIN &
|
|
rm $TEMPFILE
|
|
exit
|
|
elif [ $BUT = 252 ]; then
|
|
rm $TEMPFILE
|
|
exit
|
|
fi
|
|
FILE=$(echo $CONFIG | awk -F "|" '{print $1}')
|
|
rm $MYPATH/$FILE
|
|
rm $TEMPFILE
|
|
|
|
yad --title="Deleted" --width=400 --height=100 \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
|
|
--center --form --text="$FILE has been deleted" \
|
|
--button=gtk-ok
|
|
|
|
$MAIN &
|
|
exit
|
|
|
|
}
|
|
|
|
SOUND(){
|
|
CARD=$(arecord -l | grep card | awk '{print $2}' | sed 's/://')
|
|
DIRECARD=$(cat $HOME/direwolf.conf | grep ADEVICE | head -1 | awk '{print $2}' | sed 's/plughw://' | sed 's/,.*$//')
|
|
PATCARD=$(cat $HOME/patmenu2/config | grep ARDOP | head -1 | awk '{print $3}' | sed 's/plughw://' | sed 's/,.*$//')
|
|
|
|
|
|
sed -i "0,/$DIRECARD,0/{s//$CARD,0/}" $HOME/direwolf.conf
|
|
sed -i "s/$PATCARD,0/$CARD,0/g" $HOME/patmenu2/config
|
|
|
|
|
|
yad --title="Sound Card" --width=400 --height=100 \
|
|
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center --on-top \
|
|
--center --form --text="\r\r\r\rSound card data has been updated\rfor both Packet and ARDOP modems." \
|
|
--button=gtk-ok
|
|
|
|
$MAIN &
|
|
exit
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|