Compare commits

...

4 Commits

2 changed files with 36 additions and 25 deletions

View File

@@ -75,25 +75,37 @@ if [[ -f /usr/share/xsessions/plasmax11.desktop ]]; then
fi
fi
de_normalized="${DE,,}"
# TODO: Check ALT Workstation session_launcher
case "$session" in
desktop)
if [[ "$SESSION_TYPE" == "wayland" ]]; then
if [[ "$DE" == "GNOME" ]]; then
if [[ "$de_normalized" == *onyx* ]]; then
session_launcher="onyx-wayland"
elif [[ "$de_normalized" == *gnome* ]]; then
session_launcher="gnome-wayland"
elif [[ "$DE" == "KDE" ]]; then
elif [[ "$de_normalized" == *kde* ]]; then
session_launcher="plasma"
[[ "$KDE6" != "true" ]] && session_launcher="plasmawayland"
elif [[ "$DE" == "Hyprland" ]]; then
elif [[ "$de_normalized" == *hyprland* ]]; then
session_launcher="hyprland"
elif [[ "$de_normalized" == *xfce* ]]; then
session_launcher="xfce-wayland"
fi
else
if [[ "$DE" == "GNOME" ]]; then
if [[ "$de_normalized" == *onyx* ]]; then
session_launcher="onyx"
elif [[ "$de_normalized" == *gnome* ]]; then
session_launcher="gnome-xorg"
elif [[ "$DE" == "KDE" ]]; then
elif [[ "$de_normalized" == *kde* ]]; then
session_launcher="plasmax11"
[[ "$KDE6" != "true" ]] && session_launcher="plasma"
elif [[ "$DE" == "MATE" ]]; then
elif [[ "$de_normalized" == *mate* ]]; then
session_launcher="mate"
elif [[ "$de_normalized" == *xfce* ]]; then
session_launcher="xfce"
fi
fi
create_sentinel=1

View File

@@ -5,23 +5,22 @@
CONFIG_FILE="$HOME/.config/gamescope-session-type"
if [[ -f "$CONFIG_FILE" ]] && grep -q 'autologin=true' "$CONFIG_FILE"; then
case "$XDG_CURRENT_DESKTOP" in
GNOME)
XDG_DESKTOP=$(echo "${XDG_CURRENT_DESKTOP,,}")
if [[ "$XDG_DESKTOP" == *gnome* || "$XDG_DESKTOP" == *onix* ]]; then
exec gnome-session-quit --no-prompt
;;
KDE)
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
;;
MATE)
elif [[ "$XDG_DESKTOP" == *mate* ]]; then
exec mate-session-save --force-logout
;;
Hyprland)
elif [[ "$XDG_DESKTOP" == *hyprland* ]]; then
exec loginctl terminate-user "$(id -u)"
;;
esac
elif [[ "$XDG_DESKTOP" == *xfce* ]]; then
exec xfce4-session-logout --logout
fi
fi