diff --git a/usr/bin/portprotonqt-desktop-return b/usr/bin/portprotonqt-desktop-return index ceea954..1576e5b 100755 --- a/usr/bin/portprotonqt-desktop-return +++ b/usr/bin/portprotonqt-desktop-return @@ -5,23 +5,20 @@ CONFIG_FILE="$HOME/.config/gamescope-session-type" if [[ -f "$CONFIG_FILE" ]] && grep -q 'autologin=true' "$CONFIG_FILE"; then - case "$XDG_CURRENT_DESKTOP" in - GNOME) - exec gnome-session-quit --no-prompt - ;; - KDE) - VERSION=$(grep -E '^X-KDE-PluginInfo-Version=' /usr/share/xsessions/plasmax11.desktop 2>/dev/null | cut -d'=' -f2) - if [[ "$VERSION" =~ ^6\..* ]]; then - exec qdbus org.kde.Shutdown /Shutdown org.kde.Shutdown.logout - else - exec qdbus org.kde.ksmserver /KSMServer logout 0 0 0 - fi - ;; - MATE) - exec mate-session-save --force-logout - ;; - Hyprland) - exec loginctl terminate-user "$(id -u)" - ;; - esac + XDG_DESKTOP=$(echo "${XDG_CURRENT_DESKTOP,,}") + + if [[ "$XDG_DESKTOP" == *gnome* ]]; then + exec gnome-session-quit --no-prompt + elif [[ "$XDG_DESKTOP" == *kde* ]]; then + VERSION=$(grep -E '^X-KDE-PluginInfo-Version=' /usr/share/xsessions/plasmax11.desktop 2>/dev/null | cut -d'=' -f2) + if [[ "$VERSION" =~ ^6\..* ]]; then + exec qdbus org.kde.Shutdown /Shutdown org.kde.Shutdown.logout + else + exec qdbus org.kde.ksmserver /KSMServer logout 0 0 0 + fi + elif [[ "$XDG_DESKTOP" == *mate* ]]; then + exec mate-session-save --force-logout + elif [[ "$XDG_DESKTOP" == *hyprland* ]]; then + exec loginctl terminate-user "$(id -u)" + fi fi