On Monday 27 October 2014 07:03:20 Florian Bruhin wrote:
(Cc'ed the hlwm mailinglist because of [2]) First of all, I hope this is also the right place to ask questions, rather than developemnt of the wm-spec -- if not, I'd be glad if someone directed me to the right place.
yeah I think for general question regarding the co-interoperability of toolkits and window managers this list is probably the best place to ask.
While developing a Qt application, I noticed some bugs regarding to window title handling [1][2][3].
I assume that's Qt 5, right?
It seems the Qt toolkit only sets _NET_WM_NAME and doesn't set WM_NAME at all. Now that raises some questions: - Should a client also set WM_NAME when setting _NET_WM_NAME? Sure, it's a good idea for backwards-compatiblity, but is it warranted to open a bug against Qt? (I'd say yes, but I'd like to hear other opinions).
From my reading of the relevant section in ICCCM (4.1.2.1) there is no indication that a client is supposed to set it. Given that it's certainly not a bug on Qt's side. If a window manager has problems with it, it's more because the window manager doesn't support EWMH. Qt 5's XCB backend doesn't support many "deprecated" features where there is a EWMH replacement. For example it also doesn't support setting a window icon through the WM_HINTS (ICCCM section 4.1.2.4) property. Given that I interpreted this as a design decision to not support the "deprecated" hints in the new implementation. At the same time knowing the Qt development I am sure they would accept patches if it improves the interoperability.
- Should a window manager which implements EWMH act correctly when a client sets _NET_WM_NAME but not WM_NAME? (see [2])
I do not really understand this question. I looked at the bug report and would say that's a hebstluftwm bug. For comparison KWin handles the situation with Qt 5 windows correctly.
- Should a client reading other client's titles respect _NET_WM_NAME (see [3] - it probably *should* but doesn't *have to*, right?)
other clients are a little bit outside the spec as it's mostly about communication between window managers and clients. I'd say it's a good idea to always first test the EMWH hint and only interpret the ICCCM hint if not present. Like with the last question: Plasma (libtaskmanager) handles the situation correctly for Qt 5 windows. Shameless plug: as you are using Qt 5, consider using KF5::WindowSystem which is a nice Qt 5 (only, no further KDE dependencies) library implementing EWMH, supporting fallback to ICCCM if needed. It's the library powering KWin and Plasma (e.g. taskmanager) and also used in LXQt. Cheers Martin Gräßlin
Attachment:
signature.asc
Description: This is a digitally signed message part.