Ignore special windows for placement/desktop, breaks with standalone

menubar.

svn path=/trunk/kdebase/kwin/; revision=279905
This commit is contained in:
Luboš Luňák 2004-01-15 14:30:02 +00:00
parent b41fc6bf49
commit 6dea573226

View file

@ -158,15 +158,22 @@ bool Client::manage( Window w, bool isMapped )
{
ClientList mainclients = mainClients();
bool on_current = false;
Client* maincl = NULL;
// this is slightly duplicated from Placement::placeOnMainWindow()
for( ClientList::ConstIterator it = mainclients.begin();
it != mainclients.end();
++it )
{
if( (*it)->isSpecialWindow() && !(*it)->isOverride())
continue; // don't consider toolbars etc when placing
maincl = *it;
if( (*it)->isOnCurrentDesktop())
on_current = true;
}
if( on_current )
desk = workspace()->currentDesktop();
else if( mainclients.count() > 0 )
desk = mainclients.first()->desktop();
else if( maincl != NULL )
desk = maincl->desktop();
}
}
if ( desk == 0 ) // assume window wants to be visible on the current desktop