From: Dana Jansens Date: Mon, 2 Dec 2002 22:40:33 +0000 (+0000) Subject: compress property changes a bit X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=958df7716291a1af680bf9d5432aa99f0b7cf644;p=chaz%2Fopenbox compress property changes a bit --- diff --git a/src/rootwindow.cc b/src/rootwindow.cc index 41231257..4891b4fe 100644 --- a/src/rootwindow.cc +++ b/src/rootwindow.cc @@ -48,7 +48,18 @@ void OBRootWindow::propertyHandler(const XPropertyEvent &e) const otk::OBProperty *property = Openbox::instance->property(); - if (e.atom == property->atom(otk::OBProperty::net_desktop_names)) + // compress changes to a single property into a single change + XEvent ce; + while (XCheckTypedEvent(otk::OBDisplay::display, e.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 == property->atom(otk::OBProperty::net_desktop_names)) updateDesktopNames(); }