Fallback to comparing layout names in awful.layout.inc
This helps in cases where you have accidentally cloned an entry from `layouts`. Previously, no current index would be found and the function would silently fail. Signed-off-by: Daniel Hahler <git@thequod.de>
This commit is contained in:
parent
11f7b5aa3d
commit
31e3399abe
|
@ -43,13 +43,22 @@ function layout.inc(layouts, i, s)
|
||||||
if t then
|
if t then
|
||||||
local curlayout = layout.get(s)
|
local curlayout = layout.get(s)
|
||||||
local curindex
|
local curindex
|
||||||
local rev_layouts = {}
|
|
||||||
for k, v in ipairs(layouts) do
|
for k, v in ipairs(layouts) do
|
||||||
if v == curlayout then
|
if v == curlayout then
|
||||||
curindex = k
|
curindex = k
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if not curindex then
|
||||||
|
-- Safety net: handle cases where another reference of the layout
|
||||||
|
-- might be given (e.g. when (accidentally) cloning it).
|
||||||
|
for k, v in ipairs(layouts) do
|
||||||
|
if v.name == curlayout.name then
|
||||||
|
curindex = k
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
if curindex then
|
if curindex then
|
||||||
local newindex = util.cycle(#layouts, curindex + i)
|
local newindex = util.cycle(#layouts, curindex + i)
|
||||||
layout.set(layouts[newindex], t)
|
layout.set(layouts[newindex], t)
|
||||||
|
|
Loading…
Reference in New Issue