#!/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