Search code examples
taskbarxtermawesome-wm

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


When I hide an xterm apparently the Awesome WM transforms the title to simply "xterm" instead of showing the actual window's name.

For example if I have this (querying with xwininfo):

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

But then if I click on the taskbar to "hide" this xterm, xwininfo says this:

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

So my xterm which is not viewable anymore is seen, by xwininfo, as "isUnmapped" (as opposed to isViewable). But its title didn't change: it is still "xterm:john:$ top".

So far so good. Except that Awesome is now displaying, in the taskbar, only "xterm" instead of the actual xterm's title.

So I have the behavior I want when the xterm is visible, but I don't have the behavior I want when the xterm is hidden.

How can I get Awesome to display the actual xterm's title instead of simply "xterm" in both cases?

Bonus point if I can get Awesome to show "[HIDDEN]: xterm:john:$ top", so I know immediately if the xterm is currently viewable or not.

P.S: I've got a pretty custom xterm title, updating at each command, indicating whether a command is currently running or not etc. and as far as I know my customization always set the xterm's window title correctly (as can be seen by xwininfo).


Solution

  • It's probably displaying the icon title. You can see that information using xprop, e.g., as the WM_ICON_NAME and _NET_WM_ICON_NAME properties. xwininfo shows only information for the selected window (an icon is actually a different window).

    The escape sequence used to set the title string has a 2 parameter, to denote just the window title. Changing that to 0 tells xterm to set both icon and window titles.