From ab38f5686d6c0c2fa658743e4e0d18ae0f7af76e Mon Sep 17 00:00:00 2001 From: Vasiliy Horbachenko Date: Thu, 22 May 2014 17:03:09 +0300 Subject: added battery level, current keyboard layout --- modules/current-keyboard-layout.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 modules/current-keyboard-layout.py (limited to 'modules/current-keyboard-layout.py') diff --git a/modules/current-keyboard-layout.py b/modules/current-keyboard-layout.py new file mode 100644 index 0000000..046a2aa --- /dev/null +++ b/modules/current-keyboard-layout.py @@ -0,0 +1,33 @@ +import subprocess +import time + +""" +Module for showing current keyboard layout. +DEPENDS ON xkblayout-state! + +@author shadowprince +@version 1.0 +@license Eclipse Public License +""" + +CACHE_TIME = 0.2 # maximum time to update indicator + +# colors of layouts +# key must be compatible with xkblayout-state print %s! +LANG_COLORS = { + "ru": "#F75252", + "us": "#729FCF", + "ua": "#FCE94F", + } + +class Py3status: + def currentLayout(self, i3status_output_json, i3status_config): + response = {'full_text': '', 'name': 'current-layout', 'cached_until': time.time()+CACHE_TIME} + lang = subprocess.check_output(["xkblayout-state", "print", "%s"]).decode('utf-8') + + return (0, { + "full_text": lang, + "name": "current-layout", + "cached_until": time.time() + CACHE_TIME, + "color": LANG_COLORS.get(lang, "#ffffff"), + }) -- cgit v1.3