#!/bin/sh
#241231 sfs
#4 su-to-root
[ "$1" = "-X" ] && shift
[ "$1" = "-c" ] && shift

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
