$OpenBSD: patch-scripts_xdg-open,v 1.3 2009/08/15 23:14:15 ajacoutot Exp $ --- scripts/xdg-open.orig Sun Jun 24 21:58:01 2007 +++ scripts/xdg-open Sun Aug 16 01:11:30 2009 @@ -364,7 +364,9 @@ open_generic() for browser in $BROWSER; do if [ x"$browser" != x"" ]; then - browser_with_arg=`echo "$browser" | sed s#%s#"$1"#` + browser_with_args=`printf "$browser" "$1" 2>/dev/null` + if [ $? -ne 0 ]; then browser_with_args=$browser; + fi if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1"; else $browser_with_arg; @@ -403,12 +405,21 @@ if [ -z "${url}" ] ; then exit_failure_syntax "file or URL argument missing" fi +if which xdg-open-hook > /dev/null 2> /dev/null; then + xdg-open-hook "$url" + if [ $? -eq 0 ]; then + exit_success + else + exit_failure_operation_failed + fi +fi + detectDE if [ x"$DE" = x"" ]; then # if BROWSER variable is not set, check some well known browsers instead if [ x"$BROWSER" = x"" ]; then - BROWSER=firefox:mozilla:netscape + BROWSER=firefox:seamonkey:epiphany:opera:mozilla:netscape fi DE=generic fi