From 0062c26f0362c5ff4de3d4e3d884881ff6acd199 Mon Sep 17 00:00:00 2001 From: d3v1l0n Date: Tue, 24 Dec 2024 02:52:07 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20perf:=20extension=20waylan?= =?UTF-8?q?d=20handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snigdhaos-libs/pkexec-gui | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/snigdhaos-libs/pkexec-gui b/snigdhaos-libs/pkexec-gui index 8f4b91498..c02d83406 100755 --- a/snigdhaos-libs/pkexec-gui +++ b/snigdhaos-libs/pkexec-gui @@ -7,21 +7,25 @@ if ! command -v pkexec &>/dev/null; then fi # Check if running as root -if [ $EUID -ne 0 ]; then +if [[ $EUID -ne 0 ]]; then + # Attempt to execute the script as root via pkexec exec pkexec /usr/lib/snigdhaos/pkexec-gui "$@" exit 1 fi -# Need some previous vars +# Shellcheck disable: Read environment variables from parent process # shellcheck disable=SC2163 -while IFS= read -rd '' var; do export "$var"; done < <(grep --null-data -ae "^\($XDG_CURRENT_DESKTOP\|WAYLAND_DISPLAY\|XDG_RUNTIME_DIR\|XDG_SESSION_TYPE\|XCURSOR_SIZE\|LC_*\|LANG\|LANGUAGE\|QT_WAYLAND_FORCE_DPI\|QT_QPA_PLATFORMTHEME\|QT_STYLE-OVERRIDE\|\)=.*\$" /proc/$PPID/environ) +# Read the necessary environment variables from the parent process +while IFS= read -rd '' var; do + export "$var" +done < <(grep --null-data -ae "^\($XDG_CURRENT_DESKTOP\|WAYLAND_DISPLAY\|XDG_RUNTIME_DIR\|XDG_SESSION_TYPE\|XCURSOR_SIZE\|LC_*\|LANG\|LANGUAGE\|QT_WAYLAND_FORCE_DPI\|QT_QPA_PLATFORMTHEME\|QT_STYLE-OVERRIDE\|\)=.*\$" /proc/$PPID/environ) -# If on Wayland, adjust WAYLAND_DISPLAY variable -if [[ -v WAYLAND_DISPLAY ]]; then +# Adjust WAYLAND_DISPLAY if running on Wayland +if [[ -n "$WAYLAND_DISPLAY" ]]; then export WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" fi -# Set root's runtime directory +# Set the root user's XDG_RUNTIME_DIR export XDG_RUNTIME_DIR="/run/user/0" # Execute the provided command with root privileges