diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-12-02 22:40:33 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-12-02 22:40:33 +0000 |
| commit | 958df7716291a1af680bf9d5432aa99f0b7cf644 (patch) | |
| tree | fd659b40daa8002a2889e4a82e00c8bcdece6e1e | |
| parent | 11de5db065830856f79ca0a2021f28080973710d (diff) | |
compress property changes a bit
| -rw-r--r-- | src/rootwindow.cc | 13 |
1 files changed, 12 insertions, 1 deletions
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(); } |
