summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-02 22:32:38 +0000
committerDana Jansens <danakj@orodu.net>2002-12-02 22:32:38 +0000
commit7efcff07ea463bd9ae1d374119540fb8dc508489 (patch)
tree3a35b8bebb2d7c97702d8bc1fe92f700dc0aedf0 /src
parent786834abea24b8ebc233d894e6ffd40a38da0170 (diff)
more compressing
Diffstat (limited to 'src')
-rw-r--r--src/client.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/client.cc b/src/client.cc
index 7dd63b2a..a92c1796 100644
--- a/src/client.cc
+++ b/src/client.cc
@@ -504,6 +504,17 @@ void OBClient::propertyHandler(const XPropertyEvent &e)
const otk::OBProperty *property = Openbox::instance->property();
+ // compress changes to a single property into a single change
+ XEvent ce;
+ while (XCheckTypedEvent(otk::OBDisplay::display, e.message_type, &ce)) {
+ // XXX: it would be nice to compress ALL changes to a property, not just
+ // changes in a row without other props between.
+ if (ce.xproperty.atom != e.atom) {
+ XPutBackEvent(otk::OBDisplay::display, &ce);
+ break;
+ }
+ }
+
if (e.atom == XA_WM_NORMAL_HINTS)
updateNormalHints();
else if (e.atom == XA_WM_HINTS)