是否可以将客户端发送回 AwesomeWM 中的开始标签?

Is it possible to send back a client to its opening tag(s) in AwesomeWM?

我有在特定标签上打开特定应用程序(clients,对于 AwesomeWM)的规则。有时,在我的工作流程中,我可能会移动客户端,例如从一个屏幕移动到另一个屏幕 (Mod+o),这会更改与客户端关联的标签。在使用此客户端后,大多数情况下,将其发送回其初始(或先前)标签会很方便。

我可以重新启动 AwesomeWM,这将使客户端重新读取 rc.lua 中的规则,但它可能会破坏其他标签关​​联,我会使用每个客户端 function/shortcut。

可能吗?使用特定模块?

AwesomeWM 一切皆有可能 ;)

在这种情况下,您可以使用默认的 rc.lua "manage" 客户端信号处理程序来添加如下内容:

c.original_tags = c:tags()

然后在客户端键绑定不是全局键绑定),做:

awful.key({ modkey }, "b", function (c) c:tags(c.original_tags) end,
          {description = "restore the tags", group = "client"}),

请注意,这只有在您的标签永远不变的情况下才有效。如果您添加和删除标签,这会出现错误。

另一种方法是直接从键绑定调用 awful.rules.apply(c) 并再次应用规则。这可能会产生标签以外的副作用,因此这不是我的首选答案。