From 59c0083fc4debc274ecb168e17b80d3a2b0160c8 Mon Sep 17 00:00:00 2001 From: Milos Miljanic Date: Sat, 26 Nov 2016 12:33:42 +0100 Subject: [PATCH 1/2] Change keyboard layout (not done yet) --- bumblebee/modules/layout.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 bumblebee/modules/layout.py diff --git a/bumblebee/modules/layout.py b/bumblebee/modules/layout.py new file mode 100644 index 0000000..71649a5 --- /dev/null +++ b/bumblebee/modules/layout.py @@ -0,0 +1,36 @@ +import subprocess +import shlex +import bumblebee.module +import bumblebee.util + +def description(): + return "Showws current keyboard layout and change it on click." + +class Module(bumblebee.module.Module): + def __init__(self, output, config, alias): + super(Module, self).__init__(output, config, alias) + + + # click + output.add_callback(module="layout.cir", button=1, cmd="setxkbmap us") + output.add_callback(module="layout.us", button=1, cmd="setxkbmap rs") + output.add_callback(module="layout.rs", button=1, cmd="setxkbmap -layout rs -variant latin") + + + + + def widgets(self): + output = subprocess.check_output(["setxkbmap", "-print"], stderr=subprocess.STDOUT) + for line in str(output).split("\\n"): + if "xkb_symbols" in line: + res = line.split("\"")[1].split("+")[1] + + if res == "rs": + return bumblebee.output.Widget(self, res, instance="layout.rs") + elif res == "us": + return bumblebee.output.Widget(self, res, instance="layout.us") + else: + return bumblebee.output.Widget(self, res, instance="layout.cir") + + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 From 488c17ea589d4900630107ae17dd4c1f038c2224 Mon Sep 17 00:00:00 2001 From: Milos Miljanic Date: Sun, 27 Nov 2016 16:24:11 +0100 Subject: [PATCH 2/2] [modules]Keyboard layout --- bumblebee/modules/layout.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bumblebee/modules/layout.py b/bumblebee/modules/layout.py index 71649a5..e41c8fd 100644 --- a/bumblebee/modules/layout.py +++ b/bumblebee/modules/layout.py @@ -6,6 +6,11 @@ import bumblebee.util def description(): return "Showws current keyboard layout and change it on click." +#def parameters(): +# module = __name__.split(".")[-1] +# return + + class Module(bumblebee.module.Module): def __init__(self, output, config, alias): super(Module, self).__init__(output, config, alias)