Application launching: GDK 3 Reference Manual

## Application launching Application launching — Startup notification for applications |

## Functions

GdkAppLaunchContext * | gdk_app_launch_context_new ()
void | gdk_app_launch_context_set_display ()
void | gdk_app_launch_context_set_screen ()
void | gdk_app_launch_context_set_desktop ()
void | gdk_app_launch_context_set_timestamp ()
void | gdk_app_launch_context_set_icon ()
void | gdk_app_launch_context_set_icon_name ()

## Properties

GdkDisplay * | display | Read / Write / Construct Only

## Types and Values

| GdkAppLaunchContext

## Object Hierarchy

        GObject
        ╰── GAppLaunchContext
            ╰── GdkAppLaunchContext

## Includes

    #include <gdk/gdkwayland.h>

## Description

GdkAppLaunchContext is an implementation of GAppLaunchContext that handles launching an application in a graphical context. It provides startup notification and allows to launch applications on a specific screen or workspace.

#### Launching an application

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    GdkAppLaunchContext *context;

    context = gdk_display_get_app_launch_context (display);

    gdk_app_launch_context_set_screen (screen);
    gdk_app_launch_context_set_timestamp (event->time);

    if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error))
      g_warning ("Launching failed: %s\n", error->message);

    g_object_unref (context);

## Functions

### gdk_app_launch_context_new ()

    GdkAppLaunchContext *
    gdk_app_launch_context_new (void);

`gdk_app_launch_context_new` has been deprecated since version 3.0 and should not be used in newly-written code.

Use `gdk_display_get_app_launch_context()` instead

Creates a new GdkAppLaunchContext.

#### Returns

a new GdkAppLaunchContext

Since: 2.14

### gdk_app_launch_context_set_display ()

    void
    gdk_app_launch_context_set_display (GdkAppLaunchContext *context,
                                        GdkDisplay *display);

`gdk_app_launch_context_set_display` has been deprecated since version 3.0 and should not be used in newly-written code.

Use `gdk_display_get_app_launch_context()` instead

Sets the display on which applications will be launched when using this context. See also `gdk_app_launch_context_set_screen()`.

#### Parameters

context | a GdkAppLaunchContext |
display | a GdkDisplay |

Since: 2.14

### gdk_app_launch_context_set_screen ()

    void
    gdk_app_launch_context_set_screen (GdkAppLaunchContext *context,
                                       GdkScreen *screen);

Sets the screen on which applications will be launched when using this context. See also `gdk_app_launch_context_set_display()`.

If both `screen` and `display` are set, the `screen` takes priority. If neither `screen` or `display` are set, the default screen and display are used.

#### Parameters

context | a GdkAppLaunchContext |
screen | a GdkScreen |

Since: 2.14

### gdk_app_launch_context_set_desktop ()

    void
    gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context,
                                        gint desktop);

Sets the workspace on which applications will be launched when using this context when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints.

When the workspace is not specified or `desktop` is set to -1, it is up to the window manager to pick one, typically it will be the current workspace.

#### Parameters

context | a GdkAppLaunchContext |
desktop | the number of a workspace, or -1 |

Since: 2.14

### gdk_app_launch_context_set_timestamp ()

    void
    gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context,
                                          guint32 timestamp);

Sets the timestamp of `context` . The timestamp should ideally be taken from the event that triggered the launch.

Window managers can use this information to avoid moving the focus to the newly launched application when the user is busy typing in another window. This is also known as 'focus stealing prevention'.

#### Parameters

context | a GdkAppLaunchContext |
timestamp | a timestamp |

Since: 2.14

### gdk_app_launch_context_set_icon ()

    void
    gdk_app_launch_context_set_icon (GdkAppLaunchContext *context,
                                     GIcon *icon);

Sets the icon for applications that are launched with this context.

Window Managers can use this information when displaying startup notification.

See also `gdk_app_launch_context_set_icon_name()`.

#### Parameters

context | a GdkAppLaunchContext |
icon | a GIcon, or `NULL`. | [allow-none]

Since: 2.14

### gdk_app_launch_context_set_icon_name ()

    void
    gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context,
                                          const char *icon_name);

Sets the icon for applications that are launched with this context. The `icon_name` will be interpreted in the same way as the Icon field in desktop files. See also `gdk_app_launch_context_set_icon()`.

If both `icon` and `icon_name` are set, the `icon_name` takes priority. If neither `icon` or `icon_name` is set, the icon is taken from either the file that is passed to launched application or from the GAppInfo for the launched application itself.

#### Parameters

context | a GdkAppLaunchContext |
icon_name | an icon name, or `NULL`. | [allow-none]

Since: 2.14

## Types and Values

### GdkAppLaunchContext

    typedef struct _GdkAppLaunchContext GdkAppLaunchContext;

## Property Details

### The `“display”` property

      “display”                  GdkDisplay *

Display.

Flags: Read / Write / Construct Only