#!/bin/sh set -e container=${container:-} if [ ! "${container}" = "firejail" ]; then exec /usr/bin/xdg-open "$@" 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 "$0" in *xdg-open) portal "$@" ;; *gio) if [ ! "$1" = "open" ]; then exec /usr/bin/gio "$@"; else portal "${2}"; fi ;; esac