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:
Luboš Luňák 2001-04-02 22:12:54 +00:00
parent 2b0e89325f
commit 6261311a69
3 changed files with 11 additions and 1 deletions

View file

@ -756,6 +756,7 @@ bool Client::manage( bool isMapped, bool doNotShow, bool isInitial )
delete session;
sendSyntheticConfigureNotify();
workspace()->clientReady( this ); // will call Workspace::propagateClients()
if ( showMe && !doNotShow ) {
Events::raise( isTransient() ? Events::TransNew : Events::New );

View file

@ -495,7 +495,6 @@ bool Workspace::workspaceEvent( XEvent * e )
}
}
if ( c ) {
propagateClients();
bool result = c->windowEvent( e );
if ( c == desktop_client )
setDesktopClient( c );
@ -2173,6 +2172,14 @@ bool Workspace::netCheck( XEvent* e )
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
*/

View file

@ -133,6 +133,8 @@ public:
void raiseOrLowerClient( Client * );
void clientHidden( Client* );
void clientReady( Client* );
/**
* Returns the current virtual desktop of this workspace