[KDE/Mac] Cross-platform with kdeinit5, klauncher5, kded5 and friends

Ian Wadham iandw.au at gmail.com
Sat Jan 31 02:04:26 UTC 2015

Hi Jeremy,

Great work!

On 31/01/2015, at 10:34 AM, Jeremy Whiting wrote:
> Ok, I took a deep look inside kbuildsycoca5 today. I ran Instruments on it and found as Marko already pointed out most of the time spent in there is delving deep into /Applications subfolders. I'm not sure exactly what it's looking for, mostly .desktop files from what I saw, but it's not finding any. Traversing the whole tree is time consuming though, and we know it's not likely to find .desktop files inside any .app bundles, so I added the attached patch and that sped up both kbuildsycoca5 itself (running from the terminal manually) as well as makes kded5 responsive from what I can tell. I also ran kmahjongg and was able to save a game, though I got a warning about being unable to launch klauncher. I believe that's because it's .service file that dbus uses to launch it is not pointing at the executable. I'll look into that issue tomorrow.

As far as I can tell, Apple OS X does not use the main *.desktop files when launching
applications (I mean files like ksudoku.desktop).  There are also *.desktop files used,
for example, by games to record details of graphics themes.  But the ones that really
matter, from the point of view of not breaking KDE4/KF5 applications, are those used
to locate plugins, KParts and services (I hope I have used the right terms).  When KBS
finds those *.desktop files, the apps that use them are no longer broken on Apple OS X.

> Anyway, if you want to test this patch I'll post it on reviewboard once someone else has confirmed it improves kbuildsycoca5 slowness. This brings us one step closer imo.
> David,
> Could you point me at some documentation or explain to me a bit what the difference between kinit, kded, kbuildsycoca and klauncher is? I know kbuildsycoca checks for system configurations and caches them, like contents of .desktop files and such, but I'm not sure where the others fit in or what they are for exactly.
> thanks,
> Jeremy
> P.S. uncommenting the qDebug in there is just for testing, when I push this to reviewboard I'll remove that change.

We are going to need lots more qDebugs and even a few "fprintf(stderr," lines
to get to the bottom of what kded5, klauncher5 and kded5 are executing when
they go wrong on Apple OS X…

Cheers, Ian W.

More information about the kde-mac mailing list