New User :) - Question about profiles & preloading

Emanuele Tamponi emanuele at valinor.it
Sun Dec 11 09:54:44 GMT 2005


Hi,
I'm new to this mailing list, I hope this is the right place to ask my 
question about kfm/konqueror :)

So, now I explain my problem :)
I changed the profile files in ~/.kde/share/apps/konqueror/profiles in order 
to use a different .rc file foreach profile. So I could use different 
toolbars, and prevent a bug that isn't yet resolved (when enabled in 
webbrowsing, the bookmarks toolbar appears in filemanagement too when 
clicking on the "Detailed List View" button). For example: in webbrowsing now 
I haven't the mail toolbar, and the few buttons I use (Go, Forward, Stop, 
Refresh...) are in the Location Toolbar; while in filemanagement I have a 
full Main Toolbar and a little Location Toolbar.

And now the real problem :) 
Using different .rc files (that is a feature already in use for the 
"simple-browser" profile) creates big problems with preloading. If I enable 
preloading in the Control Center, strange things start to happen. I find the 
Toolbars prepared for filemanagement in the webbrowsing profile, and if I 
close for last webbrowsing, in filemanagement I get its Toolbars. It seems 
that profile files (that in konqueror/profiles/ directory) are read, but the 
last line (regarding the XMLUIFile) isn't read anymore. kfmclient load the 
last .rc file it found into memory, I browsing the code I can't find where 
that problem is.
It's only related to kfmclient because if I use konqueror --profile 
webbrowsing or --profile filemanagement, .rc files are loaded correctly (but 
I obviously lost the speedup in starting time).
I browsed the code in kdebase/konqueror/client (the svn version, branche 3.5) 
and found that kfm prefers always preloaded instances. I think that isn't a 
good solution (in fact, disabling that I don't get the problem anymore, but I 
feel some increase in time to load konqueror). Maybe some better control has 
to be done in the preloading code, if I'm right that's related with kded.

For completeness, that's the code in konqueror/client/kfmclient.cc:

static QCString konqyToReuse( const QString& url, const QString& mimetype, 
const QString& profile )
{ // prefer(?) preloaded ones
    QCString ret = getPreloadedKonqy();
    if( !ret.isEmpty())
        return ret;

and:

static QCString getPreloadedKonqy()
{
...
    DCOPRef ref( "kded", "konqy_preloader" );
    QCString ret;
    if( ref.callExt( "getPreloadedKonqy", DCOPRef::NoEventLoop, 3000, 
currentScreen()).get( ret ))
        return ret;


Excuse me for the message lenght :( ... I hope you will read to the end ;)
Thank you in advance,
Emanuele




More information about the kfm-devel mailing list