[Development] QFreedesktopApplication

Liang Qi Liang.Qi at qt.io
Mon Apr 25 14:55:11 CEST 2022

About the gapplication, I assume it's sth about "man gapplication", see also http://manpages.ubuntu.com/manpages/impish/man1/gapplication.1.html .


       gapplication help [COMMAND]

       gapplication version

       gapplication list-apps

       gapplication launch APPID

       gapplication launch APPID [FILE...]

       gapplication list-actions APPID

       gapplication action APPID ACTION [PARAMETER]


       gapplication is a commandline implementation of the client-side of the org.freedesktop.Application interface as specified by the freedesktop.org Desktop Entry Specification.

       gapplication can be used to start applications that have DBusActivatable set to true in their .desktop files and can be used to send messages to already-running instances of
       other applications.

       It is possible for applications to refer to gapplication in the Exec line of their .desktop file to maintain backwards compatibility with implementations that do not directly
       support DBusActivatable.

       gapplication ships as part of GLib.

If it is correct, you are talking to support it in Qt side.

And in your change, https://codereview.qt-project.org/c/qt/qtbase/+/407263 , it is about to expose those functions from gio/gapplication.h into Qt.

As a Qt client app, it should support those features via DBus, perhaps QtDBus can't satisfy this request, which you have mentioned https://bugreports.qt.io/browse/QTBUG-63884 . Perhaps you could leave a comment there to explain your use case for it.

That's my understanding for today.

I agree with Thiago in his reply. And about KDE, found sth like https://invent.kde.org/frameworks/kglobalaccel/-/merge_requests/11 , "Use DBus activation for applications that are dbus activatable", perhaps related with this topic.

See also:

* https://specifications.freedesktop.org/desktop-entry-spec/1.1/index.html Desktop Entry Specification
* https://specifications.freedesktop.org/desktop-entry-spec/1.1/ar01s07.html D-Bus Activation
* https://github.com/GNOME/glib/blob/main/gio/gapplication.h
* https://docs.gtk.org/gio/class.Application.html

Best regards,

From: Development <development-bounces at qt-project.org> on behalf of Ilya Fedin <fedin-ilja2010 at ya.ru>
Sent: Monday, April 25, 2022 12:16 PM
To: development at qt-project.org <development at qt-project.org>
Subject: Re: [Development] QFreedesktopApplication

On Sun, 24 Apr 2022 20:01:10 -0700
Thiago Macieira <thiago.macieira at intel.com> wrote:

> Then this should be implemented regardless of whether glib is used.
> We also need to know whether the KDE equivalent is being used and
> avoid confusing the launcher by emitting twice.

As I said, it's opt-in...

> I don't agree with the value.
> Implement it directly with Qt resources.

The reason I implemented that is I don't have enough time/motivation
to implement all the four or even three specs by hand. I just need a
way to interate existing library with Qt...

Also, personally I stopped using QtDBus in my projects due to
QTBUG-63884 and the fact it's unmaintained for 6 years.
Development mailing list
Development at qt-project.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20220425/7100b465/attachment.htm>

More information about the Development mailing list