如何强制 Awesome 显示实际的 xterm 标题,即使它是隐藏的?

How to force Awesome to show actual xterm title even when it is hidden?

当我隐藏 xterm 时,Awesome WM 将标题简单地转换为 "xterm" 而不是显示实际的 window 名称。

例如,如果我有这个(使用 xwininfo 查询):

 xwininfo: Window id: 0x5c0000d "xterm:john:$   top"
 Map State: IsViewable
 ...

但是如果我在任务栏上单击 "hide" 这个 xterm,xwininfo 会这样说:

 xwininfo: Window id: 0x5c0000d "xterm:john:$   top"
 Map State: isUnmapped
 ...

所以我的 xterm 不再可见,xwininfo 将其视为 "isUnmapped"(与 isViewable 相反)。但它的标题没有改变:它仍然是 "xterm:john:$ top".

到目前为止一切顺利。除了 Awesome 现在在任务栏中只显示 "xterm" 而不是实际的 xterm 标题。

所以当 xterm 可见时我有我想要的行为,但是当 xterm 隐藏时我没有我想要的行为。

如何让 Awesome 在这两种情况下显示实际的 xterm 标题而不是简单地 "xterm"?

如果我能让 Awesome 显示出来,我会加分 "[HIDDEN]: xterm:john:$ top",这样我就能立即知道 xterm 当前是否可见。

P.S:我有一个非常自定义的 xterm 标题,在每个命令中更新,指示命令当前是否 运行 等等,据我所知我的自定义总是正确设置 xterm 的 window 标题(如 xwininfo 所示)。

它可能正在显示图标标题。您可以使用 xprop 查看该信息,例如 WM_ICON_NAME_NET_WM_ICON_NAME 属性。 xwininfo 仅显示所选 window 的信息(图标实际上是不同的 window)。

用于设置标题字符串的转义序列有一个 2 parameter, to denote just the window title. Changing that to 0 告诉 xterm 设置图标和 window 标题。