steam-for-linux icon indicating copy to clipboard operation
steam-for-linux copied to clipboard

Steam client sets WM_NAME as UTF-8 string instead of using _NET_WM_NAME

Open Bruners opened this issue 11 years ago • 5 comments

As the title says, the steam client seems to be setting WM_NAME as an UTF-8 string instead of using _NET_WM_NAME for this purpose as defined by the standard

% xprop
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
WM_NAME(UTF8_STRING) = "Steam"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
_NET_WM_ICON(CARDINAL) =    Icon (48 x 48):

_WIN_HINTS(_WIN_HINTS) = 0x0
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x0, 0x0, 0x0
WM_CLASS(STRING) = "Steam", "Steam"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        user specified location: 1920, 22
        user specified size: 1549 by 1057

http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html

Bruners avatar Aug 19 '13 18:08 Bruners

I'll add that this causes all Steam windows to be titled "Untitled" in Compiz. I believe either changing the WM_NAME type to a STRING or setting the _NET_WM_NAME property as an UTF8_STRING would solve this problem.

Nettsu avatar May 11 '14 17:05 Nettsu

This is a very old issue, see #25 I'm still waiting for this to be fixed :stuck_out_tongue:

EDIT: Ha! Just looked at the dates. Didn't even realize that the two issues had been reported about the same problem. Anyway, it does seem to be a Steam issue.

majcherek2048 avatar Nov 26 '15 15:11 majcherek2048

Just encountered this problem when trying Steam on Ubuntu today with tint2. Looks like I'm not the only one with the same issue :smile:

ChristianWilkie avatar Nov 29 '15 03:11 ChristianWilkie

This is still an issue even now in 2022. This prevents window managers and compositors and other utilities that can key customized behaviors off of properly named or titled windows from functioning properly with steam. Not to mention, by having chat windows have unique names based on what chats are open it is exceedingly hard to reliably identify the chat window.

This is what is set by steam, which is incorrect: WM_NAME(UTF8_STRING)

These are the variables steam needs to set with the correctly formatted strings

_NET_WM_ICON_NAME(UTF8_STRING)
_NET_WM_NAME(UTF8_STRING)

WM_ICON_NAME(STRING)
WM_NAME(STRING)

And this is the bare minimum..

_NET_WM_ICON_NAME(UTF8_STRING)
_NET_WM_NAME(UTF8_STRING)

It is possible to set these after the fact using tools like wmctrl by manually clicking each window with the mouse after having typed each separate window title. This is highly aggrivating each time i launch steam.

allora avatar Aug 09 '22 03:08 allora

I was wondering whether WM_NAME(UTF8_STRING) was standard because it does seem to work with some programs, but it's not mentioned in any version of the ICCCM or EWMH standard paper. Turns out, as usual Valve takes one for the team with one of the worst implemented X11 applications and documents what happens. How shameful that this is about to hit 10 years too, this is a one line fix to the atom type of ChangeProperty. Come on guys.

0x08088405 avatar Sep 02 '22 00:09 0x08088405