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.
gnome-commander/mimeedit-svn1958.diff

108 lines
3.4 KiB

Index: mimeedit.sh
===================================================================
--- mimeedit.sh (revision 1962)
+++ mimeedit.sh (working copy)
@@ -63,11 +63,13 @@
# Build a list with registered apps for this mimetype.
#
function deflist (){
- if [ -e "$UTMP.avail" ]; then cleanup;fi
+ TMP_AVAIL="`mktemp /tmp/gnome-commander.XXXXXX`"
+ TMP_CHOSEN="`mktemp /tmp/gnome-commander.XXXXXX`"
+ # if [ -e "$UTMP.avail" ]; then cleanup;fi
# Create the list in "$UTMP.avail" to be used by the zenity list-box
if [ "$NONEW" == 1 ]
then
- echo "FALSE Add_New_App New" > "$UTMP.avail"
+ echo "FALSE Add_New_App New" > $TMP_AVAIL
fi
# Get all sub-mimetypes, one per row.
SUB="$(grep -hs "^$MTPE" $SUBC $G_CACHE $U_CACHE | awk -F= '{print $1}' | sed 's/ /\n/g')"
@@ -77,14 +79,14 @@
then
for i in $(echo "$MTPEs" | sort -u); do
echo "FALSE $i $(grep -hs "^Name=" $GDATA_DIR/$i $DATA_DIR/$i | \
- sed 's/Name=//;s/ /_/g')" >> "$UTMP.avail"
+ sed 's/Name=//;s/ /_/g')" >> $TMP_AVAIL
done
fi
# Change FALSE to TRUE for the default app.
- if grep -q "desktop" "$UTMP.avail"
+ if grep -q "desktop" $TMP_AVAIL
then
DEF_APP=$(gnomevfs-info -s "$ARGU" | grep "Default app" | sed 's/.*: //')
- sed -i "s|FALSE $DEF_APP|TRUE $DEF_APP|" "$UTMP.avail"
+ sed -i "s|FALSE $DEF_APP|TRUE $DEF_APP|" $TMP_AVAIL
fi
# Show the list
zenity --height="350" --width="550" --list --radiolist --text \
@@ -99,17 +101,17 @@
Please select" \
--column "Pick" --column ".desktop file" --column "Application" \
- $(cat "$UTMP.avail") > "$UTMP.chosen"
+ $(cat $TMP_AVAIL ) > $TMP_CHOSEN
retval=$?
- choice=$(cat "$UTMP.chosen")
+ choice=$(cat $TMP_CHOSEN )
if grep -q "$MTPE=$choice" $U_DEF
then
retval=2
fi
case $retval in
0)
- DEF_CH=$(grep -s "$choice" "$UTMP.avail" | awk '{print $2}')
- DEF_NME=$(grep -s "$choice" "$UTMP.avail" | awk '{print $3}')
+ DEF_CH=$(grep -s "$choice" $TMP_AVAIL | awk '{print $2}')
+ DEF_NME=$(grep -s "$choice" $TMP_AVAIL | awk '{print $3}')
if [ "$DEF_CH" = Add_New_App ]
then
newmime
@@ -305,8 +307,8 @@
# Remove tempfiles.
#
function cleanup (){
- rm -f "$UTMP.avail"
- rm -f "$UTMP.chosen"
+ rm -f $TMP_AVAIL
+ rm -f $TMP_CHOSEN
}
#
@@ -342,6 +344,7 @@
# The .desktop file editor
#
function dtfedit (){
+ TMPFILE=`mktemp /tmp/gnome-commander.XXXXXX`
USER_DTF="$DT_FILE-$EXT"
if [ -n "$DT_FILE" ]
then
@@ -350,15 +353,22 @@
then
TO_EDIT="$DATA_DIR/$USER_DTF"
else
- TO_EDIT="$GDATA_DIR/$DT_FILE.desktop"
+ DT_FILE_PREFIX=$(echo $DT_FILE | sed -e 's|-[0-9][0-9]*||')
+ DT_FILE_SUFFIX=$(echo $DT_FILE | sed -n -e 's|^.*-\([0-9][0-9]*\)$|\1|p')
+ if [ -e $DATA_DIR/${DT_FILE_PREFIX}-usercreated-$DT_FILE_SUFFIX.desktop ]
+ then
+ TO_EDIT="$DATA_DIR/${DT_FILE_PREFIX}-usercreated-$DT_FILE_SUFFIX.desktop"
+ else
+ TO_EDIT="$GDATA_DIR/$DT_FILE.desktop"
+ fi
fi
cat "$TO_EDIT" | zenity --height="350" --width="550" --text-info --editable \
- --title "Edititng the file: $USER_DTF" > $UTMP.$USER_DTF
- if [ -s $UTMP.$USER_DTF ]
+ --title "Edititng the file: $USER_DTF" > $TMPFILE
+ if [ -s $TMPFILE ]
then
- mv $UTMP.$USER_DTF $DATA_DIR/$USER_DTF
+ mv $TMPFILE $DATA_DIR/$USER_DTF
else
- rm -f $UTMP.$USER_DTF
+ rm -f $TMPFILE
DT_FILE=""
fi
fi