I think I've finally found the right place for the propagateClients() call.
Now KWinModule will emit windowAdded() after all properties are set correctly, but still before activeWindowChanged(). If it breaks something, beat me. svn path=/trunk/kdebase/kwin/; revision=90016
This commit is contained in:
parent
2b0e89325f
commit
6261311a69
3 changed files with 11 additions and 1 deletions
|
@ -756,6 +756,7 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
|
||||||
delete session;
|
delete session;
|
||||||
|
|
||||||
sendSyntheticConfigureNotify();
|
sendSyntheticConfigureNotify();
|
||||||
|
workspace()->clientReady( this ); // will call Workspace::propagateClients()
|
||||||
|
|
||||||
if ( showMe && !doNotShow ) {
|
if ( showMe && !doNotShow ) {
|
||||||
Events::raise( isTransient() ? Events::TransNew : Events::New );
|
Events::raise( isTransient() ? Events::TransNew : Events::New );
|
||||||
|
|
|
@ -495,7 +495,6 @@ bool Workspace::workspaceEvent( XEvent * e )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( c ) {
|
if ( c ) {
|
||||||
propagateClients();
|
|
||||||
bool result = c->windowEvent( e );
|
bool result = c->windowEvent( e );
|
||||||
if ( c == desktop_client )
|
if ( c == desktop_client )
|
||||||
setDesktopClient( c );
|
setDesktopClient( c );
|
||||||
|
@ -2173,6 +2172,14 @@ bool Workspace::netCheck( XEvent* e )
|
||||||
return dirty != 0;
|
return dirty != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Called when a newly mapped client is ready ( has properties set correctly )
|
||||||
|
*/
|
||||||
|
void Workspace::clientReady( Client* )
|
||||||
|
{
|
||||||
|
propagateClients();
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Propagates the managed clients to the world
|
Propagates the managed clients to the world
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -134,6 +134,8 @@ public:
|
||||||
|
|
||||||
void clientHidden( Client* );
|
void clientHidden( Client* );
|
||||||
|
|
||||||
|
void clientReady( Client* );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current virtual desktop of this workspace
|
* Returns the current virtual desktop of this workspace
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue