永远在最前面 window 并保持专注,在 AwesomeWM 上
Always-on-top window and keeping focus, on AwesomeWM
我是 运行 一个创建和关闭几个 windows 的脚本,因此,我在我的 rc.lua 中添加了一种方法来保持 window 我工作的地方总在最前面:
awful.key({ modkey, "Control" }, "space",
function(c)
awful.client.floating.toggle()
c.ontop = not c.ontop
end),
问题 is:when 创建了新的 window,我失去了焦点,它传递给了新的 window。
有没有办法让之前的切换不仅让 window 保持在顶部,而且在我再次切换它之前一直保持焦点?
假设 this awesomerc.lua file are in your user's awesomerc.lua
file and the awful.client.focus.filter
used in that assignment is the one from this file 的第 357-375 行中的 awful.rules.rules
赋值,那么你应该可以做这样的事情。
在 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)
我是 运行 一个创建和关闭几个 windows 的脚本,因此,我在我的 rc.lua 中添加了一种方法来保持 window 我工作的地方总在最前面:
awful.key({ modkey, "Control" }, "space",
function(c)
awful.client.floating.toggle()
c.ontop = not c.ontop
end),
问题 is:when 创建了新的 window,我失去了焦点,它传递给了新的 window。
有没有办法让之前的切换不仅让 window 保持在顶部,而且在我再次切换它之前一直保持焦点?
假设 this awesomerc.lua file are in your user's awesomerc.lua
file and the awful.client.focus.filter
used in that assignment is the one from this file 的第 357-375 行中的 awful.rules.rules
赋值,那么你应该可以做这样的事情。
在 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)