glibmm 2.82.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Symbols | List of all members
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:
Inheritance graph
[legend]

Public Member Functions

 AppLaunchContext (AppLaunchContext &&src) noexcept
 
AppLaunchContextoperator= (AppLaunchContext &&src) noexcept
 
 ~AppLaunchContext () noexcept override
 
GAppLaunchContextgobj ()
 Provides access to the underlying C GObject.
 
const GAppLaunchContextgobj () const
 Provides access to the underlying C GObject.
 
GAppLaunchContextgobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
 
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.
 
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.
 
std::vector< Glib::ustringget_environment () const
 Gets the complete environment variable list to be passed to the child process when context is used to launch an application.
 
std::string get_display (const Glib::RefPtr< AppInfo > &info, const std::vector< Glib::RefPtr< Gio::File > > &files)
 Gets the display string for the context.
 
std::string get_startup_notify_id (const Glib::RefPtr< AppInfo > &info, const std::vector< Glib::RefPtr< Gio::File > > &files)
 Initiates startup notification for the application and returns the XDG_ACTIVATION_TOKEN or DESKTOP_STARTUP_ID for the launched operation, if supported.
 
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 Gio::AppLaunchContext::get_startup_notify_id().
 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
voidget_data (const QueryQuark & key)
 
void set_data (const Quark & key, void *data)
 
void set_data_with_c_callback (const Quark & key, void *data, GDestroyNotify notify)
 
void set_data (const Quark & key, void *data, DestroyNotify notify)
 Prefer set_data_with_c_callback() with a callback with C linkage.
 
void remove_data (const QueryQuark &quark)
 
voidsteal_data (const QueryQuark &quark)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (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.
 
void get_property_value (const Glib::ustring & property_name, Glib::ValueBase & value) const
 You probably want to use a specific property_*() accessor method instead.
 
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.
 
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.
 
template<class PropertyType >
PropertyType get_property (const Glib::ustring & property_name) const
 You probably want to use a specific property_*() accessor method instead.
 
sigc::connection 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.
 
sigc::connection connect_property_changed (const Glib::ustring & property_name, sigc::slot< void()> &&slot)
 You can use the signal_changed() signal of the property proxy instead.
 
void freeze_notify ()
 Increases the freeze count on object.
 
void thaw_notify ()
 Reverts the effect of a previous call to freeze_notify().
 
virtual void reference () const
 Increment the reference count for this object.
 
virtual void unreference () const
 Decrement the reference count for this object.
 
GObject * gobj ()
 Provides access to the underlying C GObject.
 
const GObject * gobj () const
 Provides access to the underlying C GObject.
 
GObject * gobj_copy () const
 Give a ref-ed copy to someone. Use for direct struct access.
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system.
 
static Glib::RefPtr< AppLaunchContextcreate ()
 

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.
 
 ObjectBase (const char *custom_type_name)
 A derived constructor always overrides this choice.
 
 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.
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Related Symbols

(Note that these are not member symbols.)

Glib::RefPtr< Gio::AppLaunchContextwrap (GAppLaunchContext *object, bool take_copy=false)
 A Glib::wrap() method for this object.
 

Additional Inherited Members

- Public Types inherited from Glib::Object
using DestroyNotify = void(*)(gpointer data)
 

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

◆ AppLaunchContext() [1/2]

Gio::AppLaunchContext::AppLaunchContext ( AppLaunchContext &&  src)
noexcept

◆ ~AppLaunchContext()

Gio::AppLaunchContext::~AppLaunchContext ( )
overridenoexcept

◆ AppLaunchContext() [2/2]

Gio::AppLaunchContext::AppLaunchContext ( )
protected

Member Function Documentation

◆ create()

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

◆ get_display()

std::string Gio::AppLaunchContext::get_display ( const Glib::RefPtr< AppInfo > &  info,
const std::vector< 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
infoThe app info.
filesA list of Gio::File objects.
Returns
A display string for the display.

◆ get_environment()

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.

◆ get_startup_notify_id()

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

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

The returned token may be referred to equivalently as an ‘activation token’ (using Wayland terminology) or a ‘startup sequence ID’ (using X11 terminology). The two are interoperable.

Activation tokens are defined in the XDG Activation Protocol, and startup notification IDs are defined in the freedesktop.org Startup Notification Protocol.

Support for the XDG Activation Protocol was added in GLib 2.76. Since GLib 2.82 info and files can be nullptr. If that’s not supported by the backend, the returned token will be nullptr.

Parameters
infoThe app info.
filesA list of Gio::File objects.
Returns
A startup notification ID for the application, or nullptr if not supported.

◆ get_type()

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

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

◆ gobj() [1/2]

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

Provides access to the underlying C GObject.

◆ gobj() [2/2]

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

Provides access to the underlying C GObject.

◆ gobj_copy()

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.

◆ launch_failed()

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 Gio::AppLaunchContext::get_startup_notify_id().

Parameters
startup_notify_idThe startup notification id that was returned by Gio::AppLaunchContext::get_startup_notify_id().

◆ operator=()

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

◆ setenv()

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
variableThe environment variable to set.
valueThe value for to set the variable to.

◆ unsetenv()

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
variableThe environment variable to remove.

Friends And Related Symbol Documentation

◆ wrap()

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

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

Parameters
objectThe C instance.
take_copyFalse 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.