CT: re-place a window when it is moved between desktops.

svn path=/trunk/kdebase/kwin/; revision=164082
icc-effect-5.14.5
Cristian Tibirna 2002-07-01 04:22:02 +00:00
parent 4c1d786510
commit 2e99608428
1 changed files with 5 additions and 0 deletions

View File

@ -2927,6 +2927,10 @@ void Workspace::sendClientToDesktop( Client* c, int desk )
c->setDesktop( desk );
if( desk == NETWinInfo::OnAllDesktops )
c->setSticky( true );
else
//CT 01Jul2002 - the old position is most probably inappropriate on the new desktop
// thus we place the client again, before we show it, but only if it's not OnAllDesktops
place(c);
if ( c->isOnDesktop( currentDesktop() ) ) {
c->show();
@ -2942,6 +2946,7 @@ void Workspace::sendClientToDesktop( Client* c, int desk )
focus_chain.append( c );
}
for ( ClientList::ConstIterator it = clients.begin(); it != clients.end(); ++it) {
if ( (*it)->transientFor() == c->window() ) {
sendClientToDesktop( *it, desk );