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="Pat Menu Settings 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="Pat Menu Settings 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\rDon't forget to load the new config file" \ --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="Pat Menu Settings 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="Pat Menu Settings 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\rDon't forget to load the new config file" \ --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 }