summaryrefslogtreecommitdiffstats
path: root/gnome-session/gnome-session.in
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-session/gnome-session.in')
-rwxr-xr-xgnome-session/gnome-session.in32
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 "$@"