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

David Faure faure at kde.org
Sat Jan 31 09:10:02 UTC 2015


On Friday 30 January 2015 16:34:51 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. 

Yes, .desktop files.

Since you're patching Qt anyway for Macports (it seems), you should probably 
change ApplicationsLocation to remove /Applications and only keep 
/opt/local/share/applications in there.

> 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)

Patch looks good, you can commit it.

> 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.

kded watches the same dirs, so that it can launch kbuildsycoca when a .desktop 
file is installed/removed/changed.

kinit and klauncher are mostly separate from that. kinit is the "fork+exec to 
avoid relocations" mechanism (see kinit/README.md), and klauncher is the DBus 
API for it (kinit can't initialize DBus, since that would be inherited after 
forking).

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5



More information about the kde-mac mailing list