Application launching

Application launching — Startup notification for applications

Properties

GdkDisplay * display Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── GAppLaunchContext
        ╰── GdkAppLaunchContext

Includes

#include <gdk/gdk.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_display (display);
gdk_app_launch_context_set_timestamp (gdk_event_get_time (event));

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_get_display ()

GdkDisplay *
gdk_app_launch_context_get_display (GdkAppLaunchContext *context);

Gets the GdkDisplay that context is for.

Parameters

context

a GdkAppLaunchContext

 

Returns

the display of context .

[transfer none]


gdk_app_launch_context_set_desktop ()

void
gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context,
                                    int 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

 

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

 

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]

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]

Types and Values

GdkAppLaunchContext

typedef struct _GdkAppLaunchContext GdkAppLaunchContext;

The GdkAppLaunchContext struct contains only private fields and should not be accessed directly.

Property Details

The “display” property

  “display”                  GdkDisplay *

Display.

Owner: GdkAppLaunchContext

Flags: Read / Write / Construct Only