mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
xdg-utils: add recipe and patchset
I had the diffs around for years... Not much tested though.
This commit is contained in:
637
x11-misc/xdg-utils/patches/xdg-utils-1.1.3.patchset
Normal file
637
x11-misc/xdg-utils/patches/xdg-utils-1.1.3.patchset
Normal file
@@ -0,0 +1,637 @@
|
||||
From 08331dfbe0716f91df47043c5f4749a7c77bede3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
|
||||
Date: Mon, 19 Nov 2018 21:40:33 +0100
|
||||
Subject: [PATCH 1/2] Add Haiku support
|
||||
|
||||
---
|
||||
scripts/xdg-copy.in | 21 +++++
|
||||
scripts/xdg-email.in | 30 ++++++++
|
||||
scripts/xdg-file-dialog.in | 148 ++++++++++++++++++++++++++++++++++++
|
||||
scripts/xdg-open.in | 15 ++++
|
||||
scripts/xdg-screensaver.in | 56 +++++++++++++-
|
||||
scripts/xdg-settings.in | 54 +++++++++++++
|
||||
scripts/xdg-terminal.in | 19 +++++
|
||||
scripts/xdg-utils-common.in | 36 +++++++++
|
||||
8 files changed, 377 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/xdg-copy.in b/scripts/xdg-copy.in
|
||||
index 12317b6..dc8b2a1 100644
|
||||
--- a/scripts/xdg-copy.in
|
||||
+++ b/scripts/xdg-copy.in
|
||||
@@ -58,6 +58,23 @@ copy_gnome()
|
||||
fi
|
||||
}
|
||||
|
||||
+copy_haiku()
|
||||
+{
|
||||
+ if [ "$1" = "${1#file://}" ]; then
|
||||
+ exit_failure_operation_impossible "no method available for copying '$source' to '$dest'"
|
||||
+ fi
|
||||
+ if [ "$2" = "${2#file://}" ]; then
|
||||
+ exit_failure_operation_impossible "no method available for copying '$source' to '$dest'"
|
||||
+ fi
|
||||
+
|
||||
+ # XXX: wasn't there a Tracker suite to copy files???
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
[ x"$1" != x"" ] || exit_failure_syntax
|
||||
|
||||
source=
|
||||
@@ -102,6 +119,10 @@ case "$DE" in
|
||||
copy_gnome "$source" "$dest"
|
||||
;;
|
||||
|
||||
+# haiku)
|
||||
+# copy_haiku "$source" "$dest"
|
||||
+# ;;
|
||||
+#
|
||||
*)
|
||||
exit_failure_operation_impossible "no method available for copying '$source' to '$dest'"
|
||||
;;
|
||||
diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
|
||||
index 6db58ad..fd5a568 100644
|
||||
--- a/scripts/xdg-email.in
|
||||
+++ b/scripts/xdg-email.in
|
||||
@@ -234,6 +234,32 @@ open_flatpak()
|
||||
fi
|
||||
}
|
||||
|
||||
+open_haiku()
|
||||
+{
|
||||
+ DEBUG 1 "Running haiku-open \"$1\""
|
||||
+ if [ "$(setmime -dump text/x-email | grep application/x-vnd.Be-MAIL)" = "" ]; then
|
||||
+ # not using BeMail, just let registrar call the prefered app and hope it handles it
|
||||
+ /bin/open "$1"
|
||||
+ else
|
||||
+ # BeMail has its own args
|
||||
+ # at least until it handles a full mailto:
|
||||
+ for app in /boot/system/apps/Mail; do
|
||||
+ test -x $app && break
|
||||
+ done
|
||||
+ test -x "$app" || exit_failure_operation_impossible
|
||||
+ # xargs doesn't like multiline stuff... we have to do that to unescape urls but that's a bit dangerous.
|
||||
+ builtin echo -ne "$app " "`echo "$1" | tr '&?' '\n\n' | \
|
||||
+ sed 's/^to=/mailto:/;s/^cc=/ccto:/;s/^bcc=/bccto:/;s/^subject=\(.*\)/-subject "\1"/;s/body=\(.*\)/-body "\1"/;s/^attach=\(.*\)/"enclosure:\1"/;' | \
|
||||
+ sed 's/%22/\\\\"/g;s/%0D//g;s/%/\\\x/g;s/$/ /' | sed 's/$/\\\\/' `" | /bin/sh
|
||||
+ fi
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
open_generic()
|
||||
{
|
||||
local client
|
||||
@@ -484,6 +510,10 @@ case "$DE" in
|
||||
open_flatpak "$url"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ open_haiku "${mailto}"
|
||||
+ ;;
|
||||
+
|
||||
generic|lxqt|enlightenment)
|
||||
open_generic "${mailto}"
|
||||
;;
|
||||
diff --git a/scripts/xdg-file-dialog.in b/scripts/xdg-file-dialog.in
|
||||
index 2b17fd5..cd472d6 100644
|
||||
--- a/scripts/xdg-file-dialog.in
|
||||
+++ b/scripts/xdg-file-dialog.in
|
||||
@@ -85,6 +85,39 @@ open_zenity()
|
||||
fi
|
||||
}
|
||||
|
||||
+open_haiku()
|
||||
+{
|
||||
+ FILEPANEL=/bin/filepanel
|
||||
+ if [ -x $FILEPANEL ]; then
|
||||
+ if [ x"$1" != x"" ]; then
|
||||
+ FOLDER=`dirname "$1"`
|
||||
+ FILENAME=`basename "$1"`
|
||||
+ fi
|
||||
+
|
||||
+ if [ x"$FILENAME" != x"" ]; then
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --load --single --kind fs --default "$FILENAME"
|
||||
+ else
|
||||
+ $FILEPANEL --load --single --kind fs --default "$FILENAME"
|
||||
+ fi
|
||||
+ else
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --load --single --kind fs
|
||||
+ else
|
||||
+ $FILEPANEL --load --single --kind fs
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+ else
|
||||
+ exit_failure_operation_impossible
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
open_multi_kde()
|
||||
{
|
||||
DIALOG=`which kdialog`
|
||||
@@ -143,6 +176,39 @@ open_multi_zenity()
|
||||
fi
|
||||
}
|
||||
|
||||
+open_multi_haiku()
|
||||
+{
|
||||
+ FILEPANEL=/bin/filepanel
|
||||
+ if [ -x $FILEPANEL ]; then
|
||||
+ if [ x"$1" != x"" ]; then
|
||||
+ FOLDER=`dirname "$1"`
|
||||
+ FILENAME=`basename "$1"`
|
||||
+ fi
|
||||
+
|
||||
+ if [ x"$FILENAME" != x"" ]; then
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --load --kind fs --default "$FILENAME"
|
||||
+ else
|
||||
+ $FILEPANEL --load --kind fs --default "$FILENAME"
|
||||
+ fi
|
||||
+ else
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --load --kind fs
|
||||
+ else
|
||||
+ $FILEPANEL --load --kind fs
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+ else
|
||||
+ exit_failure_operation_impossible
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
save_kde()
|
||||
{
|
||||
DIALOG=`which kdialog`
|
||||
@@ -199,6 +265,39 @@ save_zenity()
|
||||
fi
|
||||
}
|
||||
|
||||
+save_haiku()
|
||||
+{
|
||||
+ FILEPANEL=/bin/filepanel
|
||||
+ if [ -x $FILEPANEL ]; then
|
||||
+ if [ x"$1" != x"" ]; then
|
||||
+ FOLDER=`dirname "$1"`
|
||||
+ FILENAME=`basename "$1"`
|
||||
+ fi
|
||||
+
|
||||
+ if [ x"$FILENAME" != x"" ]; then
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --save --single --kind fs --default "$FILENAME"
|
||||
+ else
|
||||
+ $FILEPANEL --save --single --kind fs --default "$FILENAME"
|
||||
+ fi
|
||||
+ else
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --save --single --kind fs
|
||||
+ else
|
||||
+ $FILEPANEL --save --single --kind fs
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+ else
|
||||
+ exit_failure_operation_impossible
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
directory_kde()
|
||||
{
|
||||
DIALOG=`which kdialog`
|
||||
@@ -243,6 +342,39 @@ directory_zenity()
|
||||
fi
|
||||
}
|
||||
|
||||
+directory_haiku()
|
||||
+{
|
||||
+ FILEPANEL=/bin/filepanel
|
||||
+ if [ -x $FILEPANEL ]; then
|
||||
+ if [ x"$1" != x"" ]; then
|
||||
+ FOLDER=`dirname "$1"`
|
||||
+ FILENAME=`basename "$1"`
|
||||
+ fi
|
||||
+
|
||||
+ if [ x"$FILENAME" != x"" ]; then
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --load --single --kind d --default "$FILENAME"
|
||||
+ else
|
||||
+ $FILEPANEL --load --single --kind d "$FILENAME"
|
||||
+ fi
|
||||
+ else
|
||||
+ if [ x"$TITLE" != x"" ]; then
|
||||
+ $FILEPANEL --title "$TITLE" --load --single --kind d
|
||||
+ else
|
||||
+ $FILEPANEL --load --single --kind d
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+ else
|
||||
+ exit_failure_operation_impossible
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
[ x"$1" != x"" ] || exit_failure_syntax
|
||||
|
||||
TITLE=
|
||||
@@ -316,6 +448,10 @@ if [ "$action" = "openfilename" ]; then
|
||||
open_zenity "$filename"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ open_haiku "$filename"
|
||||
+ ;;
|
||||
+
|
||||
*)
|
||||
exit_failure_operation_impossible "no method available for opening a filename dialog"
|
||||
;;
|
||||
@@ -330,6 +466,10 @@ elif [ "$action" = "openfilenamelist" ]; then
|
||||
open_multi_zenity "$filename"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ open_multi_haiku "$filename"
|
||||
+ ;;
|
||||
+
|
||||
*)
|
||||
exit_failure_operation_impossible "no method available for opening a filename dialog"
|
||||
;;
|
||||
@@ -344,6 +484,10 @@ elif [ "$action" = "savefilename" ]; then
|
||||
save_zenity "$filename"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ save_haiku "$filename"
|
||||
+ ;;
|
||||
+
|
||||
*)
|
||||
exit_failure_operation_impossible "no method available for opening a filename dialog"
|
||||
;;
|
||||
@@ -358,6 +502,10 @@ elif [ "$action" = "directory" ]; then
|
||||
directory_zenity "$filename"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ directory_haiku "$filename"
|
||||
+ ;;
|
||||
+
|
||||
*)
|
||||
exit_failure_operation_impossible "no method available for opening a directory dialog"
|
||||
;;
|
||||
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
|
||||
index 4928538..83c5edf 100644
|
||||
--- a/scripts/xdg-open.in
|
||||
+++ b/scripts/xdg-open.in
|
||||
@@ -119,6 +119,17 @@ open_darwin()
|
||||
fi
|
||||
}
|
||||
|
||||
+open_haiku()
|
||||
+{
|
||||
+ open "$1"
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
open_kde()
|
||||
{
|
||||
if [ -n "${KDE_SESSION_VERSION}" ]; then
|
||||
@@ -568,6 +579,10 @@ case "$DE" in
|
||||
open_flatpak "$url"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ open_haiku "$url"
|
||||
+ ;;
|
||||
+
|
||||
generic)
|
||||
open_generic "$url"
|
||||
;;
|
||||
diff --git a/scripts/xdg-screensaver.in b/scripts/xdg-screensaver.in
|
||||
index 9e68196..9fda213 100644
|
||||
--- a/scripts/xdg-screensaver.in
|
||||
+++ b/scripts/xdg-screensaver.in
|
||||
@@ -70,7 +70,7 @@ perform_action()
|
||||
{
|
||||
result=1
|
||||
|
||||
- if [ "$1" = "resume" ] ; then
|
||||
+ if [ -n "$DISPLAY" -a "$1" = "resume" ] ; then
|
||||
# Restore DPMS state
|
||||
if [ -f "$screensaver_file.dpms" ]; then
|
||||
rm "$screensaver_file.dpms"
|
||||
@@ -78,7 +78,7 @@ perform_action()
|
||||
xset +dpms
|
||||
fi
|
||||
fi
|
||||
- if [ "$1" = "reset" ] ; then
|
||||
+ if [ -n "$DISPLAY" -a "$1" = "reset" ] ; then
|
||||
if xset -q | grep 'DPMS is Enabled' > /dev/null 2> /dev/null; then
|
||||
xset -dpms
|
||||
xset +dpms
|
||||
@@ -118,6 +118,10 @@ perform_action()
|
||||
[ -n "$DISPLAY" ] && screensaver_xserver "$1"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ screensaver_haiku "$1"
|
||||
+ ;;
|
||||
+
|
||||
''|generic)
|
||||
[ -n "$DISPLAY" ] && screensaver_xserver "$1"
|
||||
;;
|
||||
@@ -827,6 +831,54 @@ xautolock_screensaver()
|
||||
esac
|
||||
}
|
||||
|
||||
+screensaver_haiku()
|
||||
+{
|
||||
+ case "$1" in
|
||||
+ suspend)
|
||||
+ # unimplemented
|
||||
+ result=0
|
||||
+ ;;
|
||||
+
|
||||
+ resume)
|
||||
+ # unimplemented
|
||||
+ result=0
|
||||
+ ;;
|
||||
+
|
||||
+ activate)
|
||||
+ /bin/screen_blanker > /dev/null 2> /dev/null &
|
||||
+ result=$?
|
||||
+ ;;
|
||||
+
|
||||
+ lock)
|
||||
+ # should lock
|
||||
+ /bin/screen_blanker > /dev/null 2> /dev/null &
|
||||
+ result=$?
|
||||
+ ;;
|
||||
+
|
||||
+ reset)
|
||||
+ # Turns the screensaver off right now
|
||||
+ /bin/quit application/x-vnd.Be.screenblanker > /dev/null 2> /dev/null
|
||||
+ result=$?
|
||||
+ ;;
|
||||
+
|
||||
+ status)
|
||||
+ result=0
|
||||
+ roster | grep application/x-vnd.Haiku.screenblanker > /dev/null 2> /dev/null
|
||||
+ result=$?
|
||||
+ if [ $result -eq 0 ]; then
|
||||
+ echo "enabled"
|
||||
+ else
|
||||
+ echo "disabled"
|
||||
+ fi
|
||||
+ ;;
|
||||
+
|
||||
+ *)
|
||||
+ echo "ERROR: Unknown command '$1" >&2
|
||||
+ return 1
|
||||
+ ;;
|
||||
+ esac
|
||||
+}
|
||||
+
|
||||
[ x"$1" != x"" ] || exit_failure_syntax
|
||||
|
||||
action=
|
||||
diff --git a/scripts/xdg-settings.in b/scripts/xdg-settings.in
|
||||
index 3781de8..c0c61d1 100644
|
||||
--- a/scripts/xdg-settings.in
|
||||
+++ b/scripts/xdg-settings.in
|
||||
@@ -471,6 +471,60 @@ set_browser_xfce()
|
||||
}
|
||||
|
||||
# }}} xfce
|
||||
+# {{{ Haiku
|
||||
+
|
||||
+get_browser_haiku()
|
||||
+{
|
||||
+ # For historical reasons Haiku does like BeOS and uses
|
||||
+ # the default handler for text/html
|
||||
+ # instead of application/x-vnd.Be.URL.http
|
||||
+ sig="`setmime -dump text/html | sed 's/.*-preferredAppSig //;s/ .*//'`"
|
||||
+ binary="`setmime -dump text/html | sed 's/.*-preferredApp //;s/ .*//'`"
|
||||
+ # Haiku does not use .desktop files so we fake them
|
||||
+ [ -n "$binary" ] && desktop="`binary_to_desktop_file "$binary"`" && return
|
||||
+ [ -n "$sig" ] && echo "${sig#application/x-vnd.}.desktop"
|
||||
+}
|
||||
+
|
||||
+check_browser_haiku()
|
||||
+{
|
||||
+ desktop="$1"
|
||||
+ check="`desktop_file_to_binary "$1"`"
|
||||
+ if [ -z "$check" ]; then
|
||||
+ echo no
|
||||
+ exit_success
|
||||
+ fi
|
||||
+ browser="`get_browser_haiku`"
|
||||
+ if [ x"$browser" != x"$desktop" ]; then
|
||||
+ echo no
|
||||
+ exit_success
|
||||
+ fi
|
||||
+ echo no
|
||||
+ # Check HTTP and HTTPS, but not about: and unknown:.
|
||||
+ for protocol in http https; do
|
||||
+ sig="`setmime -dump application/x-vnd.Be.URL.$protocol | sed 's/.*-preferredAppSig //;s/ .*//'`"
|
||||
+ browser="${sig#application/x-vnd.}.desktop"
|
||||
+ if [ x"$browser" != x"$desktop" ]; then
|
||||
+ echo no
|
||||
+ exit_success
|
||||
+ fi
|
||||
+ done
|
||||
+ echo yes
|
||||
+ exit_success
|
||||
+}
|
||||
+
|
||||
+set_browser_haiku()
|
||||
+{
|
||||
+ binary="`desktop_file_to_binary "$1"`"
|
||||
+ [ "$binary" ] || exit_failure_file_missing
|
||||
+ sig="application/x-vnd.${desktop%.desktop}"
|
||||
+
|
||||
+ # Set the default browser.
|
||||
+ setmime -set text/html -preferredAppSig "$sig" || return
|
||||
+ for protocol in http https; do
|
||||
+ setmime -set application/x-vnd.Be.URL.$protocol -preferredAppSig "$sig" || return
|
||||
+ done
|
||||
+}
|
||||
+# }}} Haiku
|
||||
# {{{ generic
|
||||
|
||||
get_browser_generic()
|
||||
diff --git a/scripts/xdg-terminal.in b/scripts/xdg-terminal.in
|
||||
index f67897d..02ebbc1 100644
|
||||
--- a/scripts/xdg-terminal.in
|
||||
+++ b/scripts/xdg-terminal.in
|
||||
@@ -127,6 +127,21 @@ terminal_xfce()
|
||||
fi
|
||||
}
|
||||
|
||||
+terminal_haiku()
|
||||
+{
|
||||
+ if [ x"$1" == x"" ]; then
|
||||
+ Terminal &
|
||||
+ else
|
||||
+ Terminal -c /bin/sh -c "$1" &
|
||||
+ fi
|
||||
+
|
||||
+ if [ $? -eq 0 ]; then
|
||||
+ exit_success
|
||||
+ else
|
||||
+ exit_failure_operation_failed
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
terminal_generic()
|
||||
{
|
||||
# if $TERM is a known non-command, use hard-coded fallbacks
|
||||
@@ -266,6 +281,10 @@ case "$DE" in
|
||||
terminal_enlightenment "$command"
|
||||
;;
|
||||
|
||||
+ haiku)
|
||||
+ terminal_haiku "$command"
|
||||
+ ;;
|
||||
+
|
||||
generic)
|
||||
terminal_generic "$command"
|
||||
;;
|
||||
diff --git a/scripts/xdg-utils-common.in b/scripts/xdg-utils-common.in
|
||||
index b4333e2..b1fabe4 100644
|
||||
--- a/scripts/xdg-utils-common.in
|
||||
+++ b/scripts/xdg-utils-common.in
|
||||
@@ -87,6 +87,35 @@ desktop_file_to_binary()
|
||||
done
|
||||
}
|
||||
|
||||
+if [ -n "$BE_HOST_CPU" ]; then
|
||||
+# Haiku does not use .desktop files, we fake a mapping to app signatures
|
||||
+
|
||||
+#-------------------------------------------------------------
|
||||
+# map a binary to a .desktop file
|
||||
+binary_to_desktop_file()
|
||||
+{
|
||||
+ binary="`which "$1"`"
|
||||
+ binary="`readlink -f "$binary"`"
|
||||
+ sig="`catattr -r BEOS:APP_SIG "$binary"`"
|
||||
+ # TODO fallback to resources?
|
||||
+ [ -n "$sig" ] && echo "${sig#application/x-vnd.}.desktop"
|
||||
+}
|
||||
+
|
||||
+#-------------------------------------------------------------
|
||||
+# map a .desktop file to a binary
|
||||
+desktop_file_to_binary()
|
||||
+{
|
||||
+ desktop="`basename "$1"`"
|
||||
+ sig="application/x-vnd.${desktop%.desktop}"
|
||||
+ # first check system packages
|
||||
+ command="`query -v /boot/system "(BEOS:APP_SIG==\"$sig\")" | head -1`"
|
||||
+ # if not, try everywhere
|
||||
+ [ -z "$command" ] && command="`query -a "(BEOS:APP_SIG==\"$sig\")" | head -1`"
|
||||
+ command="`which "$command"`"
|
||||
+ readlink -f "$command"
|
||||
+}
|
||||
+fi
|
||||
+
|
||||
#-------------------------------------------------------------
|
||||
# Exit script on successfully completing the desired operation
|
||||
|
||||
@@ -314,6 +343,7 @@ detectDE()
|
||||
if [ x"$KDE_FULL_SESSION" != x"" ]; then DE=kde;
|
||||
elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
|
||||
elif [ x"$MATE_DESKTOP_SESSION_ID" != x"" ]; then DE=mate;
|
||||
+ elif [ x"$BE_HOST_CPU" != x"" ]; then DE=haiku;
|
||||
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 xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=xfce
|
||||
@@ -349,6 +379,9 @@ detectDE()
|
||||
Darwin)
|
||||
DE=darwin;
|
||||
;;
|
||||
+ Haiku)
|
||||
+ DE=haiku;
|
||||
+ ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@@ -382,11 +415,14 @@ kfmclient_fix_exit_code()
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Returns true if there is a graphical display attached.
|
||||
+#TODO: test for ssh session
|
||||
|
||||
has_display()
|
||||
{
|
||||
if [ -n "$DISPLAY" ] || [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
return 0
|
||||
+ elif [ -n "$APP_SERVER_NAME" ] || [ -n "$BE_HOST_CPU" ]; then
|
||||
+ return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
--
|
||||
2.19.1
|
||||
|
||||
|
||||
From 741e1302e8a25c34692f34622b091677b2ef758c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
|
||||
Date: Mon, 19 Nov 2018 23:43:33 +0100
|
||||
Subject: [PATCH 2/2] Fix iconv arg
|
||||
|
||||
there's no "utf8" in iconv -l
|
||||
---
|
||||
scripts/xdg-email.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
|
||||
index fd5a568..4436a62 100644
|
||||
--- a/scripts/xdg-email.in
|
||||
+++ b/scripts/xdg-email.in
|
||||
@@ -340,7 +340,7 @@ LC_ALL="$ORIG_LC_ALL"
|
||||
|
||||
options=
|
||||
mailto=
|
||||
-utf8="iconv -t utf8"
|
||||
+utf8="iconv -t UTF-8"
|
||||
while [ $# -gt 0 ] ; do
|
||||
parm="$1"
|
||||
shift
|
||||
--
|
||||
2.19.1
|
||||
|
||||
73
x11-misc/xdg-utils/xdg_utils-1.1.3.recipe
Normal file
73
x11-misc/xdg-utils/xdg_utils-1.1.3.recipe
Normal file
@@ -0,0 +1,73 @@
|
||||
SUMMARY="Set of simple scripts for basic desktop integration"
|
||||
DESCRIPTION="The xdg-utils package is a set of simple scripts \
|
||||
that provide basic desktop integration functions for any Free Desktop, \
|
||||
such as Linux.
|
||||
|
||||
They are intended to provide a set of defacto standards."
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/xdg-utils/"
|
||||
COPYRIGHT="2006 Benedikt Meurer
|
||||
2006 Bryce Harrington
|
||||
2006 Jeremy White
|
||||
2006 Kevin Krammer
|
||||
2009-2010 Fathi Boudra
|
||||
2009-2010 Rex Dieter
|
||||
2009 Google Inc."
|
||||
LICENSE="MIT"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://portland.freedesktop.org/download/xdg-utils-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="d798b08af8a8e2063ddde6c9fa3398ca81484f27dec642c5627ffcaa0d4051d9"
|
||||
SOURCE_DIR="xdg-utils-$portVersion"
|
||||
PATCHES="xdg-utils-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="any"
|
||||
|
||||
PROVIDES="
|
||||
xdg_utils = $portVersion
|
||||
cmd:xdg_desktop_icon = $portVersion
|
||||
cmd:xdg_desktop_menu = $portVersion
|
||||
cmd:xdg_email = $portVersion
|
||||
cmd:xdg_icon_resource = $portVersion
|
||||
cmd:xdg_mime = $portVersion
|
||||
cmd:xdg_open = $portVersion
|
||||
cmd:xdg_screensaver = $portVersion
|
||||
cmd:xdg_settings = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
docbook_xml_dtd
|
||||
docbook_xsl_stylesheets
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:autoreconf
|
||||
cmd:links
|
||||
cmd:make
|
||||
cmd:xmlto
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# lynx fails (complains about cfg file)
|
||||
# and we only have links, not elinks
|
||||
# so we fake it
|
||||
mkdir -p /boot/home/config/non-packaged/bin
|
||||
rm -f /boot/home/config/non-packaged/bin/elinks
|
||||
ln -s /bin/links /boot/home/config/non-packaged/bin/elinks
|
||||
autoreconf
|
||||
runConfigure ./configure
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make test
|
||||
}
|
||||
Reference in New Issue
Block a user