[PATCH] wmaker: set proper group window class when hint is empty
3 views
Skip to first unread message
david.m...@gmail.com
unread,
Feb 21, 2026, 3:01:01 PM (3 days ago) Feb 21
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Window Maker Development
This patch is setting a proper class hint internally when the app is not setting any. That issue can be reproduced with terminator 2.1.3, where the window itself is setting a proper WM_CLASS
But the window id # of group leader: 0x1000001 is setting only the instance name not the class name. $ xprop -id 0x1000001|grep CLASS WM_CLASS(STRING) = "terminator", ""
The issue is that wmaker is using those 2 string values for the dock apps and to identify linked launched apps. Those strings are concatenated and used in WMWindowAttributes. Without the patch, that entry below is created:
terminator. = { Icon = terminator..xpm; };
If wmaker is warm restarted, a new entry appears in WMWindowAttributes:
terminator. = { Icon = terminator..xpm; };
terminator = { Icon = terminator..xpm; };
and the opened window is not linked anymore to the dock app as the WM_CLASS is different. So you can launch the app as many times as you want from the dock, the dock icon will always have the 3 dots on the bottom left corner showing no window apps are linked to it.
In case if the group window is not defining a CLASS but the client window has one, the patch is setting the group window CLASS to the value of the client window CLASS, or as a fallback, as seen in PropGetWMClass function, setting it to "default".
With the patch, in WMWindowAttributes, we have now: terminator.Terminator = { Icon = terminator.Terminator.xpm; };
and a warm restart is not creating another entry. --- src/window.c | 6 ++++++ 1 file changed, 6 insertions(+)