Menu

#2 The Interface does not set WM_CLASS

open
nobody
cm (2)
5
2026-06-30
2012-09-03
No

On Linux the interface does not set the WM_CLASS property.
This can be easily checked with `xprop`. Use like:

1. open cm-grace
2. run:
xprop WM_CLASS
3. select the cm-grace window

no information is returned.

To set WM_CLASS one must create an XClassHint struct
and fill the res_name and res_classs members.

I do not know my way through the cm-grace source code,
based on some grepping, I think the right file to patch is 'src/juce_amalgamated.cpp'.

I set out to create a patch, but when I realised that the build system is not
what I expected it to be (I couldnt get premake.lua to work) I gave up.

Something along the lines of the attached patch should do it (untested..).
The allocated memory should be free'd with 'XFree(..)'

Here are some relevant links:
http://www.tronche.com/gui/x/xlib/ICC/client-to-window-manager/wm-class.html
http://www.tronche.com/gui/x/xlib/ICC/client-to-window-manager/XSetClassHint.html
http://www.tronche.com/gui/x/xlib/ICC/client-to-window-manager/XAllocClassHint.html

Discussion

  • c00kiemon5ter

    c00kiemon5ter - 2012-09-03

    class_hint.diff

     
  • Stephanie Holland

    How to setting WM_CLASS properly? Can you give the guide?

     
  • games

    games - 2025-10-24
    Post awaiting moderation.
  • lisapurnellsw

    lisapurnellsw - 2025-11-06

    Your approach to solving the issue is the most valuable part, and your patch gives the maintainers a clear direction. They can likely integrate your logic much faster than if they had to debug the issue and write the code from scratch. cookie clicker

     

    Last edit: lisapurnellsw 2025-11-06
  • Christopher Christensen

    Is the forum active? slope is an adrenaline-pumping endless game that tests your reflexes, focus, and speed.

     

    Last edit: Christopher Christensen 2025-11-26
  • Craig Cooke

    Craig Cooke - 2025-12-17

    The game offers a Melon Sandbox relaxed experience without strict objectives, storylines, or missions. It encourages players to explore and experiment freely, discovering new possibilities through physics, collisions, reactions, and chain events.

     

    Last edit: Craig Cooke 2025-12-17
  • Serena Kuvalis

    Serena Kuvalis - 2026-01-08
    Post awaiting moderation.
  • molte nimpu

    molte nimpu - 2026-01-14

    I totally get where you’re coming from with the WM_CLASS Run 3 issue! I struggled with interface inconsistencies too when working on my projects. It’s such a hassle when things don’t sync properly. Have you thought about how this impacts usability in collaborative settings? Let’s brainstorm solutions together!

     
  • Alfred Kirby

    Alfred Kirby - 2026-01-24

    I totally relate to the WM_CLASS issue! In my own project, I had a similar bug that made integrating with window managers tricky. Sorting it out made my workflow so much dashmetry smoother—hope you get this fixed soon!

     

    Last edit: Alfred Kirby 2026-01-24
  • Seika Sema

    Seika Sema - 2026-04-22
    Post awaiting moderation.
  • Seika Sema

    Seika Sema - 2026-04-22
    Post awaiting moderation.
  • Forrest Armstrong

    Thanks for digging into this and providing useful references. Missing WM_CLASS can definitely cause issues with window managers and desktop integration on Linux. Your suggested approach with XClassHint seems reasonable, and the notes about memory snowrider cleanup and patch location are very helpful for anyone investigating further.

     
  • Lite Geometry Dash

    Post awaiting moderation.

Log in to post a comment.

Monday.com Logo