traversing on empty tags does not cause an error anymore
This commit is contained in:
parent
c9de6a1055
commit
e7880a702a
81
init.lua
81
init.lua
|
@ -17,35 +17,80 @@ local keys = {
|
|||
right = { "l" }
|
||||
}
|
||||
|
||||
local function loadrequire(mod)
|
||||
local function requiref(mdl)
|
||||
require(mdl)
|
||||
end
|
||||
local res = pcall(requiref, mod)
|
||||
return res
|
||||
end
|
||||
|
||||
local function new(ks)
|
||||
keys = ks or keys
|
||||
local aw = {}
|
||||
|
||||
glib.idle_add(glib.PRIORITY_DEFAULT_IDLE, function()
|
||||
for k, v in pairs(keys) do
|
||||
for _, key_name in ipairs(v) do
|
||||
aw[#aw + 1] = awful.key(
|
||||
{ "Mod4" },
|
||||
key_name,
|
||||
function()
|
||||
module.focus(k)
|
||||
end,
|
||||
{
|
||||
description = "Change focus to the " .. key_name .. " window",
|
||||
group = "Navigator"
|
||||
}
|
||||
)
|
||||
local use_collision = loadrequire("collision")
|
||||
if use_collision then
|
||||
collision = require("collision"){} -- load collision without any keybinds
|
||||
end
|
||||
|
||||
if use_collision then
|
||||
glib.idle_add(glib.PRIORITY_DEFAULT_IDLE, function()
|
||||
for k, v in pairs(keys) do
|
||||
for _, key_name in ipairs(v) do
|
||||
aw[#aw + 1] = awful.key(
|
||||
{ "Mod4" },
|
||||
key_name,
|
||||
function()
|
||||
module.focus(k)
|
||||
end,
|
||||
{
|
||||
description = "Change focus to the " .. key_name .. " Window / Tmux Pane / VIM Split",
|
||||
group = "Navigator"
|
||||
}
|
||||
)
|
||||
aw[#aw + 1] = awful.key(
|
||||
{ "Mod4", "Shift" },
|
||||
key_name,
|
||||
function()
|
||||
collision.move(k)
|
||||
end,
|
||||
{
|
||||
description = "Move to the " .. key_name,
|
||||
group = "Collision"
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
capi.root.keys(awful.util.table.join(capi.root.keys(), unpack(aw)))
|
||||
end)
|
||||
capi.root.keys(awful.util.table.join(capi.root.keys(), unpack(aw)))
|
||||
end)
|
||||
else
|
||||
glib.idle_add(glib.PRIORITY_DEFAULT_IDLE, function()
|
||||
for k, v in pairs(keys) do
|
||||
for _, key_name in ipairs(v) do
|
||||
aw[#aw + 1] = awful.key(
|
||||
{ "Mod4" },
|
||||
key_name,
|
||||
function()
|
||||
module.focus(k)
|
||||
end,
|
||||
{
|
||||
description = "Change focus to the " .. key_name .. " window",
|
||||
group = "Navigator"
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
capi.root.keys(awful.util.table.join(capi.root.keys(), unpack(aw)))
|
||||
end)
|
||||
end
|
||||
return module
|
||||
end
|
||||
|
||||
function module.focus(dir)
|
||||
local c = client.focus
|
||||
|
||||
local client_name = c.name or ""
|
||||
local client_name = c and c.name or ""
|
||||
|
||||
if string.find(client_name, "- N?VIM$") then
|
||||
keygrabber.stop()
|
||||
|
|
Loading…
Reference in New Issue