Menu

#2 The Interface does not set WM_CLASS

open
nobody
cm (2)
5
3 days ago
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 - 3 days ago
    Post awaiting moderation.
  • Seika Sema

    Seika Sema - 3 days ago
    Post awaiting moderation.

Log in to post a comment.

MongoDB Logo MongoDB