Split methods which perform X roundtrips into two parts
Review Request #122087 - Created Jan. 16, 2015 and submitted
Split Toplevel::getWmClientLeader in two parts
First part (prefetch) just creates the Xcb::Property while the
second part (fetch) reads the property. This allows to better
schedule the commands in Client::manage to reduce the number of
roundtrips. This reduces the time spent for fetching the client
leader property by about half a millisecond on my system.
Split Toplevel::getSkipCloseAnimation into two parts
Split Client::detectGtkFrameExtents into two parts
Split Client::updateShowOnScreenEdge into two parts
Split Client::updateColorScheme into two parts
Split Client::updateFirstInTabBox into two parts
Split Client::readTransient into two parts
Split Client::checkActivities into two parts
Overall this removes 8 roundtrips during Client::manage. According to my measurement each roundtrip costs us about half a msec, so 4 msecs improved.
I don't want to be nasty, but actuall this "fetches" the property and the other one reads it?
Also "pre/fetch" somehow denies the non-void character.
Xcb::Property Client::gtkFrameExtentsProperty() const;
Xcb::Property Client::fetchFrameExtentsProperty() const;
Xcb::Property Client::fetchFrameExtents() const;
void Client::readGtkFrameExtents(Xcb::Property &prop)