Index: third_party/xdg-utils/scripts/xdg-desktop-icon.in |
=================================================================== |
--- third_party/xdg-utils/scripts/xdg-desktop-icon.in (revision 57942) |
+++ third_party/xdg-utils/scripts/xdg-desktop-icon.in (working copy) |
@@ -27,7 +27,7 @@ |
#@xdg-utils-common@ |
-[ x"$1" != x"" ] || exit_failure_syntax |
+[ x"$1" != x"" ] || exit_failure_syntax |
action= |
desktop_file= |
@@ -84,7 +84,7 @@ |
fi |
filetype= |
-case $desktop_file in |
+case "$desktop_file" in |
*.desktop) |
filetype=desktop |
if [ "$vendor" = "true" -a "$action" = "install" ] ; then |
@@ -98,49 +98,55 @@ |
my_umask=077 |
desktop_dir="$HOME/Desktop" |
+if xdg-user-dir 2>/dev/null 1>&2; then |
+ desktop_dir=`xdg-user-dir DESKTOP` |
+fi |
desktop_dir_kde=`kde${KDE_SESSION_VERSION}-config --userpath desktop 2> /dev/null` |
if gconftool-2 -g /apps/nautilus/preferences/desktop_is_home_dir 2> /dev/null | grep true > /dev/null; then |
desktop_dir_gnome="$HOME" |
# Don't create $HOME/Desktop if it doesn't exist |
- [ -w $desktop_dir ] || desktop_dir= |
+ [ -w "$desktop_dir" ] || desktop_dir= |
fi |
if [ -n "$desktop_dir_kde" ]; then |
if [ ! -d "$desktop_dir_kde" ]; then |
save_umask=`umask` |
umask $my_umask |
- mkdir -p $desktop_dir_kde |
+ mkdir -p "$desktop_dir_kde" |
umask $save_umask |
fi |
# Is the KDE desktop dir != $HOME/Desktop ? |
if [ x`readlink -f "$desktop_dir"` != x`readlink -f "$desktop_dir_kde"` ]; then |
# If so, don't create $HOME/Desktop if it doesn't exist |
- [ -w $desktop_dir ] || desktop_dir= |
+ [ -w "$desktop_dir" ] || desktop_dir= |
else |
desktop_dir_kde= |
fi |
fi |
-desktop_dir="$desktop_dir $desktop_dir_kde $desktop_dir_gnome" |
basefile=`basename "$desktop_file"` |
-DEBUG 1 "$action $desktop_file in $desktop_dir" |
+DEBUG 1 "$action $desktop_file in $desktop_dir $desktop_dir_kde $desktop_dir_gnome" |
case $action in |
install) |
save_umask=`umask` |
umask $my_umask |
- for x in $desktop_dir ; do |
- mkdir -p $x |
- eval 'cp $desktop_file $x/$basefile'$xdg_redirect_output |
+ for x in "$desktop_dir" "$desktop_dir_kde" "$desktop_dir_gnome" ; do |
+ if [ -n "$x" ]; then |
+ mkdir -p "$x" |
+ eval 'cp "$desktop_file" "$x/$basefile"'$xdg_redirect_output |
+ fi |
done |
umask $save_umask |
;; |
uninstall) |
- for x in $desktop_dir ; do |
- rm -f $x/$basefile |
+ for x in "$desktop_dir" "$desktop_dir_kde" "$desktop_dir_gnome" ; do |
+ if [ -n "$x" ]; then |
+ rm -f "$x/$basefile" |
+ fi |
done |
;; |