您可以将客户端放入awesome-wm的小部件层次结构中吗?

时间:2019-04-18 20:53:36

标签: awesome-wm

我想知道是否可以将客户端放入小部件层次结构。 基本上有一种方法可以做到:

local cool_background_widget = wibox.widget({
    widget = wibox.container.background,
    {
        client, --??????
    }
})

我期望没有,但是如果没有,是否有一些骇人听闻的方法来实现?

1 个答案:

答案 0 :(得分:1)

简短的回答:不。但是有一些解决方法。

1:使用客户端+标题栏作为顶部栏

如果在wibar / wibox中仅需要一个客户端,则可以在该客户端周围放置一个不同的标题栏,并将其用作顶部(或其他)栏。要像普通酒吧一样增加空间,请使用客户端的:struts()属性或使用screen.padding

2:创建自定义占位符小部件

第二个选项是创建一个新的小部件,然后使用其自己的:draw()函数作为挂钩来了解何时移动客户端(使用c:geometry())。这主要是the dynamic client layout branch does。这有一些问题,例如必须继续提高客户。您还必须断开许多连接,以防止现有的代码路径影响客户端(例如request::geometry处理程序,例如使用mod4+mouse移动/调整客户端大小的处理程序)。您还需要使客户端floatingsticky才能获得正确的结果。

3:欢迎补丁

请务必牢记,没有任何技术限制会阻止此功能的实现。现有关于添加此内容的issue。在某些替代性环境中,两个核心AwesomeWM开发人员都将拥有无限的时间,这将是一项功能。我们正在讨论首先针对单个系统托盘“图标”执行此操作。这个issue也是很好的参考,但是在这种情况下,不足以实现您的要求。