GAppInfo: Clarify that GAppInfo launch methods can spawn multiple instances

...of the application if many URI's are provided. This is important to note
because the GAppLaunchContext signals may be emitted multiple times during
a single launch operation.
This commit is contained in:
Luca Bacci 2022-07-21 16:36:43 +02:00
parent 42a76e1631
commit 361b4a8fc9

View File

@ -651,7 +651,9 @@ g_app_info_supports_files (GAppInfo *appinfo)
* Launches the application. This passes the @uris to the launched application
* as arguments, using the optional @context to get information
* about the details of the launcher (like what screen it is on).
* On error, @error will be set accordingly.
* On error, @error will be set accordingly. If the application only supports
* one URI per invocation as part of their command-line, multiple instances
* of the application will be spawned.
*
* To launch the application without arguments pass a %NULL @uris list.
*
@ -1379,6 +1381,10 @@ g_app_launch_context_class_init (GAppLaunchContextClass *klass)
* fails. The startup notification id is provided, so that the launcher
* can cancel the startup notification.
*
* Because a launch operation may involve spawning multiple instances of the
* target application, you should expect this signal to be emitted multiple
* times, one for each spawned instance.
*
* Since: 2.36
*/
signals[LAUNCH_FAILED] = g_signal_new (I_("launch-failed"),
@ -1409,6 +1415,10 @@ g_app_launch_context_class_init (GAppLaunchContextClass *klass)
* It is guaranteed that this signal is followed by either a #GAppLaunchContext::launched or
* #GAppLaunchContext::launch-failed signal.
*
* Because a launch operation may involve spawning multiple instances of the
* target application, you should expect this signal to be emitted multiple
* times, one for each spawned instance.
*
* Since: 2.72
*/
signals[LAUNCH_STARTED] = g_signal_new (I_("launch-started"),
@ -1430,7 +1440,13 @@ g_app_launch_context_class_init (GAppLaunchContextClass *klass)
* @platform_data: additional platform-specific data for this launch
*
* The #GAppLaunchContext::launched signal is emitted when a #GAppInfo is successfully
* launched. The @platform_data is an GVariant dictionary mapping
* launched.
*
* Because a launch operation may involve spawning multiple instances of the
* target application, you should expect this signal to be emitted multiple
* times, one time for each spawned instance.
*
* The @platform_data is an GVariant dictionary mapping
* strings to variants (ie `a{sv}`), which contains additional,
* platform-specific data about this launch. On UNIX, at least the
* `pid` and `startup-notification-id` keys will be present.