diff options
Diffstat (limited to 'gnome-session/gnome-session.in')
-rwxr-xr-x | gnome-session/gnome-session.in | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in new file mode 100755 index 0000000..ddd1a59 --- /dev/null +++ b/gnome-session/gnome-session.in @@ -0,0 +1,32 @@ +#!/bin/sh + +if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && + [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && + [ -n "$SHELL" ] && + grep -q "$SHELL" /etc/shells && + ! (echo "$SHELL" | grep -q "false") && + ! (echo "$SHELL" | grep -q "nologin"); then + if [ "$1" != '-l' ]; then + exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" + else + shift + fi +fi + +SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region) +REGION=${SETTING#\'} +REGION=${REGION%\'} + +if [ -n "$REGION" ]; then + unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER + + if [ "$LANG" != "$REGION" ] ; then + export LC_TIME=$REGION + export LC_NUMERIC=$REGION + export LC_MONETARY=$REGION + export LC_MEASUREMENT=$REGION + export LC_PAPER=$REGION + fi +fi + +exec @libexecdir@/gnome-session-binary "$@" |