Login
Newsletter
Werbung

Do, 19. Januar 2017, 10:55

Software::Desktop::KDE

Flatpak Portals für KDE

Das Paketformat Flatpak wird zwar eher mit GNOME assoziiert, aber auch bei KDE macht die Integration Fortschritte.

kde.org

Red Hat Entwickler Jan Grulich ist bei Fedora und RHEL für KDE zuständig und kümmert sich in dieser Eigenschaft auch um die Integration des noch jungen Paketformats Flatpak bei KDE. Eine von dessen hervorragenden Eigenschaften ist die Abschottung der Apps in Sandboxen. Um den gegeneinander und gegen das System abgesicherten Anwendungen trotzdem eine Kommunikation nach außen zu erlauben, haben die Flatpak-Macher Portals erdacht.

Portals sind Session-Bus-APIs, die Anwendungen in Flatpaks punktuell und dialoggesteuert Zugriff auf externe Ressourcen gestatten. Über das generische Frontend xdg-desktop-portal läuft der Kontakt zu den spezifischen Anwenderschnittstellen der jeweiligen Desktop-Umgebung.

Laut Grulich ist die Implementierung von xdg-desktop-portal-kde als Backend der einfachere Teil gewesen, schwieriger gestaltete sich das Umbiegen des Frameworks der Anwendung in der Sandbox, mit der diese normalerweise zum Beispiel Dialoge zum Öffnen einer Datei anzeigt, da diese mit Portals den Umweg über DBus nehmen, anstatt direkt angezeigt zu werden.

Grulich hat im letzten halben Jahr mehrere Klassen als Portale umgesetzt, darunter die oft verwendeten FileChooser und AppChooser, die Dialoge zur Auswahl von Dateien und Apps zur Verfügung stellen, sowie ein Print-Portal.

Das wohl am häufigsten benötigte Portal ist das zum Öffnen und Speichern von Dateien. Hauptziel ist hier, wie auch bei den anderen Klassen, dass der Anwender möglichst keinen Unterschied zum gewohnten Verhalten der herkömmlich installierten Anwendungen bemerkt und möglichst viele Optionen des gewohnten Dateidialogs zur Verfügung hat. Ähnlich verhält es sich beim App-Chooser-Portal, das es Anwendungen in der Sandbox erlaubt, andere Apps zum Öffnen von Dateien oder Dokumenten zu verwenden.

Das Benachrichtigungs-Portal benötigte Änderungen am KNotifikations-Framwork, ist aber mittlerweile voll implementiert. Als kompliziert erwies sich das Print-Portal, das Anwendungen erlaubt, aus der Isolation heraus zu drucken. Hier fehlt noch ein Weg mit Qt-Backend und Qt-App, ohne dass Grulich hierzu Änderungen an Qt selbst vornehmen muss.

Flatpak bietet noch weitere Portals wie etwa eines für Screenshots, die aber noch nicht implementiert sind. Für die bereits funktionstüchtigen Portals bietet Grulich eine Testanwendung an. Das KDE-Wiki informiert über Flatpak bei KDE. Auf der diesjährigen Entwicklerkonferenz FOSDEM wird es im Februar einen Vortrag von Aleix Pol zum Thema Snaps und Flatpak bei KDE geben.

Werbung
Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung