Allow window matching based on the group leader's name and class (Fix bug 5721)
authorDana Jansens <danakj@orodu.net>
Mon, 1 Oct 2012 02:16:10 +0000 (22:16 -0400)
committerDana Jansens <danakj@orodu.net>
Sun, 7 Oct 2012 01:56:56 +0000 (21:56 -0400)
commit6eb740cf119b14903afa3028e108dd98c57ff926
tree5106cffa6a6d2b402b19ec5deb2b3cf99b344545
parent51d735672c7a726655867b703d07e390781939de
Allow window matching based on the group leader's name and class (Fix bug 5721)

In Openbox 3.4 we used the group leader's WM_CLASS value when it was available.
This prevents windows in the group from overriding with a specific value,
however which is bad. More rationale can be found in
http://icculus.org/pipermail/openbox/2010-September/006790.html

Some applications (eg. Firefox) use command line flags to set the WM_CLASS
property on the group leader but do not change the property on the mapped
windows themselves. This makes matching these windows not possible in Openbox
3.5.

We resolve this by exposing the group's WM_CLASS values alongside the individual
window's values. We add _OB_APP_GROUP_NAME and _OB_APP_GROUP_CLASS properties
along with "groupname" and "classname" attributes for the rc.xml application
tag.
data/rc.xml
obt/prop.c
obt/prop.h
openbox/client.c
openbox/client.h
openbox/config.c
openbox/config.h
openbox/screen.c