svn commit: r407388 - in head/devel/xdg-utils: . files
Koop Mast
kwm at FreeBSD.org
Wed Jan 27 20:49:09 UTC 2016
Author: kwm
Date: Wed Jan 27 20:49:07 2016
New Revision: 407388
URL: https://svnweb.freebsd.org/changeset/ports/407388
Log:
Add support for mate, lumina [1] and kde5 [2]
Add support for detection DE's when launched from PCDM (pcbsd Display Manager) [1]
Submitted by: kenmoore [1], Tobias Berner (tcberner at gmail.com) [2]
Obtained from: pcbsd [1], xdg-utils upstream [2]
Modified:
head/devel/xdg-utils/Makefile
head/devel/xdg-utils/files/patch-scripts_xdg-open
Modified: head/devel/xdg-utils/Makefile
==============================================================================
--- head/devel/xdg-utils/Makefile Wed Jan 27 20:35:37 2016 (r407387)
+++ head/devel/xdg-utils/Makefile Wed Jan 27 20:49:07 2016 (r407388)
@@ -1,10 +1,9 @@
# Created by: Michael Johnson <ahze at FreeBSD.org>
# $FreeBSD$
-# $MCom: ports/trunk/devel/xdg-utils/Makefile 18656 2013-08-22 09:09:28Z kwm $
PORTNAME= xdg-utils
PORTVERSION= 1.0.2.${SNAPDATE}
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
#MASTER_SITES= http://portland.freedesktop.org/download/
MASTER_SITES= LOCAL/kwm
Modified: head/devel/xdg-utils/files/patch-scripts_xdg-open
==============================================================================
--- head/devel/xdg-utils/files/patch-scripts_xdg-open Wed Jan 27 20:35:37 2016 (r407387)
+++ head/devel/xdg-utils/files/patch-scripts_xdg-open Wed Jan 27 20:49:07 2016 (r407388)
@@ -1,5 +1,5 @@
---- scripts/xdg-open.orig 2012-09-19 21:04:46.000000000 +0000
-+++ scripts/xdg-open 2012-09-19 21:25:05.000000000 +0000
+--- scripts/xdg-open.orig 2016-01-27 21:08:36.394542000 +0100
++++ scripts/xdg-open 2016-01-27 21:43:57.950007000 +0100
@@ -33,6 +33,12 @@
#
#---------------------------------------------
@@ -13,7 +13,105 @@
manualpage()
{
cat << _MANUALPAGE
-@@ -421,7 +427,7 @@
+@@ -303,13 +309,34 @@
+
+ detectDE()
+ {
+- 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=""
+- fi
++ #First check the XDG_CURRENT_DESKTOP environment variable (latest standards - case sensitive)
++ if [ "${XDG_CURRENT_DESKTOP}" == "KDE" ]; then DE=kde;
++ elif [ "${XDG_CURRENT_DESKTOP}" == "LXDE" ]; then DE=lxde;
++ elif [ "${XDG_CURRENT_DESKTOPN}" == "MATE" ]; then DE=mate;
++ elif [ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]; then DE=gnome;
++ elif [ "${XDG_CURRENT_DESKTOP}" == "CINNAMON" ]; then DE=gnome;
++ elif [ "${XDG_CURRENT_DESKTOP}" == "XFCE" ]; then DE=xfce;
++ elif [ "${XDG_CURRENT_DESKTOP}" == "Lumina" ]; then DE=lumina;
++ #Check for the PCDM_SESSION environment variable (always uppercase)
++ elif [ "${PCDM_SESSION}" == "KDE" ]; then DE=kde;
++ elif [ "${PCDM_SESSION}" == "LXDE" ]; then DE=lxde;
++ elif [ "${PCDM_SESSION}" == "MATE" ]; then DE=mate;
++ elif [ "${PCDM_SESSION}" == "GNOME" ]; then DE=gnome;
++ elif [ "${PCDM_SESSION}" == "CINNAMON" ]; then DE=gnome;
++ elif [ "${PCDM_SESSION}" == "XFCE" ]; then DE=xfce;
++ elif [ "${PCDM_SESSION}" == "LUMINA" ]; then DE=lumina;
++ #Otherwise use the old/classic methods for detection
++ elif [ 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;
++ #Simple fallback for non-XDG window managers if Lumina is installed in the normal place (no heavy runtime dependencies)
++ elif [ -x "/usr/local/bin/lumina-open" ]; then DE=lumina;
++ #No DE found
++ else DE=""
++ fi
++ unset UR_PROCS
+ }
+
+ #----------------------------------------------------------------------------
+@@ -339,15 +366,18 @@
+
+ open_kde()
+ {
+- if kde-open -v 2>/dev/null 1>&2; then
+- kde-open "$1"
++ if [ -n "$KDE_SESSION_VERSION" ]; then
++ case "${KDE_SESSION_VERSION}" in
++ 4)
++ kde-open "$1"
++ ;;
++ 5)
++ kde-open${KDE_SESSION_VERSION} "$1"
++ ;;
++ esac
+ else
+- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+- kfmclient openURL "$1"
+- else
+- kfmclient exec "$1"
+- kfmclient_fix_exit_code $?
+- fi
++ kfmclient exec "$1"
++ kfmclient_fix_exit_code $?
+ fi
+
+ if [ $? -eq 0 ]; then
+@@ -383,6 +413,28 @@
+ fi
+ }
+
++open_mate()
++{
++ gvfs-open "$1"
++
++ if [ $? -eq 0 ]; then
++ exit_success
++ else
++ exit_failure_operation_failed
++ fi
++}
++
++open_lumina()
++{
++ lumina-open "$1"
++
++ if [ $? -eq 0 ]; then
++ exit_success
++ else
++ exit_failure_operation_failed
++ fi
++}
++
+ open_generic_xdg_mime()
+ {
+ filetype=`xdg-mime query filetype "$1" | sed "s/;.*//"`
+@@ -421,7 +473,7 @@
# Decode URLs
if echo "$file" | grep -q '^file:///'; then
file=${file#file://}
@@ -22,3 +120,34 @@
fi
check_input_file "$file"
+@@ -527,7 +579,7 @@
+ if [ x"$BROWSER" = x"" ]; then
+ BROWSER=links2:links:lynx:w3m
+ if [ -n "$DISPLAY" ]; then
+- BROWSER=firefox:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
++ BROWSER=firefox:mozilla:epiphany:konqueror:chrome:chromium-browser:google-chrome:$BROWSER
+ fi
+ fi
+
+@@ -540,6 +592,10 @@
+ open_gnome "$url"
+ ;;
+
++ mate)
++ open_mate "$url"
++ ;;
++
+ xfce)
+ open_xfce "$url"
+ ;;
+@@ -548,6 +604,10 @@
+ open_lxde "$url"
+ ;;
+
++ lumina)
++ open_lumina "$url"
++ ;;
++
+ generic)
+ open_generic "$url"
+ ;;
More information about the svn-ports-head
mailing list