【问题标题】:Can you put a client into a widget hierarchy in awesome-wm?您可以将客户端放入 awesome-wm 中的小部件层次结构吗?
【发布时间】:2019-04-18 20:53:35
【问题描述】:

我想知道您是否可以将客户端放入小部件层次结构中。 基本上有办法做类似的事情:

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

我希望没有,但如果没有,是否有一些 hacky 方法可以做到这一点?

【问题讨论】:

    标签: awesome-wm


    【解决方案1】:

    简短的回答:不。但是有几种方法可以解决这个问题。

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

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

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

    第二种选择是创建一个新的小部件,然后使用它自己的:draw() 函数作为一个钩子来知道何时移动客户端(使用c:geometry())。这主要是the dynamic client layout branch does。这有一些问题,例如必须不断提高客户。您还必须断开一堆东西以防止现有代码路径影响客户端(例如request::geometry 处理程序,例如使用mod4+mouse 移动/调整客户端大小的处理程序)。您还需要使客户端floating 和sticky 得到正确的结果。

    3:欢迎使用补丁

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多