Gio::AppLaunchContext Class Reference

This is used to handle, for instance, startup notification and launching of the new application on the same screen as the launching window. More...

`#include <giomm/applaunchcontext.h>`

Inheritance diagram for Gio::AppLaunchContext:
[legend]

## Public Member Functions

| AppLaunchContext (AppLaunchContext&& src) noexcept
AppLaunchContext& | operator= (AppLaunchContext&& src) noexcept
| ~AppLaunchContext () noexcept override
GAppLaunchContext* | gobj ()
| Provides access to the underlying C GObject. More...
const GAppLaunchContext* | gobj () const
| Provides access to the underlying C GObject. More...
GAppLaunchContext* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
void | setenv (const Glib::ustring& variable, const Glib::ustring& value)
| Arranges for variable to be set to value in the child's environment when context is used to launch an application. More...
void | unsetenv (const Glib::ustring& variable)
| Arranges for variable to be unset in the child's environment when context is used to launch an application. More...
std::vector< Glib::ustring > | get_environment () const
| Gets the complete environment variable list to be passed to the child process when context is used to launch an application. More...
std::string | get_display (const Glib::RefPtr< AppInfo >& info, const Glib::ListHandle< Glib::RefPtr< Gio::File > >& files)
| Gets the display string for the context. More...
std::string | get_startup_notify_id (const Glib::RefPtr< AppInfo >& info, const Glib::ListHandle< Glib::RefPtr< Gio::File > >& files)
| Initiates startup notification for the application and returns the `DESKTOP_STARTUP_ID` for the launched operation, if supported. More...
void | launch_failed (const std::string& startup_notify_id)
| Called when an application has failed to launch, so that it can cancel the application startup notification started in g_app_launch_context_get_startup_notify_id(). More...
Public Member Functions inherited from Glib::Object
| Object (const Object&)=delete
Object& | operator= (const Object&)=delete
| Object (Object&& src) noexcept
Object& | operator= (Object&& src) noexcept
void* | get_data (const QueryQuark& key)
void | set_data (const Quark& key, void* data)
void | set_data (const Quark& key, void* data, DestroyNotify notify)
void | remove_data (const QueryQuark& quark)
void* | steal_data (const QueryQuark& quark)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase&)=delete
ObjectBase& | operator= (const ObjectBase&)=delete
void | set_property_value (const Glib::ustring& property_name, const Glib::ValueBase& value)
| You probably want to use a specific property_*() accessor method instead. More...
void | get_property_value (const Glib::ustring& property_name, Glib::ValueBase& value) const
| You probably want to use a specific property_*() accessor method instead. More...
template<class PropertyType >
void | set_property (const Glib::ustring& property_name, const PropertyType& value)
| You probably want to use a specific property_*() accessor method instead. More...
template<class PropertyType >
void | get_property (const Glib::ustring& property_name, PropertyType& value) const
| You probably want to use a specific property_*() accessor method instead. More...
void | connect_property_changed (const Glib::ustring& property_name, const sigc::slot< void >& slot)
| You can use the signal_changed() signal of the property proxy instead. More...
void | connect_property_changed (const Glib::ustring& property_name, sigc::slot< void >&& slot)
| You can use the signal_changed() signal of the property proxy instead. More...
sigc::connection | connect_property_changed_with_return (const Glib::ustring& property_name, const sigc::slot< void >& slot)
| You can use the signal_changed() signal of the property proxy instead. More...
sigc::connection | connect_property_changed_with_return (const Glib::ustring& property_name, sigc::slot< void >&& slot)
| You can use the signal_changed() signal of the property proxy instead. More...
void | freeze_notify ()
| Increases the freeze count on object. More...
void | thaw_notify ()
| Reverts the effect of a previous call to freeze_notify(). More...
virtual void | reference () const
| Increment the reference count for this object. More...
virtual void | unreference () const
| Decrement the reference count for this object. More...
GObject* | gobj ()
| Provides access to the underlying C GObject. More...
const GObject* | gobj () const
| Provides access to the underlying C GObject. More...
GObject* | gobj_copy () const
| Give a ref-ed copy to someone. Use for direct struct access. More...
Public Member Functions inherited from sigc::trackable
| trackable () noexcept
| trackable (const trackable &src) noexcept
| trackable (trackable &&src)
| ~trackable ()
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src)
void | remove_destroy_notify_callback (void *data) const

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Glib::RefPtr< AppLaunchContext > | create ()

## Protected Member Functions

| AppLaunchContext ()
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams& construct_params)
| Object (GObject* castitem)
| ~Object () noexcept override
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| This default constructor is called implicitly from the constructor of user-derived classes, even if, for instance, Gtk::Button calls a different ObjectBase constructor. More...
| ObjectBase (const char* custom_type_name)
| A derived constructor always overrides this choice. More...
| ObjectBase (const std::type_info& custom_type_info)
| This constructor is a special feature to allow creation of derived types on the fly, without having to use g_object_new() manually. More...
| ObjectBase (ObjectBase&& src) noexcept
ObjectBase& | operator= (ObjectBase&& src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject* castitem)
void | initialize_move (GObject* castitem, Glib::ObjectBase* previous_wrapper)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gio::AppLaunchContext > | wrap (GAppLaunchContext* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Glib::Object
Glib::RefPtr< Glib::Object > | wrap (GObject* object, bool take_copy=false)

## Additional Inherited Members

Public Types inherited from Glib::Object
using | DestroyNotify = void(*)(gpointer data)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify

## Detailed Description

This is used to handle, for instance, startup notification and launching of the new application on the same screen as the launching window.

See also AppInfo.

Since glibmm 2.16:

## Constructor & Destructor Documentation

Gio::AppLaunchContext::AppLaunchContext | ( | AppLaunchContext&& | src | ) |

noexcept

Gio::AppLaunchContext::~AppLaunchContext | ( |  | ) |

override noexcept

Gio::AppLaunchContext::AppLaunchContext | ( |  | ) |

protected

## Member Function Documentation

static Glib::RefPtr<AppLaunchContext> Gio::AppLaunchContext::create | ( |  | ) |

static

std::string Gio::AppLaunchContext::get_display | ( | const Glib::RefPtr< AppInfo >& | info,
|  | const Glib::ListHandle< Glib::RefPtr< Gio::File > >& | files
| ) |  |

Gets the display string for the context.

This is used to ensure new applications are started on the same display as the launching application, by setting the `DISPLAY` environment variable.

Parameters

  info | A AppInfo.
  files | A List of File objects.

Returns
  A display string for the display.

std::vector<Glib::ustring> Gio::AppLaunchContext::get_environment | ( |  | ) | const

Gets the complete environment variable list to be passed to the child process when context is used to launch an application.

This is a `nullptr`-terminated array of strings, where each string has the form `KEY=VALUE`.

Since glibmm 2.32:

Returns
  The child's environment.

std::string Gio::AppLaunchContext::get_startup_notify_id | ( | const Glib::RefPtr< AppInfo >& | info,
|  | const Glib::ListHandle< Glib::RefPtr< Gio::File > >& | files
| ) |  |

Initiates startup notification for the application and returns the `DESKTOP_STARTUP_ID` for the launched operation, if supported.

Startup notification IDs are defined in the FreeDesktop.Org Startup Notifications standard.

Parameters

  info | A AppInfo.
  files | A List of of File objects.

Returns
  A startup notification ID for the application, or `nullptr` if not supported.

static GType Gio::AppLaunchContext::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GAppLaunchContext* Gio::AppLaunchContext::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GAppLaunchContext* Gio::AppLaunchContext::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

GAppLaunchContext* Gio::AppLaunchContext::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

void Gio::AppLaunchContext::launch_failed | ( | const std::string & | startup_notify_id | ) |

Called when an application has failed to launch, so that it can cancel the application startup notification started in g_app_launch_context_get_startup_notify_id().

Parameters

  startup_notify_id | The startup notification id that was returned by g_app_launch_context_get_startup_notify_id().

AppLaunchContext& Gio::AppLaunchContext::operator= | ( | AppLaunchContext&& | src | ) |

noexcept

void Gio::AppLaunchContext::setenv | ( | const Glib::ustring& | variable,
|  | const Glib::ustring& | value
| ) |  |

Arranges for variable to be set to value in the child's environment when context is used to launch an application.

Since glibmm 2.32:

Parameters

  variable | The environment variable to set.
  value | The value for to set the variable to.

void Gio::AppLaunchContext::unsetenv | ( | const Glib::ustring& | variable | ) |

Arranges for variable to be unset in the child's environment when context is used to launch an application.

Since glibmm 2.32:

Parameters

  variable | The environment variable to remove.

## Friends And Related Function Documentation

Glib::RefPtr< Gio::AppLaunchContext > wrap | ( | GAppLaunchContext * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.