summaryrefslogtreecommitdiff
path: root/gnome-settings-daemon
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-settings-daemon')
-rw-r--r--gnome-settings-daemon/main.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnome-settings-daemon/main.c b/gnome-settings-daemon/main.c
index 087b63f8..673f9ed9 100644
--- a/gnome-settings-daemon/main.c
+++ b/gnome-settings-daemon/main.c
@@ -242,6 +242,27 @@ set_locale (GDBusProxy *proxy)
g_object_unref (locale_settings);
}
+/* Keep synchronised with set_locale() above */
+static void
+set_locale_env (void)
+{
+ GSettings *locale_settings;
+ gchar *region;
+
+ /* Set locale environment */
+ locale_settings = g_settings_new ("org.gnome.system.locale");
+ region = g_settings_get_string (locale_settings, "region");
+ if (region[0]) {
+ g_setenv ("LC_TIME", region, TRUE);
+ g_setenv ("LC_NUMERIC", region, TRUE);
+ g_setenv ("LC_MONETARY", region, TRUE);
+ g_setenv ("LC_MEASUREMENT", region, TRUE);
+ g_setenv ("LC_PAPER", region, TRUE);
+ }
+ g_free (region);
+ g_object_unref (locale_settings);
+}
+
static void
register_with_gnome_session (GDBusProxy *proxy)
{
@@ -468,6 +489,8 @@ main (int argc, char *argv[])
g_log_set_default_handler (gsd_log_default_handler, NULL);
+ set_locale_env ();
+
notify_init ("gnome-settings-daemon");
bus_register ();