在 awesomewm 的两个屏幕上循环切换客户端

在 awesomewm 的两个屏幕上循环切换客户端

我正在使用 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-cyclefocus 是 awesome 窗口管理器的一个模块/插件,它提供循环浏览最近使用的客户端的方法(通常称为 Alt-Tab)。

它允许轻松过滤要循环的窗口列表,例如按屏幕、标签、窗口类别、名称/标题等。

相关内容