From: Luca CPZ Date: Tue, 7 Aug 2018 08:41:50 +0000 (+0200) Subject: widget.contrib.kbdlayout removed, please use awful.widget.keyboardlayout; closes... X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/4dbf7b9f5bb468de2003e93f5ab19371e663bfce?ds=sidebyside;hp=-c widget.contrib.kbdlayout removed, please use awful.widget.keyboardlayout; closes #399 --- 4dbf7b9f5bb468de2003e93f5ab19371e663bfce diff --git a/widget/contrib/kbdlayout.lua b/widget/contrib/kbdlayout.lua deleted file mode 100644 index 5a503ab..0000000 --- a/widget/contrib/kbdlayout.lua +++ /dev/null @@ -1,77 +0,0 @@ ---[[ - - Licensed under GNU General Public License v2 - * (c) 2015, Dario Gjorgjevski - ---]] - -local helpers = require("lain.helpers") -local awful = require("awful") -local wibox = require("wibox") -local string = { format = string.format, - match = string.match } -local execute = os.execute -local setmetatable = setmetatable - --- Keyboard layout switcher --- lain.widget.contrib.kblayout - -local function factory(args) - local kbdlayout = { widget = wibox.widget.textbox() } - local args = args or {} - local layouts = args.layouts or {} - local settings = args.settings or function () end - 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 - - local function kbd_run_settings(layout, variant) - kbdlayout_now = { - layout = string.match(layout, "[^,]+"), -- Make sure to match the primary layout only. - variant = variant - } - widget = kbdlayout.widget - settings() - end - - function kbdlayout.update() - helpers.async("setxkbmap -query", function(status) - kbd_run_settings(string.match(status, "layout:%s*([^\n]*)"), - string.match(status, "variant:%s*([^\n]*)")) - end) - end - - function kbdlayout.set(i) - if #layouts == 0 then return end - idx = ((i - 1) % #layouts) + 1 -- Make sure to wrap around as needed. - local to_execute = "setxkbmap " .. layouts[idx].layout - - if add_us_secondary and not string.match(layouts[idx].layout, ",?us,?") then - to_execute = to_execute .. ",us" - end - - if layouts[idx].variant then - to_execute = to_execute .. " " .. layouts[idx].variant - end - - if execute(to_execute) then - kbd_run_settings(layouts[idx].layout, layouts[idx].variant) - end - end - - function kbdlayout.next() kbdlayout.set(idx + 1) end - function kbdlayout.prev() kbdlayout.set(idx - 1) end - - -- Mouse bindings - kbdlayout.widget:buttons(awful.util.table.join( - awful.button({ }, 1, function () kbdlayout.next() end), - awful.button({ }, 3, function () kbdlayout.prev() end))) - - helpers.newtimer("kbdlayout", timeout, kbdlayout.update) - - return kbdlayout -end - -return factory diff --git a/wiki b/wiki index d42638d..2268c89 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit d42638dc3698f56f6599f2ea82a79d3696645689 +Subproject commit 2268c893712e579f1b68f25be8ff9caf9767312f