X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/75c3b81654b5159dbad6123e51838d8c3a34e3bd..b9f31a6c6237f326405d6530b34416f94250c475:/widgets/contrib/kbdlayout.lua?ds=sidebyside diff --git a/widgets/contrib/kbdlayout.lua b/widgets/contrib/kbdlayout.lua index 8b15475..64ea6b3 100644 --- a/widgets/contrib/kbdlayout.lua +++ b/widgets/contrib/kbdlayout.lua @@ -1,9 +1,9 @@ --[[ - - Licensed under GNU General Public License v2 - * (c) 2015, Dario Gjorgjevski - + + Licensed under GNU General Public License v2 + * (c) 2015, Dario Gjorgjevski + --]] local newtimer = require("lain.helpers").newtimer @@ -16,17 +16,21 @@ local string = { match = string.match } local setmetatable = setmetatable +-- Keyboard layout switcher +-- lain.widgets.contrib.kblayout + local function worker (args) local kbdlayout = {} kbdlayout.widget = wibox.widget.textbox('') local layouts = args.layouts local settings = args.settings or function () end - local add_us_secondary = args.add_us_secondary or true + local add_us_secondary = true local timeout = args.timeout or 5 - local idx = 1 + if args.add_us_secondary == false then add_us_secondary = false end + -- Mouse bindings kbdlayout.widget:buttons(awful.util.table.join( awful.button({ }, 1, function () kbdlayout.next() end), @@ -50,7 +54,7 @@ local function worker (args) idx = ((i - 1) % #layouts) + 1 -- Make sure to wrap around as needed. local to_execute = 'setxkbmap ' .. layouts[idx].layout - if add_us_secondary then + if add_us_secondary and not string.match(layouts[idx].layout, ",?us,?") then to_execute = to_execute .. ",us" end