all repos — openbox @ 958df7716291a1af680bf9d5432aa99f0b7cf644

openbox fork - make it a bit more like ryudo

compress property changes a bit
Dana Jansens danakj@orodu.net
commit

958df7716291a1af680bf9d5432aa99f0b7cf644

parent

11de5db065830856f79ca0a2021f28080973710d

1 files changed, 12 insertions(+), 1 deletions(-)

jump to
M src/rootwindow.ccsrc/rootwindow.cc

@@ -48,7 +48,18 @@ otk::OtkEventHandler::propertyHandler(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(); }