[KDE/Mac] Multiplatform frameworks
Ian Wadham
iandw.au at gmail.com
Mon Mar 2 02:30:56 GMT 2015
Hi Jeremy,
My apologies for going back to basics. Some things you said earlier made me
think we are not on the same page, but I now see that we are.
On 02/03/2015, at 3:15 AM, Jeremy Whiting wrote:
>
> The example code you've given does already use prefixes. I'll explain below.
>
> On Sat, Feb 28, 2015 at 7:56 PM, Ian Wadham <iandw.au at gmail.com> wrote:
</snip>
> > Note that the code could have said '(QStandardPaths::DataLocation, "arenas", '. So no
> > way for a "kf5" suffix to get in there. Maybe it comes from $XDG_DATA_DIRS (?).
>
> Correct, DataLocation (newly clarified as AppDataLocation) is where the application stores it's own files, so it's Application Support/<appname> In this case granatier (or whatever QApplication::setApplicationName is given in main.cpp.
>
> > Also, there would be several shared data folders in GenericDataLocation, alongside
> > the DataLocation folders for the apps. See [2] for details. These would fit in quite well
> > with standard paths on Apple OS X set to:
> >
> > "~/Library/Application Support/<subdir>", "/Library/Application Support/<subdir>"
> >
> > always supposing we really *want* to be good Apple citizens. They would not look at
> > all good if they were directly under "Application Support/", because they are not apps.
>
> I'm not sure what you mean here, are you referring to kf5 frameworks, kdoctools uses kf5/kdoctools/ prefix beneath this to keep it's data separated from others, Other kf5 frameworks do the same. If they didn't we would have a ton of data in $prefix/share on linux which is also discouraged.
I am talking about regular apps, not Frameworks, but I am glad that Frameworks'
doctools is inserting the "kf5/" subdir.
If I were to build Granatier in KF5/Qt5, using standard QSP paths on OS X, I would
expect to find "/Library/Application Support/granatier/" containing all the data specific
to Granatier (arenas, etc.). But also I expect "/Library/Application Support/kxmlgui5/",
containing "granatierui.rc" (?), and ""/Library/Application Support/applications/" containing
"granatier.desktop" (?). Maybe there would be other subdirs, see [2], depending on
whether Granatier shares other data with other apps or libraries or whether it uses shared
resources such as "/Library/Application Support/icons" (?) (which I assume it does).
If I have understood [2] correctly (BTW there seems to be a misprint under KXMLGUI5DIR),
it seems to me that "kxmlgui5/", "applications/" and "icons/", *whatever* they contain, would
be out-of-place [3] in "/Library/Application Support/" because they are not apps. And even
the application subdirs (granatier, etc.) run the risk of name-clashes with other software
from sources other than KDE. That is why I proposed a special subdir if we go the Apple
and (unaltered) QStandardPaths 5.4 way.
Cheers, Ian W.
> [1] https://projects.kde.org/projects/kde/kdegames/granatier/repository/revisions/master/entry/src/game.cpp
> [2] http://api.kde.org/ecm/kde-module/KDEInstallDirs.html
[3] "Out-of-place" ... "like feathers on a dog"… :-)
More information about the kde-core-devel
mailing list