r476 - trunk/meta/xdg-utils

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Jan 25 11:23:08 EST 2008


Author: icculus
Date: 2008-01-25 11:23:08 -0500 (Fri, 25 Jan 2008)
New Revision: 476

Modified:
   trunk/meta/xdg-utils/xdg-open
Log:
Shrank xdg-open as much as reasonable (turned four spaces into one tab char,
 removed unused common functions, manpage and comments). This isn't ever
 run by the user, so it's pure download bulk in this copy. Could shrink this
 further still...


Modified: trunk/meta/xdg-utils/xdg-open
===================================================================
--- trunk/meta/xdg-utils/xdg-open	2008-01-25 16:03:15 UTC (rev 475)
+++ trunk/meta/xdg-utils/xdg-open	2008-01-25 16:23:08 UTC (rev 476)
@@ -1,11 +1,5 @@
 #!/bin/sh
-#---------------------------------------------
-#   xdg-open
-#
-#   Utility script to open a URL in the registered default application.
-#
-#   Refer to the usage() function below for usage.
-#
+# (trimmed by ryan to reduce size.)
 #   Copyright 2006, Kevin Krammer <kevin.krammer at gmx.at>
 #   Copyright 2006, Jeremy White <jwhite at codeweavers.com>
 #
@@ -28,409 +22,199 @@
 #   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 #   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 #   OTHER DEALINGS IN THE SOFTWARE.
-#
-#---------------------------------------------
 
-manualpage()
-{
-cat << _MANUALPAGE
-Name
-
-xdg-open - opens a file or URL in the user's preferred application
-
-Synopsis
-
-xdg-open { file | URL }
-
-xdg-open { --help | --manual | --version }
-
-Description
-
-xdg-open opens a file or URL in the user's preferred application. If a URL is
-provided the URL will be opened in the user's preferred web browser. If a file
-is provided the file will be opened in the preferred application for files of
-that type. xdg-open supports file, ftp, http and https URLs.
-
-xdg-open is for use inside a desktop session only. It is not recommended to use
-xdg-open as root.
-
-Options
-
---help
-    Show command synopsis.
---manual
-    Show this manualpage.
---version
-    Show the xdg-utils version information.
-
-Exit Codes
-
-An exit code of 0 indicates success while a non-zero exit code indicates
-failure. The following failure codes can be returned:
-
-1
-    Error in command line syntax.
-2
-    One of the files passed on the command line did not exist.
-3
-    A required tool could not be found.
-4
-    The action failed.
-
-Examples
-
-xdg-open 'http://www.freedesktop.org/'
-
-Opens the Freedesktop.org website in the user's default browser
-
-xdg-open /tmp/foobar.png
-
-Opens the PNG image file /tmp/foobar.png in the user's default image viewing
-application.
-
-_MANUALPAGE
-}
-
-usage()
-{
-cat << _USAGE
-xdg-open - opens a file or URL in the user's preferred application
-
-Synopsis
-
-xdg-open { file | URL }
-
-xdg-open { --help | --manual | --version }
-
-_USAGE
-}
-
-#@xdg-utils-common@
-
-#----------------------------------------------------------------------------
-#   Common utility functions included in all XDG wrapper scripts
-#----------------------------------------------------------------------------
-
-DEBUG()
-{
-  [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && return 0;
-  [ ${XDG_UTILS_DEBUG_LEVEL} -lt $1 ] && return 0;
-  shift
-  echo "$@" >&2
-}
-
-#-------------------------------------------------------------
-# Exit script on successfully completing the desired operation
-
 exit_success()
 {
-    if [ $# -gt 0 ]; then
-        echo "$@"
-        echo
-    fi
+	if [ $# -gt 0 ]; then
+		echo "$@"
+		echo
+	fi
 
-    exit 0
+	exit 0
 }
 
-
-#-----------------------------------------
-# Exit script on malformed arguments, not enough arguments
-# or missing required option.
-# prints usage information
-
 exit_failure_syntax()
 {
-    if [ $# -gt 0 ]; then
-        echo "xdg-open: $@" >&2
-        echo "Try 'xdg-open --help' for more information." >&2
-    else
-        usage
-        echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
-    fi
+	if [ $# -gt 0 ]; then
+		echo "xdg-open: $@" >&2
+		echo "Try 'xdg-open --help' for more information." >&2
+	else
+		usage
+		echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
+	fi
 
-    exit 1
+	exit 1
 }
 
-#-------------------------------------------------------------
-# Exit script on missing file specified on command line
-
-exit_failure_file_missing()
-{
-    if [ $# -gt 0 ]; then
-        echo "xdg-open: $@" >&2
-    fi
-
-    exit 2
-}
-
-#-------------------------------------------------------------
-# Exit script on failure to locate necessary tool applications
-
 exit_failure_operation_impossible()
 {
-    if [ $# -gt 0 ]; then
-        echo "xdg-open: $@" >&2
-    fi
+	if [ $# -gt 0 ]; then
+		echo "xdg-open: $@" >&2
+	fi
 
-    exit 3
+	exit 3
 }
 
-#-------------------------------------------------------------
-# Exit script on failure returned by a tool application
-
 exit_failure_operation_failed()
 {
-    if [ $# -gt 0 ]; then
-        echo "xdg-open: $@" >&2
-    fi
+	if [ $# -gt 0 ]; then
+		echo "xdg-open: $@" >&2
+	fi
 
-    exit 4
+	exit 4
 }
 
-#------------------------------------------------------------
-# Exit script on insufficient permission to read a specified file
-
-exit_failure_file_permission_read()
-{
-    if [ $# -gt 0 ]; then
-        echo "xdg-open: $@" >&2
-    fi
-
-    exit 5
-}
-
-#------------------------------------------------------------
-# Exit script on insufficient permission to read a specified file
-
-exit_failure_file_permission_write()
-{
-    if [ $# -gt 0 ]; then
-        echo "xdg-open: $@" >&2
-    fi
-
-    exit 6
-}
-
-check_input_file()
-{
-    if [ ! -e "$1" ]; then
-        exit_failure_file_missing "file '$1' does not exist"
-    fi
-    if [ ! -r "$1" ]; then
-        exit_failure_file_permission_read "no permission to read file '$1'"
-    fi
-}
-
-check_vendor_prefix()
-{
-    file_label="$2"
-    [ -n "$file_label" ] || file_label="filename"
-    file=`basename "$1"`
-    case "$file" in
-       [a-zA-Z]*-*)
-         return
-         ;;
-    esac
-
-    echo "xdg-open: $file_label '$file' does not have a proper vendor prefix" >&2
-    echo 'A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated' >&2
-    echo 'with a dash ("-"). An example '"$file_label"' is '"'example-$file'" >&2
-    echo "Use --novendor to override or 'xdg-open --manual' for additional info." >&2
-    exit 1
-}
-
-check_output_file()
-{
-    # if the file exists, check if it is writeable
-    # if it does not exists, check if we are allowed to write on the directory
-    if [ -e "$1" ]; then
-        if [ ! -w "$1" ]; then
-            exit_failure_file_permission_write "no permission to write to file '$1'"
-        fi
-    else
-        DIR=`dirname "$1"`
-        if [ ! -w "$DIR" -o ! -x "$DIR" ]; then
-            exit_failure_file_permission_write "no permission to create file '$1'"
-        fi
-    fi
-}
-
-#----------------------------------------
-# Checks for shared commands, e.g. --help
-
 check_common_commands()
 {
-    while [ $# -gt 0 ] ; do
-        parm="$1"
-        shift
+	while [ $# -gt 0 ] ; do
+		parm="$1"
+		shift
 
-        case "$parm" in
-            --help)
-            usage
-            echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
-            exit_success
-            ;;
-
-            --manual)
-            manualpage
-            exit_success
-            ;;
-
-            --version)
-            echo "xdg-open 1.0.1"
-            exit_success
-            ;;
-        esac
-    done
+		case "$parm" in
+			--version)
+			echo "xdg-open 1.0.1"
+			exit_success
+			;;
+		esac
+	done
 }
 
 check_common_commands "$@"
 
 [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL;
 if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then
-    # Be silent
-    xdg_redirect_output=" > /dev/null 2> /dev/null"
+	xdg_redirect_output=" > /dev/null 2> /dev/null"
 else
-    # All output to stderr
-    xdg_redirect_output=" >&2"
+	xdg_redirect_output=" >&2"
 fi
 
-#--------------------------------------
-# Checks for known desktop environments
-# set variable DE to the desktop environments name, lowercase
-
 detectDE()
 {
-    if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
-    elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
-    elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
-    fi
+	if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
+	elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
+	elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
+	fi
 }
 
-#----------------------------------------------------------------------------
-# kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4
-# It also always returns 1 in KDE 3.4 and earlier
-# Simply return 0 in such case
-
 kfmclient_fix_exit_code()
 {
-    version=`kde-config --version 2>/dev/null | grep KDE`
-    major=`echo $version | sed 's/KDE: \([0-9]\).*/\1/'`
-    minor=`echo $version | sed 's/KDE: [0-9]*\.\([0-9]\).*/\1/'`
-    release=`echo $version | sed 's/KDE: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'`
-    test "$major" -gt 3 && return $1
-    test "$minor" -gt 5 && return $1
-    test "$release" -gt 4 && return $1
-    return 0
+	version=`kde-config --version 2>/dev/null | grep KDE`
+	major=`echo $version | sed 's/KDE: \([0-9]\).*/\1/'`
+	minor=`echo $version | sed 's/KDE: [0-9]*\.\([0-9]\).*/\1/'`
+	release=`echo $version | sed 's/KDE: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'`
+	test "$major" -gt 3 && return $1
+	test "$minor" -gt 5 && return $1
+	test "$release" -gt 4 && return $1
+	return 0
 }
 
 open_kde()
 {
-    kfmclient exec "$1"
-    kfmclient_fix_exit_code $?
+	kfmclient exec "$1"
+	kfmclient_fix_exit_code $?
 
-    if [ $? -eq 0 ]; then
-        exit_success
-    else
-        exit_failure_operation_failed
-    fi
+	if [ $? -eq 0 ]; then
+		exit_success
+	else
+		exit_failure_operation_failed
+	fi
 }
 
 open_gnome()
 {
-    gnome-open "$1"
+	gnome-open "$1"
 
-    if [ $? -eq 0 ]; then
-        exit_success
-    else
-        exit_failure_operation_failed
-    fi
+	if [ $? -eq 0 ]; then
+		exit_success
+	else
+		exit_failure_operation_failed
+	fi
 }
 
 open_xfce()
 {
-    exo-open "$1"
+	exo-open "$1"
 
-    if [ $? -eq 0 ]; then
-        exit_success
-    else
-        exit_failure_operation_failed
-    fi
+	if [ $? -eq 0 ]; then
+		exit_success
+	else
+		exit_failure_operation_failed
+	fi
 }
 
 open_generic()
 {
-    IFS=":"
-    for browser in $BROWSER; do
-        if [ x"$browser" != x"" ]; then
+	IFS=":"
+	for browser in $BROWSER; do
+		if [ x"$browser" != x"" ]; then
 
-            browser_with_arg=`echo "$browser" | sed s#%s#"$1"#`
+			browser_with_arg=`echo "$browser" | sed s#%s#"$1"#`
 
-            if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
-            else $browser_with_arg;
-            fi
+			if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
+			else $browser_with_arg;
+			fi
 
-            if [ $? -eq 0 ]; then exit_success;
-            fi
-        fi
-    done
+			if [ $? -eq 0 ]; then exit_success;
+			fi
+		fi
+	done
 
-    exit_failure_operation_impossible "no method available for opening '$1'"
+	exit_failure_operation_impossible "no method available for opening '$1'"
 }
 
 [ x"$1" != x"" ] || exit_failure_syntax
 
 url=
 while [ $# -gt 0 ] ; do
-    parm="$1"
-    shift
+	parm="$1"
+	shift
 
-    case "$parm" in
-      -*)
-        exit_failure_syntax "unexpected option '$parm'"
-        ;;
+	case "$parm" in
+	  -*)
+		exit_failure_syntax "unexpected option '$parm'"
+		;;
 
-      *)
-        if [ -n "$url" ] ; then
-            exit_failure_syntax "unexpected argument '$parm'"
-        fi
-        url="$parm"
-        ;;
-    esac
+	  *)
+		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"
+	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
+	# 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"
-    ;;
+	kde)
+	open_kde "$url"
+	;;
 
-    gnome)
-    open_gnome "$url"
-    ;;
+	gnome)
+	open_gnome "$url"
+	;;
 
-    xfce)
-    open_xfce "$url"
-    ;;
+	xfce)
+	open_xfce "$url"
+	;;
 
-    generic)
-    open_generic "$url"
-    ;;
+	generic)
+	open_generic "$url"
+	;;
 
-    *)
-    exit_failure_operation_impossible "no method available for opening '$url'"
-    ;;
+	*)
+	exit_failure_operation_impossible "no method available for opening '$url'"
+	;;
 esac




More information about the mojosetup-commits mailing list