From: Guillaume M. <gm...@cr...> - 2006-11-24 00:07:57
|
Ken Hayber a écrit : > Guillaume Millet wrote: >> In addition, I changed a little the script to be more robust with >> parameters in desktop files (like %U) : >> >> #! /bin/sh app=$(gnomevfs-info -s "$1" | grep "Default app" | sed >> 's/.*\: //') if [ -e ~/.local/share/applications/$app ];then >> app=$(grep "^Exec" ~/.local/share/applications/$app | sed >> 's/Exec=//');fi if [ -e /usr/share/applications/$app ];then >> app=$(grep "^Exec" /usr/share/applications/$app | sed >> 's/Exec=//');fi if [ -n "$(echo $app | grep '%[a-zA-Z]')" ]; then >> exec $(echo $app | sed 's/%[a-zA-Z]//') "$@"; else exec $app;fi I've just realized that desktop files have not each the parameter %[a-zA-Z] which, I think, wait upon restricting type of parameters. So the first script was better, after the modification of "%U" by "%[a-zA-Z]" : #!/bin/sh app=$(gnomevfs-info -s "$1" | grep "Default app" | sed 's/.*\: //') if [ -e ~/.local/share/applications/$app ] ; then exec $(grep "^Exec" ~/.local/share/applications/$app | sed 's/Exec=//;s/%[a-zA-Z]//') "$@" fi if [ -e /usr/share/applications/$app ] ; then exec $(grep "^Exec" /usr/share/applications/$app | sed 's/Exec=//;s/%[a-zA-Z]//') "$@" fi > I just added it here, http://rox.sourceforge.net/desktop/node/358 > Please feel free to comment or modify. Thank you. Attention : there is no ";" before "fi" if you put "fi" on a new line. At this moment, the tip on the rox site doesn't work because of that. I'll modify that or you can do it if you are faster. |