Avoid sending synthetic configure notify events with user moving/resizing

when a real one will be sent.

svn path=/trunk/kdebase/kwin/; revision=284785
This commit is contained in:
Luboš Luňák 2004-02-03 15:18:15 +00:00
parent 10405ee978
commit b525af029e
2 changed files with 7 additions and 4 deletions

View file

@ -778,8 +778,9 @@ void Client::configureRequestEvent( XConfigureRequestEvent* e )
// TODO sending a synthetic configure notify always is fine, even in cases where
// the ICCCM doesn't require this - it can be though of as 'the WM decided to move
// the window later'. Perhaps those unnecessary ones could be saved though.
// See also Client::setGeometry()/plainResize()/move().
// the window later'. The client should not cause that many configure request,
// so this should not have any significant impact. With user moving/resizing
// the it should be optimized though (see also Client::setGeometry()/plainResize()/move()).
sendSyntheticConfigureNotify();
// SELI TODO accept configure requests for isDesktop windows (because kdesktop

View file

@ -1149,12 +1149,13 @@ void Client::setGeometry( int x, int y, int w, int h, ForceGeometry_t force )
cs.width(), cs.height());
// FRAME tady poradi tak, at neni flicker
XMoveResizeWindow( qt_xdisplay(), window(), 0, 0, cs.width(), cs.height());
// no need for real configure notify, XMoveResizeWindow() already causes real one
// sendSyntheticConfigureNotify();
}
if( shape())
updateShape();
// SELI TODO won't this be too expensive?
updateWorkareaDiffs();
sendSyntheticConfigureNotify(); // TODO optimize this?
}
}
@ -1187,11 +1188,12 @@ void Client::plainResize( int w, int h, ForceGeometry_t force )
XMoveResizeWindow( qt_xdisplay(), wrapperId(), clientPos().x(), clientPos().y(),
cs.width(), cs.height());
XMoveResizeWindow( qt_xdisplay(), window(), 0, 0, cs.width(), cs.height());
// no need for real configure notify, XMoveResizeWindow() already causes real one
// sendSyntheticConfigureNotify();
}
if( shape())
updateShape();
updateWorkareaDiffs();
sendSyntheticConfigureNotify();
}
}