Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

Hi,

When a new user is login-in for the first time, g-s-d will add by
default the machine keyboard layout but also the US one.

The problem is that on the 1st login, for some reason the layout will be
set on US and not on the machine one. This is bug #859268.

A patch that is only adding the US layout if the system configured one
cannot be determined has been merged upstream.

This should probably be fixed in stable as well.

Regrads,

Laurent Bigonville

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_BE.UTF-8, LC_CTYPE=fr_BE.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_BE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
Index: debian/changelog
===================================================================
--- debian/changelog    (révision 52659)
+++ debian/changelog    (révision 52660)
@@ -1,3 +1,12 @@
+gnome-settings-daemon (3.22.2-2+deb9u2) UNRELEASED; urgency=medium
+
+  * d/p/keyboard-Only-add-the-us-layout-if-the-system-config.patch:
+    Do not add the "US" keyboard layout by default for new users, for some
+    reasons, this keyboard was prefered over the system configured one on the
+    first login. (Closes: #859268)
+
+ -- Laurent Bigonville <bi...@debian.org>  Fri, 14 Jul 2017 18:58:56 +0200
+
 gnome-settings-daemon (3.22.2-2+deb9u1) stretch; urgency=medium
 
   * Remove debian/gnome-settings-daemon.gsettings-override to remember the
Index: debian/patches/keyboard-Only-add-the-us-layout-if-the-system-config.patch
===================================================================
--- debian/patches/keyboard-Only-add-the-us-layout-if-the-system-config.patch   
(nonexistent)
+++ debian/patches/keyboard-Only-add-the-us-layout-if-the-system-config.patch   
(révision 52660)
@@ -0,0 +1,72 @@
+From d68ef6ad95bd2a5210715feea4ca5112885bec92 Mon Sep 17 00:00:00 2001
+From: Laurent Bigonville <bi...@bigon.be>
+Date: Fri, 7 Jul 2017 17:40:17 +0200
+Subject: [PATCH 1/4] keyboard: Only add the "us" layout if the system config
+ cannot be determined
+
+Currently, the "us" keyboard layout is always added the first time the
+user is login in, this should only be necessary if the system configured
+layout cannot be determined.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=784654
+---
+ plugins/keyboard/gsd-keyboard-manager.c | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+diff --git a/plugins/keyboard/gsd-keyboard-manager.c 
b/plugins/keyboard/gsd-keyboard-manager.c
+index ddeeee69..ea67dda1 100644
+--- a/plugins/keyboard/gsd-keyboard-manager.c
++++ b/plugins/keyboard/gsd-keyboard-manager.c
+@@ -441,7 +441,6 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
+         gint i, n;
+         gchar **layouts = NULL;
+         gchar **variants = NULL;
+-        gboolean have_default_layout = FALSE;
+ 
+         v = g_dbus_proxy_get_cached_property (priv->localed, "X11Layout");
+         if (v) {
+@@ -451,8 +450,12 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
+                 g_variant_unref (v);
+         }
+ 
+-        if (!layouts)
+-                return;
++        init_builder_with_sources (&builder, priv->input_sources_settings);
++
++        if (!layouts) {
++                g_variant_builder_add (&builder, "(ss)", 
INPUT_SOURCE_TYPE_XKB, DEFAULT_LAYOUT);
++                goto out;
++      }
+ 
+         v = g_dbus_proxy_get_cached_property (priv->localed, "X11Variant");
+         if (v) {
+@@ -467,8 +470,6 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
+         else
+                 n = g_strv_length (layouts);
+ 
+-        init_builder_with_sources (&builder, priv->input_sources_settings);
+-
+         for (i = 0; i < n && layouts[i][0]; ++i) {
+                 gchar *id;
+ 
+@@ -477,16 +478,11 @@ get_sources_from_xkb_config (GsdKeyboardManager *manager)
+                 else
+                         id = g_strdup (layouts[i]);
+ 
+-                if (g_str_equal (id, DEFAULT_LAYOUT))
+-                        have_default_layout = TRUE;
+-
+                 g_variant_builder_add (&builder, "(ss)", 
INPUT_SOURCE_TYPE_XKB, id);
+                 g_free (id);
+         }
+ 
+-        if (!have_default_layout)
+-                g_variant_builder_add (&builder, "(ss)", 
INPUT_SOURCE_TYPE_XKB, DEFAULT_LAYOUT);
+-
++out:
+         g_settings_set_value (priv->input_sources_settings, 
KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
+ 
+         g_strfreev (layouts);
+-- 
+2.13.2
+
Index: debian/patches/series
===================================================================
--- debian/patches/series       (révision 52659)
+++ debian/patches/series       (révision 52660)
@@ -1,2 +1,3 @@
 media-keys-Fix-mmkeys-D-Bus-API-to-match-API-docs.patch
 04_superP.patch
+keyboard-Only-add-the-us-layout-if-the-system-config.patch

Reply via email to