Class AppLaunchContext

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class AppLaunchContext extends AppLaunchContext

Handles launching an application in a graphical context.

It is an implementation of GAppLaunchContext that provides startup notification and allows to launch applications on a specific workspace.

Launching an application

GdkAppLaunchContext *context;

context = gdk_display_get_app_launch_context (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);
  • Constructor Details

    • AppLaunchContext

      public AppLaunchContext(MemorySegment address)
      Create a AppLaunchContext instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • AppLaunchContext

      public AppLaunchContext()
      Create a new AppLaunchContext.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the AppLaunchContext class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected AppLaunchContext asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class AppLaunchContext
      Returns:
      the instance as if it were its parent type
    • getDisplay

      public Display getDisplay()
      Gets the GdkDisplay that this AppLaunchContext is for.
      Returns:
      the display of this AppLaunchContext
    • setDesktop

      public void setDesktop(int desktop)

      Sets the workspace on which applications will be launched.

      This only works when running under a window manager that supports multiple workspaces, as described in the Extended Window Manager Hints. Specifically this sets the _NET_WM_DESKTOP property described in that spec.

      This only works when using the X11 backend.

      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:
      desktop - the number of a workspace, or -1
    • setIcon

      public void setIcon(@Nullable Icon icon)

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

      Window Managers can use this information when displaying startup notification.

      See also setIconName(String).

      Parameters:
      icon - a GIcon
    • setIconName

      public void setIconName(@Nullable String iconName)

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

      The iconName will be interpreted in the same way as the Icon field in desktop files. See also setIcon(Icon).

      If both icon and iconName are set, the iconName takes priority. If neither icon or iconName 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:
      iconName - an icon name
    • setTimestamp

      public void setTimestamp(int 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:
      timestamp - a timestamp
    • builder

      public static AppLaunchContext.Builder<? extends AppLaunchContext.Builder> builder()
      A AppLaunchContext.Builder object constructs a AppLaunchContext with the specified properties. Use the various set...() methods to set properties, and finish construction with AppLaunchContext.Builder.build().
      Returns:
      the builder object