我正在运行一个脚本,该脚本创建并关闭多个窗口,因此,我在rc.lua中添加了一种方法,使我工作的窗口始终处于顶部:
awful.key({ modkey, "Control" }, "space",
function(c)
awful.client.floating.toggle()
c.ontop = not c.ontop
end),
问题是:当创建新窗口时,我会失去焦点,焦点会转移到新窗口。
有没有办法让之前的切换不仅保持窗口在顶部,而且在我再次切换之前保持焦点?
假设这个awesomerc.lua文件第357-375行的awful.rules.rules
赋值在用户的awesomerc.lua
文件中,并且该赋值中使用的awful.client.focus.filter
就是这个文件中的那个,那么您应该能够执行类似的操作。
在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)