raboof / notion

Tiling tabbed window manager
https://notionwm.net/
GNU Lesser General Public License v2.1
268 stars 63 forks source link

Window Title is "???" if WM_NAME encoding is COMPOUND_TEXT #309

Open cglindkamp opened 3 years ago

cglindkamp commented 3 years ago

I have just switched to Notion HEAD from Ion3-20090110 on one of my computers. Now all Firefox windows only have ??? in the tab bar. I also saw this issue with surf (https://surf.suckless.org/), when I go to the Webkit-GTK Trac site (https://trac.webkit.org/wiki/BuildingGtk). Other sites work. Looking at the window properties with xprop, I saw that surf normally uses STRING as enconding for WM_NAME, but for whatever reason it uses COMPOUND_TEXT on the Webkit-GTK Trac site. Then I saw, Firefox also uses COMPOUND_TEXT for WM_NAME, so that seems to be the cause for the missing window title.

As this has something to do with enconding, I have the following locale environment variables set: LANG="de_DE.UTF-8" LC_MESSAGES="en_US.UTF-8"

If you need more information for diagnosing the problem, please say so.

wilhelmy commented 3 years ago

I can't reproduce it in LC_ALL=en_US.UTF-8 in firefox.

cglindkamp commented 3 years ago

I did some further digging. I hand compiled notion instead of using the Gentoo ebuild, and with this I cannot reproduce it either. I then looked into the Gentoo ebuild. Apparently it sets CF_NO_LOCALE, when the USE-flag "nls" is disabled. Flipping this USE-flag makes it work. Normally "nls" just disables translations and not locale support, at least I thought. I will keep this configuration on my side, so I don't have the problem anymore.

If you do not consider it a bug, that the window title is sometimes not retrievable with CF_NO_LOCALE, you may close this issue.

wilhelmy commented 3 years ago

I mean, it does sound like a bug but in the ebuild rather than notion if something is disabled that should not have been disabled?

cglindkamp commented 3 years ago

Well I think it was unexpected for me, that the Gentoo ebuild disables the whole multibyte support in Notion, if one does not set the nls-USE-flag. If it is a bug, I don't know.

One thing I could see is, that enabling CF_NO_LOCALE does not result in this issue, if at the same time the whole session is running with the LC_ALL=C. Firefox does not use COMPOUND_TEXT for WM_NAME in this case. So just the combination UFT8 locale + CF_NO_LOCALE does not work.

The final question is, assuming the COMPOUND_TEXT is really the problem here: If xprop supports reading the WM_NAME even it is encoded with COMPOUND_TEXT, should Notion be able to do the same? Even if CF_NO_LOCALE is set? If you do not want to support this case, you can close this issue. I am fine with that.

Thank you for your time