加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua – 永远在顶部的窗口并保持专注,在AwesomeWM上

发布时间:2020-12-15 00:15:48 所属栏目:大数据 来源:网络整理
导读:我正在运行一个创建和关闭几个窗口的脚本,因此,我在rc.lua中添加了一种方法来保持窗口始终位于顶部: awful.key({ modkey,"Control" },"space",function(c) awful.client.floating.toggle() c.ontop = not c.ontopend), 问题是:当创建新窗口时,我将失去焦点
我正在运行一个创建和关闭几个窗口的脚本,因此,我在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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读