Reoder how the initial virtual desktop placement is considered.
For dialogs prefer placing together with mainwindow to data from startup notification (happens with kio_uiserver dialogs). svn path=/trunk/kdebase/kwin/; revision=360448
This commit is contained in:
parent
8255bc2749
commit
a6fa4609c2
1 changed files with 5 additions and 5 deletions
10
manage.cpp
10
manage.cpp
|
@ -137,17 +137,13 @@ bool Client::manage( Window w, bool isMapped )
|
||||||
setUserNoBorder( true );
|
setUserNoBorder( true );
|
||||||
|
|
||||||
// initial desktop placement
|
// initial desktop placement
|
||||||
if ( info->desktop() )
|
|
||||||
desk = info->desktop(); // window had the initial desktop property!
|
|
||||||
else if( asn_valid && asn_data.desktop() != 0 )
|
|
||||||
desk = asn_data.desktop();
|
|
||||||
if ( session )
|
if ( session )
|
||||||
{
|
{
|
||||||
desk = session->desktop;
|
desk = session->desktop;
|
||||||
if( session->onAllDesktops )
|
if( session->onAllDesktops )
|
||||||
desk = NET::OnAllDesktops;
|
desk = NET::OnAllDesktops;
|
||||||
}
|
}
|
||||||
else if ( desk == 0 )
|
else
|
||||||
{
|
{
|
||||||
// if this window is transient, ensure that it is opened on the
|
// if this window is transient, ensure that it is opened on the
|
||||||
// same window as its parent. this is necessary when an application
|
// same window as its parent. this is necessary when an application
|
||||||
|
@ -173,6 +169,10 @@ bool Client::manage( Window w, bool isMapped )
|
||||||
else if( maincl != NULL )
|
else if( maincl != NULL )
|
||||||
desk = maincl->desktop();
|
desk = maincl->desktop();
|
||||||
}
|
}
|
||||||
|
if ( info->desktop() )
|
||||||
|
desk = info->desktop(); // window had the initial desktop property, force it
|
||||||
|
if( desktop() == 0 && asn_valid && asn_data.desktop() != 0 )
|
||||||
|
desk = asn_data.desktop();
|
||||||
}
|
}
|
||||||
if ( desk == 0 ) // assume window wants to be visible on the current desktop
|
if ( desk == 0 ) // assume window wants to be visible on the current desktop
|
||||||
desk = workspace()->currentDesktop();
|
desk = workspace()->currentDesktop();
|
||||||
|
|
Loading…
Reference in a new issue