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

David Faure faure at kde.org
Sun Feb 1 14:20:28 UTC 2015


On Saturday 31 January 2015 19:28:21 Jeremy Whiting wrote:
>  Another question that
> might help clarify this, do Gnome/Unity, other linux desktop environments
> use the cache kbuildsycoca creates when building their menus or is it
> strictly used by plasma (or rather kickoff/kicker which is part of plasma)
> itself?

Neither statement is correct.

Gnome doesn't use ksycoca.
Plasma menus use ksycoca.
BUT also any KF5-based app needs ksycoca, so that e.g. when you click on a 
link to an image in, say, kmail, it knows how to find an image viewer and 
start it.

kbuildsycoca generates ksycoca which is used by any app that needs to look up 
"which application can handle this mimetype" as well as "which 
part/component/plugin can provide this type of service (and handle this 
mimetype)".

The latter is slowly migrating to a json-based plugin discovery in KF5, but 
for now many things still work like in kdelibs4, with desktop files describing 
parts/components/plugins, therefore ksycoca is needed.

I have long term plans to be able to do the application-lookup stuff without 
ksycoca, but these plans are progressing very slowly (one freedesktop meeting 
per year...).

> Are they required for kparts to work, or for KService/KServiceTypeTrader to
> work? 

The above answers this, for they == kbuildsycoca+kded.
The part of "they" which points to kdeinit+klauncher is mostly unrelated. They 
are not needed for looking up stuff. They are optionally used for starting up 
stuff (at least a bit more "optionally" than in kdelibs4). They are however 
needed to start kioslaves - because of the feature to be able to put a slave 
on hold (after finding out the mimetype) and give it to another app.
Can happen in the kmail->browser example, to avoid posting something twice.

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



More information about the kde-mac mailing list