Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

try to handle grouping of windows differently #46

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rmottola
Copy link
Member

XFCE windowmanager groups in the task bar windows when there are many for one application. What I found is that with two or more GNUstep applications, everything was put into a "GNUstep" item, different from the expected experience
After some trial-and error using xprops on various apps (internal XFCe,, GTK tools, Firefox...) I found out the issue is the WM_CLASS atoms, which consists of two strings

for most application they were set like this:
"app name", "App Name"

for some others, like this: "org.gnome.appname", "AppName"

or even a functional name, e.g Firefox has: "Navigator", "Firefox" which I bet is a heritage of when there was Navigator, Mail, Composer, Chat

we were setting "AppName", "GNUstep"

Since in the place I only have NSProcessInfo, (using the domain or a functional name like Firefox).. so now we can set e.g. "Ink", "Ink".
At a first test, it works in XFCE!

I wonder:

  • Is/Was "GNUstep" as class used somewhere or for other WMs?
  • Do other places where res_class is set to GNUstep be also changed?

…the App name from NSProcessInfo, that way certaain windowmanagers (e.g. Xfce) can group windows per application, and not lump all GS apps together
@rmottola rmottola requested review from fredkiefer and removed request for fredkiefer December 20, 2023 09:04
@2xsaiko
Copy link

2xsaiko commented Dec 20, 2023

How about setting it to the value of CFBundleIdentifier? That seems to be the closest to "org.gnome.appname".

@rmottola
Copy link
Member Author

rmottola commented Mar 6, 2024

How about setting it to the value of CFBundleIdentifier? That seems to be the closest to "org.gnome.appname".

That detail seems only to be done for that GNOME app, you may try to inspect random apps you are running.

Furthermore, i don't know how to access in an efficient way the CFBundleIdentifier in XGServerWindow

@rmottola
Copy link
Member Author

rmottola commented Mar 6, 2024

@fredkiefer do we use res_class for anything else?

We left this stale... would be nice to make it before release.

Copy link
Member

@fredkiefer fredkiefer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this change is fine. What we should think about is, what we set the variable res_name to. There is no use in setting both variables to the same value. One should check with other X11 applications what is the current usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants