[PATCH 3/4] Initialize layout switching if needed

Vratislav Podzimek vpodzime at redhat.com
Mon Oct 22 16:29:45 UTC 2012


If we set up multiple layouts, we should also set up layout switching.

Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
 pyanaconda/ui/gui/spokes/welcome.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/welcome.py b/pyanaconda/ui/gui/spokes/welcome.py
index 95f24ef..650078a 100644
--- a/pyanaconda/ui/gui/spokes/welcome.py
+++ b/pyanaconda/ui/gui/spokes/welcome.py
@@ -84,14 +84,20 @@ class LanguageMixIn(object):
         #add one language-related and 'English (US)' layouts by default
         new_layouts = ['us']
         language_layout = self._xklwrapper.get_default_language_layout(lang_name)
-        if language_layout:
+        if language_layout and language_layout not in new_layouts:
             new_layouts.append(language_layout)
 
         for layout in new_layouts:
-            if layout not in self.data.keyboard.x_layouts:
-                self.data.keyboard.x_layouts.append(layout)
-                if flags.can_touch_runtime_system("add runtime X layout"):
-                    self._xklwrapper.add_layout(layout)
+            self.data.keyboard.x_layouts.append(layout)
+            if flags.can_touch_runtime_system("add runtime X layout"):
+                self._xklwrapper.add_layout(layout)
+
+        if len(new_layouts) >= 2 and not self.data.keyboard.switch_options:
+            #initialize layout switching if needed
+            self.data.keyboard.switch_options = ["grp:alt_shift_toggle"]
+
+            if flags.can_touch_runtime_system("init layout switching"):
+                self._xklwrapper.set_switching_options(["grp:alt_shift_toggle"])
 
     @property
     def completed(self):
-- 
1.7.11.7



More information about the anaconda-patches mailing list