summaryrefslogtreecommitdiffstats
path: root/abs/extra/xdg-utils/xfce-detection.diff
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/xdg-utils/xfce-detection.diff')
-rw-r--r--abs/extra/xdg-utils/xfce-detection.diff49
1 files changed, 49 insertions, 0 deletions
diff --git a/abs/extra/xdg-utils/xfce-detection.diff b/abs/extra/xdg-utils/xfce-detection.diff
new file mode 100644
index 0000000..43ccd62
--- /dev/null
+++ b/abs/extra/xdg-utils/xfce-detection.diff
@@ -0,0 +1,49 @@
+--- scripts/xdg-open 2011-01-01 05:03:14.000000000 -0500
++++ scripts/xdg-open.new 2011-06-19 00:43:13.000000000 -0400
+@@ -303,12 +303,35 @@
+
+ detectDE()
+ {
++ # see https://bugs.freedesktop.org/show_bug.cgi?id=34164
++ unset GREP_OPTIONS
++
+ if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
+ 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=""
++ elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=xfce
++ fi
++
++ if [ x"$DE" = x"" ]; then
++ # fallback to checking $DESKTOP_SESSION
++ case "$DESKTOP_SESSION" in
++ gnome)
++ DE=gnome;
++ ;;
++ LXDE)
++ DE=lxde;
++ ;;
++ xfce|xfce4)
++ DE=xfce;
++ ;;
++ esac
++ fi
++
++ if [ x"$DE" = x"gnome" ]; then
++ # gnome-default-applications-properties is only available in GNOME 2.x
++ # but not in GNOME 3.x
++ which gnome-default-applications-properties > /dev/null 2>&1 || DE="gnome3"
+ fi
+ }
+
+@@ -535,7 +558,7 @@
+ open_kde "$url"
+ ;;
+
+- gnome)
++ gnome*)
+ open_gnome "$url"
+ ;;
+