| Index: third_party/xdg-utils/scripts/xdg-open.in
|
| ===================================================================
|
| --- third_party/xdg-utils/scripts/xdg-open.in (revision 0)
|
| +++ third_party/xdg-utils/scripts/xdg-open.in (revision 0)
|
| @@ -0,0 +1,158 @@
|
| +#!/bin/bash
|
| +#---------------------------------------------
|
| +# xdg-open
|
| +#
|
| +# Utility script to open a URL in the registered default application.
|
| +#
|
| +# Refer to the usage() function below for usage.
|
| +#
|
| +# Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at>
|
| +# Copyright 2006, Jeremy White <jwhite@codeweavers.com>
|
| +#
|
| +# LICENSE:
|
| +#
|
| +#---------------------------------------------
|
| +
|
| +manualpage()
|
| +{
|
| +cat << _MANUALPAGE
|
| +_MANUALPAGE
|
| +}
|
| +
|
| +usage()
|
| +{
|
| +cat << _USAGE
|
| +_USAGE
|
| +}
|
| +
|
| +#@xdg-utils-common@
|
| +
|
| +open_kde()
|
| +{
|
| + kfmclient exec "$1"
|
| + kfmclient_fix_exit_code $?
|
| +
|
| + if [ $? -eq 0 ]; then
|
| + exit_success
|
| + else
|
| + exit_failure_operation_failed
|
| + fi
|
| +}
|
| +
|
| +open_gnome()
|
| +{
|
| + gnome-open "$1"
|
| +
|
| + if [ $? -eq 0 ]; then
|
| + exit_success
|
| + else
|
| + exit_failure_operation_failed
|
| + fi
|
| +}
|
| +
|
| +open_xfce()
|
| +{
|
| + exo-open "$1"
|
| +
|
| + if [ $? -eq 0 ]; then
|
| + exit_success
|
| + else
|
| + exit_failure_operation_failed
|
| + fi
|
| +}
|
| +
|
| +open_generic()
|
| +{
|
| + if mimeopen -v 2>/dev/null 1>&2; then
|
| + mimeopen -n "$1"
|
| + if [ $? -eq 0 ]; then
|
| + exit_success
|
| + fi
|
| + fi
|
| +
|
| + if which run-mailcap 2>/dev/null 1>&2 &&
|
| + (echo "$1" | grep -q '^file://' ||
|
| + ! echo "$1" | egrep -q '^[a-zA-Z+\.\-]+:'); then
|
| +
|
| + local file=$(echo "$1" | sed 's%^file://%%')
|
| + run-mailcap --action=view "$file"
|
| + if [ $? -eq 0 ]; then
|
| + exit_success
|
| + fi
|
| + fi
|
| +
|
| + IFS=":"
|
| + for browser in $BROWSER; do
|
| + if [ x"$browser" != x"" ]; then
|
| +
|
| + IFS=' '
|
| + browser_with_arg=${browser//'%s'/"$1"}
|
| +
|
| + if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
|
| + else $browser_with_arg;
|
| + fi
|
| +
|
| + if [ $? -eq 0 ]; then exit_success;
|
| + fi
|
| + fi
|
| + done
|
| +
|
| + exit_failure_operation_impossible "no method available for opening '$1'"
|
| +}
|
| +
|
| +[ x"$1" != x"" ] || exit_failure_syntax
|
| +
|
| +url=
|
| +while [ $# -gt 0 ] ; do
|
| + parm="$1"
|
| + shift
|
| +
|
| + case "$parm" in
|
| + -*)
|
| + exit_failure_syntax "unexpected option '$parm'"
|
| + ;;
|
| +
|
| + *)
|
| + if [ -n "$url" ] ; then
|
| + exit_failure_syntax "unexpected argument '$parm'"
|
| + fi
|
| + url="$parm"
|
| + ;;
|
| + esac
|
| +done
|
| +
|
| +if [ -z "${url}" ] ; then
|
| + exit_failure_syntax "file or URL argument missing"
|
| +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
|
| + fi
|
| + DE=generic
|
| +fi
|
| +
|
| +case "$DE" in
|
| + kde)
|
| + open_kde "$url"
|
| + ;;
|
| +
|
| + gnome)
|
| + open_gnome "$url"
|
| + ;;
|
| +
|
| + xfce)
|
| + open_xfce "$url"
|
| + ;;
|
| +
|
| + generic)
|
| + open_generic "$url"
|
| + ;;
|
| +
|
| + *)
|
| + exit_failure_operation_impossible "no method available for opening '$url'"
|
| + ;;
|
| +esac
|
|
|