home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- #########################
- #
- # confirms the keyboard shortcut changes and saves them
- #
- # for use with the jwmConfigMgr & keyboard scripts
- #
- # author: thoughtjourney
- # date: 18/08/2005
- #
- #########################
-
- ##--------variables---------->>
- TMP1="/tmp/confmask.tmp.$$"
- TMP2="/tmp/maskkey.tmp.$$"
- DEL="NO"
- NEWKEY=$KY
- ACTION=$A
- MASKKEY=
- OLDKEY=
- OLDMASK=
- OLD=
- OLDFILE="/tmp/short"
- CHANGE_SED=
- DEL_SED=
- CONF_FILE=/root/.jwm/jwmrc-personal
- CONF_FILE2=/root/.jwm/jwmrc-personal2
- TEST=
-
- ##------confirmation--------->>
-
- #xmessage -buttons Exit -bg black -fg green -name "New Shortcut" -nearmouse "KEY: $KY MASK: $MSK ACTION: $A DELETE: $CHECK"
-
- ##------preparation---------->>
-
- OLDMASK=`awk -F\| '/old/ {print $2}' $OLDFILE`
- OLDKEY=`awk -F\| '/old/ {print $3}' $OLDFILE`
-
- if [ "$MSK" = "mask" ];then
- MASKKEY=
- else
- echo "$MSK" > $TMP1
- sed -e "s#ALT#1#i" \
- -e "s#CTRL#2#i" \
- -e "s#HYPER#3#i" \
- -e "s#META#4#i" \
- -e "s#SHIFT#5#i" \
- -e "s#SUPER#6#i" \
- -e "s#A#1#i" \
- -e "s#C#2#i" \
- -e "s#H#3#i" \
- -e "s#M#4#i" \
- -e "s#S#5#i" \
- -e "s#P#6#i" \
- -e "s#[^123456]##g" \
- -e "s#1#A#" \
- -e "s#2#C#" \
- -e "s#3#H#" \
- -e "s#4#M#" \
- -e "s#5#S#" \
- -e "s#6#P#" $TMP1 > $TMP2
-
- MASKKEY=`cat $TMP2`
- rm -f $TMP1
- rm -f $TMP2
- fi
-
- #-------delete??------->
- if [ $CHECK = "true" ]; then
-
- #-----mask and key---->
- if [ -z $OLDMASK ];then
- DEL=`Xdialog --title "Delete Shortcut?"\
- --yesno "KEY: $OLDKEY\n\
- ACTION: $A\n\n\
- Are you sure you wish to delete this shortcut?\n\n" 0 0`
-
- if [ $DEL = "NO" ]; then
- exit 0
- else
- DEL_SED=/y\ key=\"$OLDKEY\"\>/d
- fi
-
- #-------key only----->
- else
- DEL=`Xdialog --title "Delete Shortcut?"\
- --yesno "MASK: $OLDMASK
- KEY: $OLDKEY
- ACTION: $A\n\n
- Are you sure you wish to delete this shortcut?\n\n" 0 0`
-
- if [ $DEL = "NO" ]; then
- exit 0
- else
- DEL_SED=/Key\ mask=\"$OLDMASK\"\ key=\"$OLDKEY\"\>/d
- fi
- fi
-
- sed "$DEL_SED" $CONF_FILE > $CONF_FILE2
- mv $CONF_FILE2 $CONF_FILE
- exit 0
-
- #------change---------->
- else
- #---previous shortcut had no mask--->
- if [ -z $OLDMASK ]; then
-
- echo NEWMASK: $MSK
- if [ -z $MASKKEY ];then
-
- #--new shortcut doesn't have mask-->
- GAP="y key="
- CHANGE_SED=s!y\ key=\"$OLDKEY\"\>!y\ key=\"$NEWKEY\"\>!g
- sed -e "$CHANGE_SED" $CONF_FILE > $CONF_FILE2
-
- else
- #--new shortcut has mask-->
- CHANGE_SED=s!Key\ key=\"$OLDKEY\"\>!Key\ mask=\"$MASKKEY\"\ key=\"$NEWKEY\"\>!g
- sed -e "$CHANGE_SED" $CONF_FILE > $CONF_FILE2
- fi
-
- else #---previous shortcut had mask--->
- if [ -z $MASKKEY ];then
-
- #--new shortcut doesn't have mask-->
- CHANGE_SED=s!y\ mask=\"$OLDMASK\"\ key=\"$OLDKEY\"\>!y\ key=\"$NEWKEY\"\>!g
- sed -e "$CHANGE_SED" $CONF_FILE > $CONF_FILE2
-
- else
- #--new shortcut has mask-->
- CHANGE_SED=s!Key\ mask=\"$OLDMASK\"\ key=\"$OLDKEY\"\>!Key\ mask=\"$MASKKEY\"\ key=\"$NEWKEY\"\>!g
- sed -e "$CHANGE_SED" $CONF_FILE > $CONF_FILE2
- fi
- fi
-
- fi
-
-
- #---------confirm-------->
- cp $CONF_FILE2 $CONF_FILE
-
- Xdialog --title "Shortcut_Changed" --msgbox "The following shortcut has been added\n\n
- $MASKKEY+$NEWKEY $A\n\n" 0 0
-
- sync
-
-
-