在客户的内容上放置一个 wibox

place a wibox on a client's content

我想要 change/cover 客户的内容(与信号相关):我只是让 widget/wibox 以正确的大小和位置出现。

所以我把它放在我的 manage 信号中:

local w = wibox({
        x = c.x,
        y = c.y,
        width = c.width,
        height = c.height,
        visible = false,
        ontop = true,
        widget = my_widget(c)
})
c.mawibox = w

当我分散客户的注意力时,我切换可见性:c.mawibox.visible = true 但是当我离开当前标签时,wibox 仍然出现:如何仅为客户的 window 添加可见性?

还有其他方法可以产生这种效果吗?是否可以在客户端内容之上添加 Cairo 表面?

but when I leave current tag, the wibox is still appearing : how to attach visibility only for the client's window?

我会使用 tag.connect_signal("property::selected", function() [update your wibox here] end)。您可以使用 c:isvisible() 检查您的客户是否可见。如果您还想处理粘性客户端(在所有标签上可见),您还需要处理 "a client's sticky property changed".

的信号