Support _NET_WM_FULL_PLACEMENT.

svn path=/trunk/KDE/kdebase/workspace/; revision=662075
This commit is contained in:
Luboš Luňák 2007-05-07 12:37:12 +00:00
parent c0412fbf23
commit 47232a2c17
3 changed files with 8 additions and 2 deletions

View file

@ -166,7 +166,7 @@ bool Client::manage( Window w, bool isMapped )
it != mainclients.end();
++it )
{
if( (*it)->isSpecialWindow())
if( mainclients.count() > 1 && (*it)->isSpecialWindow())
continue; // don't consider toolbars etc when placing
maincl = *it;
if( (*it)->isOnCurrentDesktop())

View file

@ -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());

View file

@ -293,6 +293,7 @@ void Workspace::init()
NET::WM2KDETemporaryRules |
NET::WM2ShowingDesktop |
NET::WM2DesktopLayout |
NET::WM2FullPlacement |
0
,
NET::ActionMove |