| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 2 #--------------------------------------------- | 2 #--------------------------------------------- |
| 3 # xdg-desktop-icon | 3 # xdg-desktop-icon |
| 4 # | 4 # |
| 5 # Utility script to install desktop items on a Linux desktop. | 5 # Utility script to install desktop items on a Linux desktop. |
| 6 # | 6 # |
| 7 # Refer to the usage() function below for usage. | 7 # Refer to the usage() function below for usage. |
| 8 # | 8 # |
| 9 # Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> | 9 # Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> |
| 10 # Copyright 2006, Jeremy White <jwhite@codeweavers.com> | 10 # Copyright 2006, Jeremy White <jwhite@codeweavers.com> |
| 11 # | 11 # |
| 12 # LICENSE: | 12 # LICENSE: |
| 13 # | 13 # |
| 14 #--------------------------------------------- | 14 #--------------------------------------------- |
| 15 | 15 |
| 16 usage() | 16 usage() |
| 17 { | 17 { |
| 18 cat << _USAGE | 18 cat << _USAGE |
| 19 _USAGE | 19 _USAGE |
| 20 } | 20 } |
| 21 | 21 |
| 22 manualpage() | 22 manualpage() |
| 23 { | 23 { |
| 24 cat << _MANUALPAGE | 24 cat << _MANUALPAGE |
| 25 _MANUALPAGE | 25 _MANUALPAGE |
| 26 } | 26 } |
| 27 | 27 |
| 28 #@xdg-utils-common@ | 28 #@xdg-utils-common@ |
| 29 | 29 |
| 30 [ x"$1" != x"" ] || exit_failure_syntax | 30 [ x"$1" != x"" ] || exit_failure_syntax |
| 31 | 31 |
| 32 action= | 32 action= |
| 33 desktop_file= | 33 desktop_file= |
| 34 | 34 |
| 35 case $1 in | 35 case $1 in |
| 36 install) | 36 install) |
| 37 action=install | 37 action=install |
| 38 ;; | 38 ;; |
| 39 | 39 |
| 40 uninstall) | 40 uninstall) |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 # Shouldn't happen | 77 # Shouldn't happen |
| 78 if [ -z "$action" ] ; then | 78 if [ -z "$action" ] ; then |
| 79 exit_failure_syntax "command argument missing" | 79 exit_failure_syntax "command argument missing" |
| 80 fi | 80 fi |
| 81 | 81 |
| 82 if [ -z "$desktop_file" ] ; then | 82 if [ -z "$desktop_file" ] ; then |
| 83 exit_failure_syntax "FILE argument missing" | 83 exit_failure_syntax "FILE argument missing" |
| 84 fi | 84 fi |
| 85 | 85 |
| 86 filetype= | 86 filetype= |
| 87 case $desktop_file in | 87 case "$desktop_file" in |
| 88 *.desktop) | 88 *.desktop) |
| 89 filetype=desktop | 89 filetype=desktop |
| 90 if [ "$vendor" = "true" -a "$action" = "install" ] ; then | 90 if [ "$vendor" = "true" -a "$action" = "install" ] ; then |
| 91 check_vendor_prefix "$desktop_file" | 91 check_vendor_prefix "$desktop_file" |
| 92 fi | 92 fi |
| 93 ;; | 93 ;; |
| 94 *) | 94 *) |
| 95 filetype=other | 95 filetype=other |
| 96 ;; | 96 ;; |
| 97 esac | 97 esac |
| 98 | 98 |
| 99 my_umask=077 | 99 my_umask=077 |
| 100 desktop_dir="$HOME/Desktop" | 100 desktop_dir="$HOME/Desktop" |
| 101 if xdg-user-dir 2>/dev/null 1>&2; then |
| 102 desktop_dir=`xdg-user-dir DESKTOP` |
| 103 fi |
| 101 desktop_dir_kde=`kde${KDE_SESSION_VERSION}-config --userpath desktop 2> /dev/nul
l` | 104 desktop_dir_kde=`kde${KDE_SESSION_VERSION}-config --userpath desktop 2> /dev/nul
l` |
| 102 if gconftool-2 -g /apps/nautilus/preferences/desktop_is_home_dir 2> /dev/null |
grep true > /dev/null; then | 105 if gconftool-2 -g /apps/nautilus/preferences/desktop_is_home_dir 2> /dev/null |
grep true > /dev/null; then |
| 103 desktop_dir_gnome="$HOME" | 106 desktop_dir_gnome="$HOME" |
| 104 # Don't create $HOME/Desktop if it doesn't exist | 107 # Don't create $HOME/Desktop if it doesn't exist |
| 105 [ -w $desktop_dir ] || desktop_dir= | 108 [ -w "$desktop_dir" ] || desktop_dir= |
| 106 fi | 109 fi |
| 107 if [ -n "$desktop_dir_kde" ]; then | 110 if [ -n "$desktop_dir_kde" ]; then |
| 108 if [ ! -d "$desktop_dir_kde" ]; then | 111 if [ ! -d "$desktop_dir_kde" ]; then |
| 109 save_umask=`umask` | 112 save_umask=`umask` |
| 110 umask $my_umask | 113 umask $my_umask |
| 111 mkdir -p $desktop_dir_kde | 114 mkdir -p "$desktop_dir_kde" |
| 112 umask $save_umask | 115 umask $save_umask |
| 113 fi | 116 fi |
| 114 # Is the KDE desktop dir != $HOME/Desktop ? | 117 # Is the KDE desktop dir != $HOME/Desktop ? |
| 115 if [ x`readlink -f "$desktop_dir"` != x`readlink -f "$desktop_dir_kde"` ]; t
hen | 118 if [ x`readlink -f "$desktop_dir"` != x`readlink -f "$desktop_dir_kde"` ]; t
hen |
| 116 # If so, don't create $HOME/Desktop if it doesn't exist | 119 # If so, don't create $HOME/Desktop if it doesn't exist |
| 117 [ -w $desktop_dir ] || desktop_dir= | 120 [ -w "$desktop_dir" ] || desktop_dir= |
| 118 else | 121 else |
| 119 desktop_dir_kde= | 122 desktop_dir_kde= |
| 120 fi | 123 fi |
| 121 fi | 124 fi |
| 122 desktop_dir="$desktop_dir $desktop_dir_kde $desktop_dir_gnome" | |
| 123 | 125 |
| 124 basefile=`basename "$desktop_file"` | 126 basefile=`basename "$desktop_file"` |
| 125 | 127 |
| 126 DEBUG 1 "$action $desktop_file in $desktop_dir" | 128 DEBUG 1 "$action $desktop_file in $desktop_dir $desktop_dir_kde $desktop_dir_gno
me" |
| 127 | 129 |
| 128 case $action in | 130 case $action in |
| 129 install) | 131 install) |
| 130 save_umask=`umask` | 132 save_umask=`umask` |
| 131 umask $my_umask | 133 umask $my_umask |
| 132 | 134 |
| 133 for x in $desktop_dir ; do | 135 for x in "$desktop_dir" "$desktop_dir_kde" "$desktop_dir_gnome" ; do |
| 134 mkdir -p $x | 136 if [ -n "$x" ]; then |
| 135 eval 'cp $desktop_file $x/$basefile'$xdg_redirect_output | 137 mkdir -p "$x" |
| 138 eval 'cp "$desktop_file" "$x/$basefile"'$xdg_redirect_output |
| 139 fi |
| 136 done | 140 done |
| 137 | 141 |
| 138 umask $save_umask | 142 umask $save_umask |
| 139 ;; | 143 ;; |
| 140 | 144 |
| 141 uninstall) | 145 uninstall) |
| 142 for x in $desktop_dir ; do | 146 for x in "$desktop_dir" "$desktop_dir_kde" "$desktop_dir_gnome" ; do |
| 143 rm -f $x/$basefile | 147 if [ -n "$x" ]; then |
| 148 rm -f "$x/$basefile" |
| 149 fi |
| 144 done | 150 done |
| 145 | 151 |
| 146 ;; | 152 ;; |
| 147 esac | 153 esac |
| 148 | 154 |
| 149 exit_success | 155 exit_success |
| 150 | 156 |
| 151 | 157 |
| OLD | NEW |