AppLaunchContext#
Superclasses: Object
Integrating the launch with the launching application. This is used to handle for instance startup notification and launching the new application on the same screen as the launching window.
Constructors#
- class AppLaunchContext
- classmethod new() AppLaunchContext#
Creates a new application launch context. This is not normally used, instead you instantiate a subclass of this, such as
`GdkAppLaunchContext<https://docs.gtk.org/gdk4/class.AppLaunchContext.html>`__.
Methods#
- class AppLaunchContext
-
- do_get_startup_notify_id(self, info: AppInfo | None = None, files: list[File] | None = None) str | None#
- Parameters:
info
files
- get_display(info: AppInfo, files: list[File]) str | None#
Gets the display string for the
context. This is used to ensure new applications are started on the same display as the launching application, by setting theDISPLAYenvironment variable.- Parameters:
info – the app info
files – a list of
Fileobjects
- get_environment() list[str]#
Gets the complete environment variable list to be passed to the child process when
contextis used to launch an application. This is aNULL-terminated array of strings, where each string has the formKEY=VALUE.Added in version 2.32.
- get_startup_notify_id(info: AppInfo | None = None, files: list[File] | None = None) str | None#
Initiates startup notification for the application and returns the
XDG_ACTIVATION_TOKENorDESKTOP_STARTUP_IDfor the launched operation, if supported.The returned token may be referred to equivalently as an ‘activation token’ (using Wayland terminology) or a ‘startup sequence ID’ (using X11 terminology). The two are interoperable.
Activation tokens are defined in the XDG Activation Protocol, and startup notification IDs are defined in the freedesktop.org Startup Notification Protocol.
Support for the XDG Activation Protocol was added in GLib 2.76. Since GLib 2.82
infoandfilescan beNULL. If that’s not supported by the backend, the returned token will beNULL.- Parameters:
info – the app info
files – a list of
Fileobjects
- launch_failed(startup_notify_id: str) None#
Called when an application has failed to launch, so that it can cancel the application startup notification started in
get_startup_notify_id.- Parameters:
startup_notify_id – the startup notification id that was returned by
get_startup_notify_id.
Signals#
- class AppLaunchContext.signals
- launch_failed(startup_notify_id: str) None#
The
launch_failedsignal is emitted when aAppInfolaunch 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.
Added in version 2.36.
- Parameters:
startup_notify_id – the startup notification id for the failed launch
- launch_started(info: AppInfo, platform_data: Variant | None = None) None#
The
launch_startedsignal is emitted when aAppInfois about to be launched. If non-null theplatform_datais an GVariant dictionary mapping strings to variants (iea{sv}), which contains additional, platform-specific data about this launch. On UNIX, at least thestartup-notification-idkeys will be present.The value of the
startup-notification-idkey (types) is a startup notification ID corresponding to the format from the startup-notification specification. It allows tracking the progress of the launchee through startup.It is guaranteed that this signal is followed by either a
launchedorlaunch_failedsignal.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.
Added in version 2.72.
- Parameters:
info – the
AppInfothat is about to be launchedplatform_data – additional platform-specific data for this launch
- launched(info: AppInfo, platform_data: Variant) None#
The
launchedsignal is emitted when aAppInfois successfully 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_datais an GVariant dictionary mapping strings to variants (iea{sv}), which contains additional, platform-specific data about this launch. On UNIX, at least thepidandstartup-notification-idkeys will be present.Since 2.72 the
pidmay be 0 if the process id wasn’t known (for example if the process was launched via D-Bus). Thepidmay not be set at all in subsequent releases.On Windows,
pidis guaranteed to be valid only for the duration of thelaunchedsignal emission; after the signal is emitted, GLib will callspawn_close_pid. If you need to keep the [alias``GLib``.Pid] after the signal has been emitted, then you can duplicatepidusingDuplicateHandle().Added in version 2.36.
- Parameters:
info – the
AppInfothat was just launchedplatform_data – additional platform-specific data for this launch
Virtual Methods#
- class AppLaunchContext
- do_get_display(info: AppInfo, files: list[File]) str | None#
Gets the display string for the
context. This is used to ensure new applications are started on the same display as the launching application, by setting theDISPLAYenvironment variable.- Parameters:
info – the app info
files – a list of
Fileobjects
- do_get_startup_notify_id(info: AppInfo | None = None, files: list[File] | None = None) str | None#
Initiates startup notification for the application and returns the
XDG_ACTIVATION_TOKENorDESKTOP_STARTUP_IDfor the launched operation, if supported.The returned token may be referred to equivalently as an ‘activation token’ (using Wayland terminology) or a ‘startup sequence ID’ (using X11 terminology). The two are interoperable.
Activation tokens are defined in the XDG Activation Protocol, and startup notification IDs are defined in the freedesktop.org Startup Notification Protocol.
Support for the XDG Activation Protocol was added in GLib 2.76. Since GLib 2.82
infoandfilescan beNULL. If that’s not supported by the backend, the returned token will beNULL.- Parameters:
info – the app info
files – a list of
Fileobjects
- do_launch_failed(startup_notify_id: str) None#
Called when an application has failed to launch, so that it can cancel the application startup notification started in
get_startup_notify_id.- Parameters:
startup_notify_id – the startup notification id that was returned by
get_startup_notify_id.