From 1d6beb28dc102ade77c63e5fb1ecbf4a69b5246a Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Wed, 9 Feb 2022 00:28:30 +0100 Subject: add bin/xdg-open that routes through portal --- bin/xdg-open | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 bin/xdg-open (limited to 'bin/xdg-open') diff --git a/bin/xdg-open b/bin/xdg-open new file mode 100755 index 0000000..c26df0f --- /dev/null +++ b/bin/xdg-open @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +arg0="$(basename "$0")" + +container=${container:-} +if [ ! "${container}" = "firejail" ]; then + exec /usr/bin/"${arg0}" $@ +fi + +portal() { + if [ $# -lt 1 ]; then + printf "missing argument\n" >&2 + exit 1 + fi + exec gdbus call --session \ + --dest org.freedesktop.portal.Desktop \ + --object-path "/org/freedesktop/portal/desktop" \ + --method org.freedesktop.portal.OpenURI.OpenURI \ + "" "$1" "{}" +} + +case "$(basename "$0")" in +xdg-open) portal $@ ;; +gio) if [ ! "$1" = "open" ]; then exec /usr/bin/$arg0 $@; else portal "${2}"; fi ;; +esac -- cgit 1.4.1