diff options
author | Vratislav Podzimek <vpodzime@redhat.com> | 2012-10-05 12:02:04 +0200 |
---|---|---|
committer | Vratislav Podzimek <vpodzime@redhat.com> | 2012-10-05 19:39:27 +0200 |
commit | 663e1344dd35b4cb16453f931ba730daa6c89d88 (patch) | |
tree | 046fd62f1a929798bb697194788fbdf407d3c2e8 | |
parent | a28c9554a2617ac1e360225f3105d559f5290e83 (diff) | |
download | anaconda-663e1344dd35b4cb16453f931ba730daa6c89d88.tar.gz anaconda-663e1344dd35b4cb16453f931ba730daa6c89d88.tar.xz anaconda-663e1344dd35b4cb16453f931ba730daa6c89d88.zip |
Add method returning current activated X layout
We need to tell user which layout he/she has currently selected
in some dialogs.
-rwxr-xr-x | pyanaconda/keyboard.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py index fb3f7eff1..6817a1540 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. |