Bug 451510 - Support the new Dynamic Launcher portal
Summary: Support the new Dynamic Launcher portal
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Harald Sitter
Depends on:
Reported: 2022-03-14 22:26 UTC by Georges Stavracas
Modified: 2022-04-22 13:25 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.25


Note You need to log in before you can comment on or make changes to this bug.
Description Georges Stavracas 2022-03-14 22:26:08 UTC
A new portal was recently merged, the Dynamic Launcher portal [1], which enables creating PWAs and launchers in general. This is useful for browsers (e.g. Chromium [which still needs to be adapted to use this portal, mind you], Epiphany, etc). App stores like GNOME Software and Discover can use this portal to display and manage PWAs as if they are native apps as well.

In addition to PWAs, the portal is designed in such a way to enable general desktop files to be installed and managed. This could be useful, for example, for Steam and Wine.

[1] https://github.com/flatpak/xdg-desktop-portal/pull/696
Comment 1 Harald Sitter 2022-04-07 11:07:21 UTC
Is there a test app somewhere?
Comment 2 Nate Graham 2022-04-08 14:50:52 UTC
In terms of UI, I think the existing UI that Epiphany offers is pretty good: https://gitlab.gnome.org/Teams/Design/os-mockups/uploads/a6378d68610b96d8d4b881a8000db240/epiphany-install-app-dialog.png

Of course we would need to KDE-ify it a bit, but that's simple enough.

One nice thing we could add would be a little bit of text saying, "In the future, you can edit or delete this launcher using the Menu Editor app." so people know know how to do those things. KMenuEdit was only just recently made visible in Kickoff so I think it's likely a lot of users aren't very familiar with it.
Comment 3 Harald Sitter 2022-04-22 09:36:30 UTC
Git commit d5f958e149705e27bbba9f3bbec659ff5bed1d80 by Harald Sitter.
Committed on 22/04/2022 at 09:29.
Pushed by sitter into branch 'master'.

add DynamicLauncher portal

this portal enables sandboxed applications to create desktop entries on
the host

M  +1    -0    CMakeLists.txt
M  +1    -1    data/kde.portal
M  +3    -0    src/CMakeLists.txt
A  +107  -0    src/DynamicLauncherDialog.qml     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
M  +3    -0    src/desktopportal.cpp
M  +3    -0    src/desktopportal.h
A  +162  -0    src/dynamiclauncher.cpp     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +34   -0    src/dynamiclauncher.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +24   -0    src/dynamiclauncherdialog.cpp     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +23   -0    src/dynamiclauncherdialog.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
M  +1    -0    src/resources.qrc