微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Awesome-WM:在与父节点相同的标签上生成客户端

如何解决Awesome-WM:在与父节点相同的标签上生成客户端

我的目标是让拥有父级的客户在与其父级相同的标签生成。没有父母的客户端应该在活动标签生成(像往常一样)。

我的第一种方法是使用 client.connect_signal("manage",...) 连接信号。但是,我找不到获取客户端的父级或检查它是否有父级的方法。 感谢您查看我的问题!


更新 1:我找到了 client:get_transient_for_matching (matcher),但文档不是很有帮助。


更新 2:感谢 Uli 提示使用 client::transient_for 作为获取瞬态的更简单方法。使用

client.connect_signal("manage",function (c)                                                          
    parent = c.transient_for               
    naughty.notify({ preset = naughty.config.presets.critical,title = "Debug",text = tostring(c.window) .. " " .. (parent and tostring(parent.window) or "") })
                                                                                                      
    if parent then                                                                                    
        -- move new client to same tag and screen as parent                                                                          
        tag = parent.first_tag                                                                        
        screen = parent.screen                                                                        
        c:move_to_tag(tag)                                                                            
        c:move_to_screen(screen)                                                                      
    end                                                                                               
end)                                                                                                  

我试图实现我的目标并使用通知添加一个简单的调试输出。现在,只有极少数新客户实际上拥有不是 nil 的瞬态。例如,从终端生成 git gui 没有瞬态。但是,我坚信它应该(或者我误解了瞬态是什么)。


Ubuntu 20LTS,Awesome WM 版本 4.3-4,awesome-extra 2019021001

解决方法

您正在寻找c.transient_for。这包含“父”窗口或 nil 的客户端对象。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。