CinnamonApp

CinnamonApp — Object representing an application

Synopsis

struct              CinnamonAppClass;
enum                CinnamonAppState;
const char *        cinnamon_app_get_id                 (CinnamonApp *app);
GMenuTreeEntry *    cinnamon_app_get_tree_entry         (CinnamonApp *app);
GDesktopAppInfo *   cinnamon_app_get_app_info           (CinnamonApp *app);
ClutterActor *      cinnamon_app_create_icon_texture    (CinnamonApp *app,
                                                         int size);
ClutterActor *      cinnamon_app_get_faded_icon         (CinnamonApp *app,
                                                         int size);
const char *        cinnamon_app_get_name               (CinnamonApp *app);
const char *        cinnamon_app_get_description        (CinnamonApp *app);
gboolean            cinnamon_app_is_window_backed       (CinnamonApp *app);
void                cinnamon_app_activate_window        (CinnamonApp *app,
                                                         MetaWindow *window,
                                                         guint32 timestamp);
void                cinnamon_app_activate               (CinnamonApp *app);
void                cinnamon_app_activate_full          (CinnamonApp *app,
                                                         int workspace,
                                                         guint32 timestamp);
void                cinnamon_app_open_new_window        (CinnamonApp *app,
                                                         int workspace);
CinnamonAppState    cinnamon_app_get_state              (CinnamonApp *app);
gboolean            cinnamon_app_request_quit           (CinnamonApp *app);
guint               cinnamon_app_get_n_windows          (CinnamonApp *app);
GSList *            cinnamon_app_get_windows            (CinnamonApp *app);
GSList *            cinnamon_app_get_pids               (CinnamonApp *app);
gboolean            cinnamon_app_is_on_workspace        (CinnamonApp *app,
                                                         MetaWorkspace *workspace);
gboolean            cinnamon_app_launch                 (CinnamonApp *app,
                                                         guint timestamp,
                                                         GList *uris,
                                                         int workspace,
                                                         char **startup_id,
                                                         GError **error);
int                 cinnamon_app_compare_by_name        (CinnamonApp *app,
                                                         CinnamonApp *other);
int                 cinnamon_app_compare                (CinnamonApp *app,
                                                         CinnamonApp *other);

Object Hierarchy

  GEnum
   +----CinnamonAppState

Description

This object wraps a GMenuTreeEntry, providing methods and signals primarily useful for running applications.

Details

struct CinnamonAppClass

struct CinnamonAppClass {
  GObjectClass parent_class;
};

enum CinnamonAppState

typedef enum {
  CINNAMON_APP_STATE_STOPPED,
  CINNAMON_APP_STATE_STARTING,
  CINNAMON_APP_STATE_RUNNING
} CinnamonAppState;

CINNAMON_APP_STATE_STOPPED

CINNAMON_APP_STATE_STARTING

CINNAMON_APP_STATE_RUNNING


cinnamon_app_get_id ()

const char *        cinnamon_app_get_id                 (CinnamonApp *app);

cinnamon_app_get_tree_entry ()

GMenuTreeEntry *    cinnamon_app_get_tree_entry         (CinnamonApp *app);

app :

a CinnamonApp

Returns :

The GMenuTreeEntry for this app, or NULL if backed by a window. [transfer none]

cinnamon_app_get_app_info ()

GDesktopAppInfo *   cinnamon_app_get_app_info           (CinnamonApp *app);

app :

a CinnamonApp

Returns :

The GDesktopAppInfo for this app, or NULL if backed by a window. [transfer none]

cinnamon_app_create_icon_texture ()

ClutterActor *      cinnamon_app_create_icon_texture    (CinnamonApp *app,
                                                         int size);

Look up the icon for this application, and create a ClutterTexture for it at the given size.

Returns :

A floating ClutterActor. [transfer none]

cinnamon_app_get_faded_icon ()

ClutterActor *      cinnamon_app_get_faded_icon         (CinnamonApp *app,
                                                         int size);

Return an actor with a horizontally faded look.

app :

A CinnamonApp

size :

Size in pixels

Returns :

A floating ClutterActor, or NULL if no icon. [transfer none]

cinnamon_app_get_name ()

const char *        cinnamon_app_get_name               (CinnamonApp *app);

cinnamon_app_get_description ()

const char *        cinnamon_app_get_description        (CinnamonApp *app);

cinnamon_app_is_window_backed ()

gboolean            cinnamon_app_is_window_backed       (CinnamonApp *app);

A window backed application is one which represents just an open window, i.e. there's no .desktop file assocation, so we don't know how to launch it again.


cinnamon_app_activate_window ()

void                cinnamon_app_activate_window        (CinnamonApp *app,
                                                         MetaWindow *window,
                                                         guint32 timestamp);

Bring all windows for the given app to the foreground, but ensure that window is on top. If window is NULL, the window with the most recent user time for the app will be used.

This function has no effect if app is not currently running.

app :

a CinnamonApp

window :

Window to be focused. [allow-none]

timestamp :

Event timestamp

cinnamon_app_activate ()

void                cinnamon_app_activate               (CinnamonApp *app);

Like cinnamon_app_activate_full(), but using the default workspace and event timestamp.

app :

a CinnamonApp

cinnamon_app_activate_full ()

void                cinnamon_app_activate_full          (CinnamonApp *app,
                                                         int workspace,
                                                         guint32 timestamp);

Perform an appropriate default action for operating on this application, dependent on its current state. For example, if the application is not currently running, launch it. If it is running, activate the most recently used NORMAL window (or if that window has a transient, the most recently used transient for that window).

app :

a CinnamonApp

workspace :

launch on this workspace, or -1 for default. Ignored if activating an existing window

timestamp :

Event timestamp

cinnamon_app_open_new_window ()

void                cinnamon_app_open_new_window        (CinnamonApp *app,
                                                         int workspace);

Request that the application create a new window.

app :

a CinnamonApp

workspace :

open on this workspace, or -1 for default

cinnamon_app_get_state ()

CinnamonAppState    cinnamon_app_get_state              (CinnamonApp *app);

app :

a CinnamonApp

Returns :

State of the application

cinnamon_app_request_quit ()

gboolean            cinnamon_app_request_quit           (CinnamonApp *app);

Initiate an asynchronous request to quit this application. The application may interact with the user, and the user might cancel the quit request from the application UI.

This operation may not be supported for all applications.

app :

A CinnamonApp

Returns :

TRUE if a quit request is supported for this application

cinnamon_app_get_n_windows ()

guint               cinnamon_app_get_n_windows          (CinnamonApp *app);

cinnamon_app_get_windows ()

GSList *            cinnamon_app_get_windows            (CinnamonApp *app);

Get the toplevel, interesting windows which are associated with this application. The returned list will be sorted first by whether they're on the active workspace, then by whether they're visible, and finally by the time the user last interacted with them.

Returns :

List of windows. [transfer none][element-type MetaWindow]

cinnamon_app_get_pids ()

GSList *            cinnamon_app_get_pids               (CinnamonApp *app);

app :

a CinnamonApp

Returns :

An unordered list of process identifers associated with this application. [transfer container][element-type int]

cinnamon_app_is_on_workspace ()

gboolean            cinnamon_app_is_on_workspace        (CinnamonApp *app,
                                                         MetaWorkspace *workspace);

cinnamon_app_launch ()

gboolean            cinnamon_app_launch                 (CinnamonApp *app,
                                                         guint timestamp,
                                                         GList *uris,
                                                         int workspace,
                                                         char **startup_id,
                                                         GError **error);

timestamp :

Event timestamp, or 0 for current event timestamp

uris :

List of uris to pass to application. [element-type utf8]

workspace :

Start on this workspace, or -1 for default

startup_id :

Returned startup notification ID, or NULL if none. [out]

error :

A GError

cinnamon_app_compare_by_name ()

int                 cinnamon_app_compare_by_name        (CinnamonApp *app,
                                                         CinnamonApp *other);

Order two applications by name.

Returns :

-1, 0, or 1; suitable for use as a comparison function for e.g. g_slist_sort()

cinnamon_app_compare ()

int                 cinnamon_app_compare                (CinnamonApp *app,
                                                         CinnamonApp *other);

Compare one CinnamonApp instance to another, in the following way: - Running applications sort before not-running applications. - If one of them has visible windows and the other does not, the one with visible windows is first. - Finally, the application which the user interacted with most recently compares earlier.

other :

A CinnamonApp