pub trait AppLaunchContextExt: IsA<AppLaunchContext> + 'static {
// Provided methods
fn display(
&self,
info: &impl IsA<AppInfo>,
files: &[File],
) -> Option<GString> { ... }
fn environment(&self) -> Vec<OsString> { ... }
fn startup_notify_id(
&self,
info: Option<&impl IsA<AppInfo>>,
files: &[File],
) -> Option<GString> { ... }
fn launch_failed(&self, startup_notify_id: &str) { ... }
fn setenv(&self, variable: impl AsRef<OsStr>, value: impl AsRef<OsStr>) { ... }
fn unsetenv(&self, variable: impl AsRef<OsStr>) { ... }
fn connect_launch_failed<F: Fn(&Self, &str) + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn connect_launch_started<F: Fn(&Self, &AppInfo, Option<&Variant>) + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn connect_launched<F: Fn(&Self, &AppInfo, &Variant) + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
}
Expand description
Provided Methods§
Sourcefn environment(&self) -> Vec<OsString>
fn environment(&self) -> Vec<OsString>
Gets the complete environment variable list to be passed to
the child process when @self is used to launch an application.
This is a NULL
-terminated array of strings, where each string has
the form KEY=VALUE
.
§Returns
the child’s environment
Sourcefn startup_notify_id(
&self,
info: Option<&impl IsA<AppInfo>>,
files: &[File],
) -> Option<GString>
fn startup_notify_id( &self, info: Option<&impl IsA<AppInfo>>, files: &[File], ) -> Option<GString>
Initiates startup notification for the application and returns the
XDG_ACTIVATION_TOKEN
or DESKTOP_STARTUP_ID
for 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 @info and @files can be NULL
. If that’s not supported by the backend,
the returned token will be NULL
.
§info
the app info
§files
a list of File
objects
§Returns
a startup notification ID for the application, or NULL
if
not supported.
Sourcefn launch_failed(&self, startup_notify_id: &str)
fn launch_failed(&self, startup_notify_id: &str)
Called when an application has failed to launch, so that it can cancel
the application startup notification started in
startup_notify_id()
.
§startup_notify_id
the startup notification id that was returned by
startup_notify_id()
.
Sourcefn unsetenv(&self, variable: impl AsRef<OsStr>)
fn unsetenv(&self, variable: impl AsRef<OsStr>)
Arranges for @variable to be unset in the child’s environment when @self is used to launch an application.
§variable
the environment variable to remove
Sourcefn connect_launch_failed<F: Fn(&Self, &str) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_launch_failed<F: Fn(&Self, &str) + 'static>( &self, f: F, ) -> SignalHandlerId
The launch-failed
signal is emitted when a
AppInfo
launch 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.
§startup_notify_id
the startup notification id for the failed launch
Sourcefn connect_launch_started<F: Fn(&Self, &AppInfo, Option<&Variant>) + 'static>(
&self,
f: F,
) -> SignalHandlerId
Available on crate feature v2_72
only.
fn connect_launch_started<F: Fn(&Self, &AppInfo, Option<&Variant>) + 'static>( &self, f: F, ) -> SignalHandlerId
v2_72
only.The launch-started
signal is emitted when a
AppInfo
is about to be launched. If non-null 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 startup-notification-id
keys will be
present.
The value of the startup-notification-id
key (type s
) 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
launched
or
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.
§info
the AppInfo
that is about to be launched
§platform_data
additional platform-specific data for this launch
Sourcefn connect_launched<F: Fn(&Self, &AppInfo, &Variant) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_launched<F: Fn(&Self, &AppInfo, &Variant) + 'static>( &self, f: F, ) -> SignalHandlerId
The launched
signal is emitted when a
AppInfo
is 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_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.
Since 2.72 the pid
may be 0 if the process id wasn’t known (for
example if the process was launched via D-Bus). The pid
may not be
set at all in subsequent releases.
On Windows, pid
is guaranteed to be valid only for the duration of the
launched
signal emission; after the signal
is emitted, GLib will call spawn_close_pid()
. If you need to
keep the alias::GLib.Pid
after the signal has been emitted, then you can
duplicate pid
using DuplicateHandle()
.
§info
the AppInfo
that was just launched
§platform_data
additional platform-specific data for this launch
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.