问题描述
是否可以在AwesomeWM Lua Config中获取下一个或上一个标签?
原因:-我想获取下一个或上一个标签,将重点客户标签设置为该标签,然后再移至该标签。 我知道有awful.tag.viewnext移到下一个标签,但是不确定如何获取标签,它将移到客户端上进行设置。 预先感谢
解决方法
嗯...是的,有办法,但是没有一个完全琐碎的办法。
首先,让我们看一下默认配置。哪些现有功能必须获取下一个/上一个标签?这就是标签列表上的鼠标滚轮:
因此,awful.tag.viewnext
和viewprev
如何获得下一个标签?这些函数仅以viewidx
为1或-1调用idx
,例如:
因此,awful.tag.viewidx
可以做我们想要的事情。它是如何做到的?
它获取所有未隐藏标签的表,找到当前所选标签的索引,然后使用gears.math.cycle
计算具有所需偏移量的标签的索引。
对您来说,以下方法可以解决问题:
function get_tag_at_offset(i,s)
s = screen[s or awful.screen.focused()]
local tags = s.tags
local showntags = {}
for _,t in pairs(tags) do
if not awful.tag.getproperty(t,"hide") then
table.insert(showntags,t)
end
end
for k,t in ipairs(showntags) do
if t == sel then
return showntags[gears.math.cycle(#showntags,k + i)]
end
end
end
上面的函数可以像get_tag_at_offset(1)
一样使用,以获取下一个标记,而前一个参数为-1
。如果可能的话,我建议也通过第二个参数在屏幕上传递。
此外,所有这些都未经测试,只是当场编写。这里很可能有错别字和其他错误。