Hi,<br><br>I just wonder why knotify service is note started on the startkde script. I think it would be really useful. Rivo and me were tracking a strange issue on KWin, that finally I found where the problem was, and this one is really really strange. If you wanna follow it, just try, and probably you will laugh very very high.
<br><br>Do not start knotify service. Follow the next steps:<br><br>- Open an app, and on the dialog title click Configure, so the kwin configuration dialog is shown. Enable the effects (compositing) to be able to try this, since this all have to do with effects. We will concentrate on Shadows, for example. Let's change its opacity to 100%, click OK. Probably your shadows were updated inmediatly, probably not. Try again, "More Options", now Opacity "10%", "OK", probably your shadows were updated, probably not. Now, read the output, you will notice that everytime your shadows weren't updated you will have a message like:
<br><br>"knotify: couldn't contact to knotify server", or something like that, related to knotify.<br><br>Now, run knotify and startkde. Do the same, magically all your shadows are updated inmediatly.<br><br>
Well, what I have been thinking is that DBUS is looking for knotify somehow, and the most strange thing is that if you track the calls on kdebase/workspace/kwin/lib/kwineffects.cpp:<br><br>void EffectsHandler::sendReloadMessage( const QString& effectname )
<br>    {<br>    kDebug( 1212 ) << "sending reload message: " << effectname << endl;<br><br>    QDBusMessage message = QDBusMessage::createMethodCall("org.kde.kwin", "/KWin", "
org.kde.KWin", "reloadEffect");<br>    message << QString("kwin4_effect_" + effectname);<br>    QDBusConnection::sessionBus().send(message);<br><br>    kDebug( 1212 ) << "reload message sent: " << effectname << endl;
<br>    }<br><br>So, we go to kdebase/workspace/kwin/effects.cpp:<br><br>void EffectsHandlerImpl::reloadEffect( const QString& name )<br>    {<br>    kDebug( 1212 ) << "reloading effect: " << name << endl;
<br><br>    if( isEffectLoaded( name ))<br>        {<br>        kDebug( 1212 ) << "i'm being reloaded (" << name << ") (hoozah !!)" << endl;<br>        unloadEffect( name );
<br>        loadEffect( name );<br>        }<br>    }<br><br>You will notice that, before running knotify, sometimes you got:<br><br>sending reload message: ......<br>reloading effect: ......<br>i'm being reloaded (......) (hoozah !!)
<br>reload message sent: .....<br><br>Others (without running knotify)<br><br>
sending reload message: ......<br>knotify: couldnt contact to knotify server (or something similar)<br>
reload message sent: .....<br><br>So it's like the message has been lost on the dbus service or something... no idea really. What I have tested, and hard-tested is that if you run knotify before starting kde, this will ALWAYS work. And after all, I don't think running knotify on startkde script will hurt anybody.
<br><br>Well, just want to know your opinions.<br clear="all"><br><br><br>Bye,<br>Rafael Fernández López.