如何在AwesomeWM中将Lua脚本设置的窗口永远保持在顶部并保持专注?
- 内容介绍
- 文章标签
- 相关推荐
本文共计351个文字,预计阅读时间需要2分钟。
我正在运行一个创建和关闭几个窗口的脚本,因此我在rc.lua中添加了一种方法来保持窗口始终位于顶部:使用`awful.key`绑定了一个组合键,当按下该键时,将切换窗口的顶部状态。代码如下:
luaawful.key({modkey, Control}, space, function(c) c:floating():ontop=not c.onend)
我正在运行一个创建和关闭几个窗口的脚本,因此,我在rc.lua中添加了一种方法来保持窗口始终位于顶部:awful.key({ modkey, "Control" }, "space", function(c) awful.client.floating.toggle() c.ontop = not c.ontop end),
问题是:当创建新窗口时,我将失去焦点,该焦点将传递到新窗口.
有没有办法让前一个切换不仅让窗口保持在顶部,而且还有焦点,直到我再次切换它?
假设来自 this awesomerc.lua file的第357-375行的awful.rules.rules分配在您的用户的awesomerc.lua文件中,并且该分配中使用的awful.client.focus.filter是从 this file开始的,那么您应该可以做类似的事情这个.在rc文件中的某处定义自定义焦点过滤器功能.
function custom_focus_filter(c) if global_focus_disable then return nil end return awful.client.focus.filter(c) end
然后在规则赋值中使用该自定义过滤器函数代替原始过滤器函数.
awful.rules.rules = { -- All clients will match this rule. { rule = { }, properties = { .... focus = custom_focus_filter, .... } },
然后你的切换功能只需要根据需要设置和取消设置全局.
awful.key({ modkey, "Shift" }, "f", function () global_focus_disable = not global_focus_disable end)
本文共计351个文字,预计阅读时间需要2分钟。
我正在运行一个创建和关闭几个窗口的脚本,因此我在rc.lua中添加了一种方法来保持窗口始终位于顶部:使用`awful.key`绑定了一个组合键,当按下该键时,将切换窗口的顶部状态。代码如下:
luaawful.key({modkey, Control}, space, function(c) c:floating():ontop=not c.onend)
我正在运行一个创建和关闭几个窗口的脚本,因此,我在rc.lua中添加了一种方法来保持窗口始终位于顶部:awful.key({ modkey, "Control" }, "space", function(c) awful.client.floating.toggle() c.ontop = not c.ontop end),
问题是:当创建新窗口时,我将失去焦点,该焦点将传递到新窗口.
有没有办法让前一个切换不仅让窗口保持在顶部,而且还有焦点,直到我再次切换它?
假设来自 this awesomerc.lua file的第357-375行的awful.rules.rules分配在您的用户的awesomerc.lua文件中,并且该分配中使用的awful.client.focus.filter是从 this file开始的,那么您应该可以做类似的事情这个.在rc文件中的某处定义自定义焦点过滤器功能.
function custom_focus_filter(c) if global_focus_disable then return nil end return awful.client.focus.filter(c) end
然后在规则赋值中使用该自定义过滤器函数代替原始过滤器函数.
awful.rules.rules = { -- All clients will match this rule. { rule = { }, properties = { .... focus = custom_focus_filter, .... } },
然后你的切换功能只需要根据需要设置和取消设置全局.
awful.key({ modkey, "Shift" }, "f", function () global_focus_disable = not global_focus_disable end)

