Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: third_party/xdg-utils/scripts/xdg-open

Issue 6737007: Update xdg-utils to the latest version available in git. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/xdg-utils/scripts/xdg-mime.in ('k') | third_party/xdg-utils/scripts/xdg-open.in » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/xdg-utils/scripts/xdg-open
===================================================================
--- third_party/xdg-utils/scripts/xdg-open (revision 79909)
+++ third_party/xdg-utils/scripts/xdg-open (working copy)
@@ -279,7 +279,7 @@
;;
--version)
- echo "xdg-open 1.0.2"
+ echo "xdg-open 1.1.0 rc1"
exit_success
;;
esac
@@ -307,6 +307,8 @@
elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
+ elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde;
+ else DE=""
fi
}
@@ -317,10 +319,11 @@
kfmclient_fix_exit_code()
{
- version=`kde${KDE_SESSION_VERSION}-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/'`
+ [ x"$KDE_SESSION_VERSION" = x"4" ] && return 0;
+ version=`LC_ALL=C.UTF-8 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
@@ -392,7 +395,7 @@
[ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/
for x in `echo "$xdg_user_dir:$xdg_system_dirs" | sed 's/:/ /g'`; do
- file="$x/applications/$default"
+ local file="$x/applications/$default"
if [ -r "$file" ] ; then
command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word`"
command_exec=`which $command 2>/dev/null`
@@ -413,11 +416,13 @@
if (echo "$1" | grep -q '^file://' ||
! echo "$1" | egrep -q '^[a-zA-Z+\.\-]+:'); then
- local file=$(echo "$1" | sed 's%^file://%%')
+ local file="$1"
# Decode URLs
- # TODO
-
+ if echo "$file" | grep -q '^file:///'; then
+ file=${file#file://}
+ file="$(printf "$(echo "$file" | sed -e 's@%\([a-f0-9A-F]\{2\}\)@\\x\1@g')")"
+ fi
check_input_file "$file"
open_generic_xdg_mime "$file"
@@ -461,6 +466,32 @@
exit_failure_operation_impossible "no method available for opening '$1'"
}
+open_lxde()
+{
+ # pcmanfm only knows how to handle file:// urls and filepaths, it seems.
+ if (echo "$1" | grep -q '^file://' ||
+ ! echo "$1" | egrep -q '^[a-zA-Z+\.\-]+:')
+ then
+ local file="$(echo "$1" | sed 's%^file://%%')"
+
+ # handle relative paths
+ if ! echo "$file" | grep -q '^/'; then
+ file="$(pwd)/$file"
+ fi
+
+ pcmanfm "$file"
+
+ else
+ open_generic "$1"
+ fi
+
+ if [ $? -eq 0 ]; then
+ exit_success
+ else
+ exit_failure_operation_failed
+ fi
+}
+
[ x"$1" != x"" ] || exit_failure_syntax
url=
@@ -513,6 +544,10 @@
open_xfce "$url"
;;
+ lxde)
+ open_lxde "$url"
+ ;;
+
generic)
open_generic "$url"
;;
« no previous file with comments | « third_party/xdg-utils/scripts/xdg-mime.in ('k') | third_party/xdg-utils/scripts/xdg-open.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698