Re: WM_NAME vs. _NET_WM_NAME



* Martin Gräßlin <mgraesslin kde org> [2014-10-27 08:59:17 +0100]:
While developing a Qt application, I noticed some bugs regarding to
window title handling [1][2][3].

I assume that's Qt 5, right?

Indeed, it works fine with Qt 4.

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.

Okay. I'll still open a bug in Qt then since it seems to raise
problems in the wild - then it's up to them to decide whether it's
worth to fix it or not ;)

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.

Do you mean the backend as in a part of Qt, or xcb itself?

At the same time knowing the Qt development I am sure they would accept 
patches if it improves the interoperability.

I unfortunately don't feel comfortable enough with C++ to work on Qt
(I'm using PyQt).

- 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.

Okay. The question basically "is it the WM's fault, or Qt's fault" ;)

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.

Probably not an option with PyQt, and also that's not really a
dependency I want to have just to set a window title :D

Thanks,

Florian

-- 
http://www.the-compiler.org | me the-compiler org (Mail/XMPP)
             GPG 0xFD55A072 | http://the-compiler.org/pubkey.asc
         I love long mails! | http://email.is-not-s.ms/

Attachment: pgpbyPBFcOqFj.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]