KDE Applications/Cross Platform Issues: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 6: Line 6:


Installing and running non-native daemons and services is often difficult on other platforms and may require elevated privileges. Applications should avoid directly accessing such daemons and instead use shared abstraction APIs.
Installing and running non-native daemons and services is often difficult on other platforms and may require elevated privileges. Applications should avoid directly accessing such daemons and instead use shared abstraction APIs.
==KIO==
Should not be installed or relied upon on non-Linux platforms.


==Icon Sets==
==Icon Sets==
Line 31: Line 35:
==Icons on buttons==
==Icons on buttons==


We should respect the native platform preference here automatically.
We should automatically default to the native platform preference.

Revision as of 18:35, 7 July 2014

This page summarises issues with running KDE applications on non-Linux platforms and proposed solutions.

On Linux we have package mangers to install many extras that applications require, or have daemons running to provide services. We cannot rely on these existing on other platforms

DBUS, Systemd and Other Daemons

Installing and running non-native daemons and services is often difficult on other platforms and may require elevated privileges. Applications should avoid directly accessing such daemons and instead use shared abstraction APIs.

KIO

Should not be installed or relied upon on non-Linux platforms.

Icon Sets

The full FDO standard icon themes are far to large to ship with every download, especially Oxygen. Apps may need to reduce the icons included in their packages to just those icons they need. A common tool is probably needed to determine this.

Translation Files

Translation files are normally installed via the package manager. On other platforms they must either all be included in the initial install (unnecessary bloat), be available as an extra installer download (not very user friendly), downloaded dynamically by the installer, or made available via GHNS.

Spelling Dictionaries

Spelling dictionaries face the same issues and potential solutions as Translations, but are less commonly used.

System Settings

A number of shared libraries and services may need configuring by the user. On Plasma we have System Settings to access the required KCMs, but this is not recommended for other desktops and platforms. Any extra KCMs needed by an application must be included in their own config dialog or made accessible via a separate menu item. This should be a run-time determination based on whether the app is running under Plasma or not. A common way for doing this should be determined.

Update Notification

We need at minimum a mechanism to notify Apps on non-Linux platforms that an update is available for download. Some platforms may offer a native option for updates depending on how the apps were distributed in the first place. An advanced option may be to have a KDE updater, like Apple, Adobe and Google have for Windows.

TODO: Investigate what options Qt offers.

Icons on buttons

We should automatically default to the native platform preference.