| OLD | NEW |
| 1 #!/bin/sh | 1 #!/bin/sh |
| 2 #--------------------------------------------- | 2 #--------------------------------------------- |
| 3 # xdg-desktop-menu | 3 # xdg-desktop-menu |
| 4 # | 4 # |
| 5 # Utility script to install menu items on a Linux desktop. | 5 # Utility script to install menu items on a Linux desktop. |
| 6 # Refer to the usage() function below for usage. | 6 # Refer to the usage() function below for usage. |
| 7 # | 7 # |
| 8 # Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> | 8 # Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at> |
| 9 # Copyright 2006, Jeremy White <jwhite@codeweavers.com> | 9 # Copyright 2006, Jeremy White <jwhite@codeweavers.com> |
| 10 # | 10 # |
| (...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 838 if (match($0,/>/)) { | 838 if (match($0,/>/)) { |
| 839 print substr($0,RSTART+1) | 839 print substr($0,RSTART+1) |
| 840 } | 840 } |
| 841 }' $orig_menu_file > $tmpfile | 841 }' $orig_menu_file > $tmpfile |
| 842 fi | 842 fi |
| 843 | 843 |
| 844 orig_desktop_files=`cat $tmpfile` | 844 orig_desktop_files=`cat $tmpfile` |
| 845 new_desktop_files= | 845 new_desktop_files= |
| 846 if [ $action = "install" ] ; then | 846 if [ $action = "install" ] ; then |
| 847 for desktop_file in $desktop_files; do | 847 for desktop_file in $desktop_files; do |
| 848 basefile=`basename $desktop_file` | 848 basefile=`basename "$desktop_file"` |
| 849 if ! grep '^'$basefile'$' $tmpfile > /dev/null 2> /dev/null ; then | 849 if ! grep '^'$basefile'$' $tmpfile > /dev/null 2> /dev/null ; then |
| 850 # Append | 850 # Append |
| 851 echo "$basefile" >> $tmpfile | 851 echo "$basefile" >> $tmpfile |
| 852 fi | 852 fi |
| 853 done | 853 done |
| 854 new_desktop_files=`cat $tmpfile` | 854 new_desktop_files=`cat $tmpfile` |
| 855 fi | 855 fi |
| 856 if [ $action = "uninstall" ] ; then | 856 if [ $action = "uninstall" ] ; then |
| 857 echo > $tmpfile | 857 echo > $tmpfile |
| 858 for desktop_file in $desktop_files; do | 858 for desktop_file in $desktop_files; do |
| (...skipping 17 matching lines...) Expand all Loading... |
| 876 test "${TMPDIR+set}" = set || TMPDIR=/tmp | 876 test "${TMPDIR+set}" = set || TMPDIR=/tmp |
| 877 tmpfile=`mktemp $TMPDIR/tmp.XXXXXXXXXX` | 877 tmpfile=`mktemp $TMPDIR/tmp.XXXXXXXXXX` |
| 878 ( | 878 ( |
| 879 echo '<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"' | 879 echo '<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"' |
| 880 echo ' "http://www.freedesktop.org/standards/menu-spec/menu-1.0.d
td">' | 880 echo ' "http://www.freedesktop.org/standards/menu-spec/menu-1.0.d
td">' |
| 881 echo '<!-- Do not edit manually - generated and managed by xdg-deskt
op-menu -->' | 881 echo '<!-- Do not edit manually - generated and managed by xdg-deskt
op-menu -->' |
| 882 echo '<Menu>' | 882 echo '<Menu>' |
| 883 echo ' <Name>Applications</Name>' | 883 echo ' <Name>Applications</Name>' |
| 884 | 884 |
| 885 for desktop_file in $directory_files; do | 885 for desktop_file in $directory_files; do |
| 886 basefile=`basename $desktop_file` | 886 basefile=`basename "$desktop_file"` |
| 887 basefilename=`echo "$basefile"|cut -d '.' -f 1` | 887 basefilename=`echo "$basefile"|cut -d '.' -f 1` |
| 888 echo "<Menu>" | 888 echo "<Menu>" |
| 889 echo " <Name>$basefilename</Name>" | 889 echo " <Name>$basefilename</Name>" |
| 890 echo " <Directory>$basefile</Directory>" | 890 echo " <Directory>$basefile</Directory>" |
| 891 done | 891 done |
| 892 | 892 |
| 893 echo " <Include>" | 893 echo " <Include>" |
| 894 for desktop_file in $new_desktop_files; do | 894 for desktop_file in $new_desktop_files; do |
| 895 echo " <Filename>$desktop_file</Filename>" | 895 echo " <Filename>$desktop_file</Filename>" |
| 896 done | 896 done |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1065 if [ -z "$desktop_files" ] ; then | 1065 if [ -z "$desktop_files" ] ; then |
| 1066 exit_failure_syntax "desktop-file argument missing" | 1066 exit_failure_syntax "desktop-file argument missing" |
| 1067 fi | 1067 fi |
| 1068 | 1068 |
| 1069 menu_name= | 1069 menu_name= |
| 1070 for desktop_file in $directory_files; do | 1070 for desktop_file in $directory_files; do |
| 1071 if [ "$vendor" = "true" -a "$action" = "install" ] ; then | 1071 if [ "$vendor" = "true" -a "$action" = "install" ] ; then |
| 1072 check_vendor_prefix "$desktop_file" | 1072 check_vendor_prefix "$desktop_file" |
| 1073 fi | 1073 fi |
| 1074 | 1074 |
| 1075 basefilename=`basename "$desktop_file"|cut -d '.' -f 1` | 1075 basefilename=`basename "$desktop_file" | cut -d '.' -f 1` |
| 1076 if [ -z "$menu_name" ] ; then | 1076 if [ -z "$menu_name" ] ; then |
| 1077 menu_name="$basefilename" | 1077 menu_name="$basefilename" |
| 1078 else | 1078 else |
| 1079 menu_name="$menu_name-$basefilename" | 1079 menu_name="$menu_name-$basefilename" |
| 1080 fi | 1080 fi |
| 1081 done | 1081 done |
| 1082 | 1082 |
| 1083 if [ -n "$menu_name" ] ; then | 1083 if [ -n "$menu_name" ] ; then |
| 1084 if [ x"$mode" = x"user" ] ; then | 1084 if [ x"$mode" = x"user" ] ; then |
| 1085 update_submenu "user-$menu_name.menu" | 1085 update_submenu "user-$menu_name.menu" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1128 xdg_dir="$xdg_global_dir" | 1128 xdg_dir="$xdg_global_dir" |
| 1129 kde_dir="$kde_global_dir" | 1129 kde_dir="$kde_global_dir" |
| 1130 gnome_dir="$gnome_global_dir" | 1130 gnome_dir="$gnome_global_dir" |
| 1131 my_umask=022 | 1131 my_umask=022 |
| 1132 if [ -z "${xdg_dir}${kde_dir}${gnome_dir}" ] ; then | 1132 if [ -z "${xdg_dir}${kde_dir}${gnome_dir}" ] ; then |
| 1133 exit_failure_operation_impossible "No writable system menu directory fou
nd." | 1133 exit_failure_operation_impossible "No writable system menu directory fou
nd." |
| 1134 fi | 1134 fi |
| 1135 fi | 1135 fi |
| 1136 | 1136 |
| 1137 for desktop_file in $directory_files; do | 1137 for desktop_file in $directory_files; do |
| 1138 basefile=`basename $desktop_file` | 1138 basefile=`basename "$desktop_file"` |
| 1139 | 1139 |
| 1140 DEBUG 1 "$action $desktop_file in $xdg_dir $kde_dir $gnome_dir" | 1140 DEBUG 1 "$action $desktop_file in $xdg_dir $kde_dir $gnome_dir" |
| 1141 | 1141 |
| 1142 case $action in | 1142 case $action in |
| 1143 install) | 1143 install) |
| 1144 save_umask=`umask` | 1144 save_umask=`umask` |
| 1145 umask $my_umask | 1145 umask $my_umask |
| 1146 | 1146 |
| 1147 for x in $xdg_dir $kde_dir $gnome_dir ; do | 1147 for x in $xdg_dir $kde_dir $gnome_dir ; do |
| 1148 mkdir -p $x | 1148 mkdir -p $x |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1210 if [ -z "${xdg_dir}${kde_dir}${gnome_dir}" ] ; then | 1210 if [ -z "${xdg_dir}${kde_dir}${gnome_dir}" ] ; then |
| 1211 exit_failure_operation_impossible "No writable system menu directory fou
nd." | 1211 exit_failure_operation_impossible "No writable system menu directory fou
nd." |
| 1212 fi | 1212 fi |
| 1213 fi | 1213 fi |
| 1214 | 1214 |
| 1215 for desktop_file in $desktop_files; do | 1215 for desktop_file in $desktop_files; do |
| 1216 if [ "$vendor" = "true" -a "$action" = "install" ] ; then | 1216 if [ "$vendor" = "true" -a "$action" = "install" ] ; then |
| 1217 check_vendor_prefix "$desktop_file" | 1217 check_vendor_prefix "$desktop_file" |
| 1218 fi | 1218 fi |
| 1219 | 1219 |
| 1220 basefile=`basename $desktop_file` | 1220 basefile=`basename "$desktop_file"` |
| 1221 | 1221 |
| 1222 DEBUG 1 "$action $desktop_file in $xdg_dir $kde_dir $gnome_dir" | 1222 DEBUG 1 "$action $desktop_file in $xdg_dir $kde_dir $gnome_dir" |
| 1223 | 1223 |
| 1224 case $action in | 1224 case $action in |
| 1225 install) | 1225 install) |
| 1226 save_umask=`umask` | 1226 save_umask=`umask` |
| 1227 umask $my_umask | 1227 umask $my_umask |
| 1228 | 1228 |
| 1229 for x in $xdg_dir $kde_dir $gnome_dir ; do | 1229 for x in $xdg_dir $kde_dir $gnome_dir ; do |
| 1230 mkdir -p $x | 1230 mkdir -p $x |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1255 | 1255 |
| 1256 ;; | 1256 ;; |
| 1257 esac | 1257 esac |
| 1258 done | 1258 done |
| 1259 | 1259 |
| 1260 if [ x"$update" = x"yes" ] ; then | 1260 if [ x"$update" = x"yes" ] ; then |
| 1261 update_desktop_database | 1261 update_desktop_database |
| 1262 fi | 1262 fi |
| 1263 | 1263 |
| 1264 exit_success | 1264 exit_success |
| OLD | NEW |