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
fi fi
de_normalized="${DE,,}"
# TODO: Check ALT Workstation session_launcher
case "$session" in case "$session" in
desktop) desktop)
if [[ "$SESSION_TYPE" == "wayland" ]]; then 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" session_launcher="gnome-wayland"
elif [[ "$DE" == "KDE" ]]; then elif [[ "$de_normalized" == *kde* ]]; then
session_launcher="plasma" session_launcher="plasma"
[[ "$KDE6" != "true" ]] && session_launcher="plasmawayland" [[ "$KDE6" != "true" ]] && session_launcher="plasmawayland"
elif [[ "$DE" == "Hyprland" ]]; then elif [[ "$de_normalized" == *hyprland* ]]; then
session_launcher="hyprland" session_launcher="hyprland"
elif [[ "$de_normalized" == *xfce* ]]; then
session_launcher="xfce-wayland"
fi fi
else else
if [[ "$DE" == "GNOME" ]]; then if [[ "$de_normalized" == *onyx* ]]; then
session_launcher="onyx"
elif [[ "$de_normalized" == *gnome* ]]; then
session_launcher="gnome-xorg" session_launcher="gnome-xorg"
elif [[ "$DE" == "KDE" ]]; then elif [[ "$de_normalized" == *kde* ]]; then
session_launcher="plasmax11" session_launcher="plasmax11"
[[ "$KDE6" != "true" ]] && session_launcher="plasma" [[ "$KDE6" != "true" ]] && session_launcher="plasma"
elif [[ "$DE" == "MATE" ]]; then elif [[ "$de_normalized" == *mate* ]]; then
session_launcher="mate" session_launcher="mate"
elif [[ "$de_normalized" == *xfce* ]]; then
session_launcher="xfce"
fi fi
fi fi
create_sentinel=1 create_sentinel=1

View File

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