我正在使用 awesomewm,有两个显示器,因此Mod4+j
只能Mod4+k
在当前屏幕上循环显示窗口。有没有办法在所有屏幕上循环显示所有窗口/客户端,使其像平常一样工作Alt+Tab
?
答案1
经过一番探索糟糕的模块文档我找到了一个解决方案。虽然有点儿老套,但确实可以按我期望的方式工作。
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.byidx(1)
if awful.client.ismarked() then
awful.screen.focus_relative(-1)
awful.client.getmarked()
end
if client.focus then
client.focus:raise()
end
awful.client.togglemarked()
end),
此功能循环显示当前屏幕上的客户端,并对其进行标记,当所有客户端均被标记后,跳转到下一个屏幕。以下是分步操作:
- 我们关注下一位客户
- 我们检查它是否被标记,如果被标记,我们移至下一个屏幕和清除所有客户端的标记状态
- 我们提升现有客户
- 并标记
这很有趣,因为我不知道“标记”是什么意思。标记的客户端似乎与未标记的客户端在视觉或行为上没有什么不同。
奇怪的是,我必须编写一个 10 行函数才能实现多屏 alt-tab 这样简单的事情。我可能做得有些过分了)
答案2
我不确定这个功能是什么时候添加的,但我相信你正在寻找
客户端.focus.global_bydirection (dir,c)
按指定方向聚焦客户端。跨屏幕移动。参数:
- dir:方向,可以是“上”、“下”、“左”或“右”。
- c:可选客户端。
答案3
awesome-cyclefocus 是 awesome 窗口管理器的一个模块/插件,它提供循环浏览最近使用的客户端的方法(通常称为 Alt-Tab)。
它允许轻松过滤要循环的窗口列表,例如按屏幕、标签、窗口类别、名称/标题等。