Support _NET_WM_FULL_PLACEMENT.
svn path=/trunk/KDE/kdebase/workspace/; revision=662075
This commit is contained in:
parent
c0412fbf23
commit
47232a2c17
3 changed files with 8 additions and 2 deletions
|
@ -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())
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -293,6 +293,7 @@ void Workspace::init()
|
|||
NET::WM2KDETemporaryRules |
|
||||
NET::WM2ShowingDesktop |
|
||||
NET::WM2DesktopLayout |
|
||||
NET::WM2FullPlacement |
|
||||
0
|
||||
,
|
||||
NET::ActionMove |
|
||||
|
|
Loading…
Reference in a new issue