[master] [PATCH] Add method returning current activated X layout
Vratislav Podzimek
vpodzime at redhat.com
Fri Oct 5 11:18:07 UTC 2012
We need to tell user which layout he/she has currently selected
in some dialogs.
Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
pyanaconda/keyboard.py | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py
index fb3f7ef..6817a15 100755
--- a/pyanaconda/keyboard.py
+++ b/pyanaconda/keyboard.py
@@ -34,6 +34,8 @@ import os
import re
from pyanaconda import iutil
+from gi.repository import Xkl
+
import logging
log = logging.getLogger("anaconda")
@@ -226,7 +228,7 @@ class XklWrapper(object):
return XklWrapper._instance
def __init__(self):
- from gi.repository import Xkl, GdkX11
+ from gi.repository import GdkX11
#initialize Xkl-related stuff
display = GdkX11.x11_get_default_xdisplay()
@@ -311,6 +313,21 @@ class XklWrapper(object):
#first layout (should exist for every language)
return language_layouts[0].name
+ def get_current_layout_name(self):
+ """
+ Get current activated X layout's name
+
+ @return: current activated X layout's name (e.g. "Czech (qwerty)")
+
+ """
+
+ self._engine.start_listen(Xkl.EngineListenModes.TRACK_KEYBOARD_STATE)
+ state = self._engine.get_current_state()
+ groups_names = self._engine.get_groups_names()
+ self._engine.stop_listen(Xkl.EngineListenModes.TRACK_KEYBOARD_STATE)
+
+ return groups_names[state.group]
+
def add_layout(self, layout):
"""
Method that tries to add a given layout to the current X configuration.
--
1.7.11.4
More information about the anaconda-patches
mailing list