awesome-wm - 获取下一个和上一个标签 (AwesomeWM)
问题描述
有没有办法在 AwesomeWM Lua Config 中获取下一个或上一个标签?
原因:- 我想获取下一个或上一个标签以将重点客户标签设置为它,然后移动到该标签。我知道有 awesome.tag.viewnext 移动到下一个标签,但不确定如何获取它将移动到的标签以在客户端上设置它。提前致谢
解决方案
嗯......是的,有一种方法,但没有一种完全微不足道的方法。
首先,让我们看一下默认配置。哪些现有功能必须获得下一个/上一个标签?那是 taglist 上的鼠标滚轮:
awful.tag.viewnext
那么,如何viewprev
获取下一个标签呢?这些函数只调用viewidx
1idx
或 -1,例如:
所以,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
前一个标签的参数。在可能的情况下,我建议也通过第二个参数传入一个屏幕。
此外,所有这些都是完全未经测试的,只是当场写的。这里很可能有错别字和其他错误。
推荐阅读
- php - PHP 使用 DOMDocument 和/或 Regex 从 HTML 中提取 url
- vba - 如何用excel中单独工作表中的数据填充单元格?
- python - 结合 selenium 测试类和 tkinter
- wordpress - 获取 Wordpress 查询中的所有类别、自定义字段值?
- php - Laravel 验证总是从 API 返回 200 OK
- sql - 需要帮助更正我的 SQL 以进行交叉表查询
- docker - 将 Docker 容器连接到本地 Elasticsearch 服务
- django - 选择一个选项,不允许在 django 表单中再次选择它
- javascript - 获取 URL 字符串参数作为 JSON 对象
- javascript - 填写表单OK,但验证不取字段内容