diff options
Diffstat (limited to 'kwin/placement.cpp')
| -rw-r--r-- | kwin/placement.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/kwin/placement.cpp b/kwin/placement.cpp index 223b95c5b..e9ae1b95e 100644 --- a/kwin/placement.cpp +++ b/kwin/placement.cpp @@ -473,7 +473,7 @@ void Placement::placeOnMainWindow(Client* c, QRect& area, Policy nextPlacement )           it != mainwindows.end();           ++it )          { -        if( (*it)->isSpecialWindow()) +        if( mainwindows.count() > 1 && (*it)->isSpecialWindow())              continue; // don't consider toolbars etc when placing          ++mains_count;          place_on2 = *it; @@ -502,6 +502,11 @@ void Placement::placeOnMainWindow(Client* c, QRect& area, Policy nextPlacement )              }          place_on = place_on2; // use the only window filtered together with 'mains_count'          } +    if( place_on->isDesktop()) +        { +        place( c, area, Centered ); +        return; +        }      QRect geom = c->geometry();      geom.moveCenter( place_on->geometry().center());      c->move( geom.topLeft()); | 
