#!/bin/sh
#241218 sfs

if [ -z $1 ]; then
 echo -e "at least 1 argument required!\n" >> /dev/stderr
 exit 1
fi

COMMAND=$1

shift #shift first arg

for ARG in "$@"
do
 if [ -z "$ARGS" ]; then
  ARGS="$ARG"
 else
  ARGS="$ARGS $ARG"
 fi 
done

[ "$ARGS" ] && ARGS=\'$ARGS\'
if [ "$XDG_SESSION_TYPE" = "wayland" ] ;then
#https://wiki.archlinux.org/title/Running_GUI_applications_as_root#Using_pkexec
    eval pkexec env HOME="$HOME" WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" XDG_RUNTIME_DIR=/run/user/0 $COMMAND $ARGS
else
    eval pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $COMMAND $ARGS
fi

exit 0
