[Portland-bugs] [Bug 19011] xdg-desktop-icon (v1.0.2) does not use localized desktop folder name under GNOME
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Dec 20 08:39:50 PST 2008
http://bugs.freedesktop.org/show_bug.cgi?id=19011
--- Comment #6 from Florian Höch <florian.hoech at gmx.de> 2008-12-20 08:39:49 PST ---
(From update of attachment 21029)
I've updated the patch because there was still a problem on some systems (Error
"source: not found").
Also, I've added support for kde4 and spaces in desktop directory and file
names should now also work.
I can confirm this patch is working on atleast three distributions (tested by
another user on fedora 9 livecd with norwegian gnome and ubuntu 8.10 with
norwegian gnome, and tested by me on german opensuse 11 with kde4 and gnome and
desktop directory renamed to "Schreibtisch")
--- xdg-desktop-icon.bak Sun Jun 24 20:57:56 2007
+++ xdg-desktop-icon Sat Dec 20 02:07:42 2008
@@ -495,50 +495,71 @@
esac
my_umask=077
-desktop_dir="$HOME/Desktop"
+# Is xdg-user-dirs present and enabled ?
+if ( [ -e ${XDG_CONFIG_HOME:-~/.config}/user-dirs.conf ] && cat
${XDG_CONFIG_HOME:-~/.config}/user-dirs.conf || ( [ -e /etc/xdg/user-dirs.conf
] && cat /etc/xdg/user-dirs.conf ) ) | grep enabled=True > /dev/null; then
+ DESKTOP=Desktop
+ # Try to get global defaults
+ [ -f /etc/xdg/user-dirs.defaults ] && . /etc/xdg/user-dirs.defaults
+ # Try to get user-defined settings
+ [ -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs ] && .
${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
+ desktop_dir=${XDG_DESKTOP_DIR:-$HOME/$DESKTOP}
+else
+ desktop_dir="$HOME/Desktop"
+fi
desktop_dir_kde=`kde-config --userpath desktop 2> /dev/null`
+desktop_dir_kde4=`kde4-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
- 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=
- else
- desktop_dir_kde=
+for x in "$desktop_dir_kde" "$desktop_dir_kde4" ; do
+ if [ -n "$x" ]; then
+ if [ ! -d "$x" ]; then
+ save_umask=`umask`
+ umask $my_umask
+ mkdir -p "$x"
+ umask $save_umask
+ fi
+ # Is the KDE desktop dir != $desktop_dir ?
+ if [ x"`readlink -f "$desktop_dir"`" != x"`readlink -f "$x"`" ]; then
+ # If so, don't create $desktop_dir if it doesn't exist
+ [ -w "$desktop_dir" ] || desktop_dir=
+ else
+ if [ "$x" = "$desktop_dir_kde" ]; then
+ desktop_dir_kde=
+ fi
+ if [ "$x" = "$desktop_dir_kde4" ]; then
+ desktop_dir_kde4=
+ fi
+ fi
fi
-fi
-desktop_dir="$desktop_dir $desktop_dir_kde $desktop_dir_gnome"
+done
-basefile=`basename $desktop_file`
+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_kde4 $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_kde4"
"$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_kde4"
"$desktop_dir_gnome" ; do
+ if [ -n "$x" ]; then
+ rm -f "$x/$basefile"
+ fi
done
;;
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Portland-bugs
mailing list