struct Gio::AppLaunchContext::LaunchedSignal

Overview

The #GAppLaunchContext::launched signal is emitted when a #GAppInfo 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 #GAppLaunchContext::launched signal emission; after the signal is emitted, GLib will call g_spawn_close_pid(). If you need to keep the #GPid after the signal has been emitted, then you can duplicate pid using DuplicateHandle().

Defined in:

lib/gi-crystal/src/auto/gio-2.0/app_launch_context.cr

Instance Method Summary

Instance methods inherited from struct GObject::Signal

[](detail : String) : self [], name : String name

Constructor methods inherited from struct GObject::Signal

new(source : GObject::Object, detail : String? = nil) new

Instance Method Detail

def connect(*, after : Bool = false, &block : Proc(Gio::AppInfo, GLib::Variant, Nil)) : GObject::SignalConnection #

def connect(handler : Proc(Gio::AppInfo, GLib::Variant, Nil), *, after : Bool = false) : GObject::SignalConnection #

def connect(handler : Proc(Gio::AppLaunchContext, Gio::AppInfo, GLib::Variant, Nil), *, after : Bool = false) : GObject::SignalConnection #

def emit(info : Gio::AppInfo, platform_data : _) : Nil #

def name : String #
Description copied from struct GObject::Signal

The signal name