CT: re-place a window when it is moved between desktops.
svn path=/trunk/kdebase/kwin/; revision=164082
This commit is contained in:
parent
4c1d786510
commit
2e99608428
1 changed files with 5 additions and 0 deletions
|
@ -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 );
|
||||
|
|
Loading…
Reference in a new issue