AppIndicator: libappindicator Reference Manual

## AppIndicator AppIndicator — An object to put application information into the panel. |

## Stability Level

Unstable, unless otherwise indicated

## Functions

#define | APP_INDICATOR()
#define | APP_INDICATOR_CLASS()
#define | IS_APP_INDICATOR()
#define | IS_APP_INDICATOR_CLASS()
#define | APP_INDICATOR_GET_CLASS()
GType | app_indicator_get_type ()
AppIndicator * | app_indicator_new ()
AppIndicator * | app_indicator_new_with_path ()
void | app_indicator_set_status ()
void | app_indicator_set_attention_icon ()
void | app_indicator_set_attention_icon_full ()
void | app_indicator_set_menu ()
void | app_indicator_set_icon ()
void | app_indicator_set_icon_full ()
void | app_indicator_set_icon_theme_path ()
void | app_indicator_set_label ()
void | app_indicator_set_ordering_index ()
void | app_indicator_set_secondary_activate_target ()
void | app_indicator_set_title ()
const gchar * | app_indicator_get_id ()
AppIndicatorCategory | app_indicator_get_category ()
AppIndicatorStatus | app_indicator_get_status ()
const gchar * | app_indicator_get_icon ()
const gchar * | app_indicator_get_icon_desc ()
const gchar * | app_indicator_get_icon_theme_path ()
const gchar * | app_indicator_get_attention_icon ()
const gchar * | app_indicator_get_attention_icon_desc ()
GtkMenu * | app_indicator_get_menu ()
const gchar * | app_indicator_get_label ()
const gchar * | app_indicator_get_label_guide ()
guint32 | app_indicator_get_ordering_index ()
GtkWidget * | app_indicator_get_secondary_activate_target ()
const gchar * | app_indicator_get_title ()
void | app_indicator_build_menu_from_desktop ()

## Properties

char * | attention-icon-desc | Read / Write
char * | attention-icon-name | Read / Write
char * | category | Read / Write / Construct Only
gboolean | connected | Read
DbusmenuServer * | dbus-menu-server | Read / Write
char * | icon-desc | Read / Write
char * | icon-name | Read / Write
char * | icon-theme-path | Read / Write / Construct
char * | id | Read / Write / Construct Only
char * | label | Read / Write
char * | label-guide | Read / Write
guint | ordering-index | Read / Write
char * | status | Read / Write
char * | title | Read / Write

## Signals

void | connection-changed | Run Last
void | new-attention-icon | Run Last
void | new-icon | Run Last
void | new-icon-theme-path | Run Last
void | new-label | Run Last
void | new-status | Run Last
void | scroll-event | Run Last

## Types and Values

#define | APP_INDICATOR_TYPE
#define | APP_INDICATOR_SIGNAL_NEW_ICON
#define | APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON
#define | APP_INDICATOR_SIGNAL_NEW_STATUS
#define | APP_INDICATOR_SIGNAL_NEW_LABEL
#define | APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH
#define | APP_INDICATOR_SIGNAL_CONNECTION_CHANGED
#define | APP_INDICATOR_SIGNAL_SCROLL_EVENT
enum | AppIndicatorCategory
enum | AppIndicatorStatus
| AppIndicatorPrivate
struct | AppIndicator
struct | AppIndicatorClass

## Object Hierarchy

        GObject
        ╰── AppIndicator

## Includes

    #include <libappindicator/app-indicator.h>

## Description

An application indicator is a way for an application to put a menu into the panel on the user's screen. This allows the user to interact with the application even though it might not be visible to the user at the time. In most cases this is not a good solution as there are other ways to inform the user. It should only be use if persistence is a desired feature for the user (not for your marketing purpose of having your logo in the panel).

## Functions

### APP_INDICATOR()

    #define APP_INDICATOR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), APP_INDICATOR_TYPE, AppIndicator))

Safely convert a GObject into an AppIndicator.

#### Parameters

obj | The object to convert |

### APP_INDICATOR_CLASS()

    #define APP_INDICATOR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), APP_INDICATOR_TYPE, AppIndicatorClass))

Safely convert a GObjectClass into a AppIndicatorClass.

#### Parameters

klass | GObjectClass based class to convert. |

### IS_APP_INDICATOR()

    #define IS_APP_INDICATOR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), APP_INDICATOR_TYPE))

Checks to see if `obj` is in the object hierarchy of AppIndicator.

#### Parameters

obj | An GObject to check |

### IS_APP_INDICATOR_CLASS()

    #define IS_APP_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), APP_INDICATOR_TYPE))

Checks to see if `klass` is in the object class hierarchy of AppIndicatorClass.

#### Parameters

klass | An GObjectClass to check |

### APP_INDICATOR_GET_CLASS()

    #define APP_INDICATOR_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), APP_INDICATOR_TYPE, AppIndicatorClass))

Gets a pointer to the AppIndicatorClass for the object `obj` .

#### Parameters

obj | A GObject in the class hierarchy of AppIndicator. |

### app_indicator_get_type ()

    GType
    app_indicator_get_type (void);

Generates or returns the unique GType for AppIndicator.

#### Returns

A unique GType for AppIndicator objects.

### app_indicator_new ()

    AppIndicator *
    app_indicator_new (const gchar *id,
                       const gchar *icon_name,
                       AppIndicatorCategory category);

Creates a new AppIndicator setting the properties: “id” with `id` , “category” with `category` and “icon-name” with `icon_name` .

#### Parameters

id | The unique id of the indicator to create. |
icon_name | The icon name for this indicator |
category | The category of indicator. |

#### Returns

A pointer to a new AppIndicator object.

### app_indicator_new_with_path ()

    AppIndicator *
    app_indicator_new_with_path (const gchar *id,
                                 const gchar *icon_name,
                                 AppIndicatorCategory category,
                                 const gchar *icon_theme_path);

Creates a new AppIndicator setting the properties: “id” with `id` , “category” with `category` , “icon-name” with `icon_name` and “icon-theme-path” with `icon_theme_path` .

#### Parameters

id | The unique id of the indicator to create. |
icon_name | The icon name for this indicator |
category | The category of indicator. |
icon_theme_path | A custom path for finding icons. |

#### Returns

A pointer to a new AppIndicator object.

### app_indicator_set_status ()

    void
    app_indicator_set_status (AppIndicator *self,
                              AppIndicatorStatus status);

Wrapper function for property “status”.

#### Parameters

self | The AppIndicator object to use |
status | The status to set for this indicator |

### app_indicator_set_attention_icon ()

    void
    app_indicator_set_attention_icon (AppIndicator *self,
                                      const gchar *icon_name);

`app_indicator_set_attention_icon` is deprecated and should not be used in newly-written code.

Use `app_indicator_set_attention_icon_full()` instead.

Wrapper for `app_indicator_set_attention_icon_full()` with a NULL description.

#### Parameters

self | The AppIndicator object to use |
icon_name | The name of the attention icon to set for this indicator |

### app_indicator_set_attention_icon_full ()

    void
    app_indicator_set_attention_icon_full (AppIndicator *self,
                                           const gchar *icon_name,
                                           const gchar *icon_desc);

Wrapper function for property “attention-icon-name”.

#### Parameters

self | The AppIndicator object to use |
icon_name | The name of the attention icon to set for this indicator |
icon_desc | A textual description of the icon |

### app_indicator_set_menu ()

    void
    app_indicator_set_menu (AppIndicator *self,
                            GtkMenu *menu);

Sets the menu that should be shown when the Application Indicator is clicked on in the panel. An application indicator will not be rendered unless it has a menu.

Wrapper function for property “menu”.

#### Parameters

self | The AppIndicator |
menu | A GtkMenu to set. | [allow-none]

### app_indicator_set_icon ()

    void
    app_indicator_set_icon (AppIndicator *self,
                            const gchar *icon_name);

`app_indicator_set_icon` is deprecated and should not be used in newly-written code.

Use `app_indicator_set_icon_full()`

Wrapper function for `app_indicator_set_icon_full()` with a NULL description.

#### Parameters

self | The AppIndicator object to use |
icon_name | The icon name to set. |

### app_indicator_set_icon_full ()

    void
    app_indicator_set_icon_full (AppIndicator *self,
                                 const gchar *icon_name,
                                 const gchar *icon_desc);

Sets the default icon to use when the status is active but not set to attention. In most cases, this should be the application icon for the program.

Wrapper function for property “icon-name” and “icon-desc”.

#### Parameters

self | The AppIndicator object to use |
icon_name | The icon name to set. |
icon_desc | A textual description of the icon for accessibility |

### app_indicator_set_icon_theme_path ()

    void
    app_indicator_set_icon_theme_path (AppIndicator *self,
                                       const gchar *icon_theme_path);

Sets the path to use when searching for icons.

#### Parameters

self | The AppIndicator object to use |
icon_theme_path | The icon theme path to set. |

### app_indicator_set_label ()

    void
    app_indicator_set_label (AppIndicator *self,
                             const gchar *label,
                             const gchar *guide);

This is a wrapper function for the “label” and “guide” properties. This function can take NULL as either `label` or `guide` and will clear the entries.

#### Parameters

self | The AppIndicator object to use |
label | The label to show next to the icon. |
guide | A guide to size the label correctly. |

### app_indicator_set_ordering_index ()

    void
    app_indicator_set_ordering_index (AppIndicator *self,
                                      guint32 ordering_index);

Sets the ordering index for the app indicator which effects the placement of it on the panel. For almost all app indicator this is not the function you're looking for.

Wrapper function for property “ordering-index”.

#### Parameters

self | The AppIndicator |
ordering_index | A value for the ordering of this app indicator |

### app_indicator_set_secondary_activate_target ()

    void
    app_indicator_set_secondary_activate_target
                                   (AppIndicator *self,
                                    GtkWidget *menuitem);

Set the `menuitem` to be activated when a secondary activation event (i.e. a middle-click) is emitted over the AppIndicator icon/label.

The `menuitem` can be also a complex GtkWidget, but to get activated when a secondary activation occurs in the Appindicator, it must be a visible and active child (or inner-child) of the “menu”.

Setting `menuitem` to `NULL` causes to disable this feature.

#### Parameters

self | The AppIndicator |
menuitem | A GtkWidget to be activated on secondary activation. | [allow-none]

### app_indicator_set_title ()

    void
    app_indicator_set_title (AppIndicator *self,
                             const gchar *title);

Sets the title of the application indicator, or how it should be referred in a human readable form. This string should be UTF-8 and localized as it expected that users will set it.

In the Unity desktop the most prominent place that this is show will be in the HUD. HUD listings for this application indicator will start with the title as the first part of the line for the menu items.

Setting `title` to `NULL` removes the title.

#### Parameters

self | The AppIndicator |
title | Title of the app indicator. | [allow-none]

Since: 0.5

### app_indicator_get_id ()

    const gchar *
    app_indicator_get_id (AppIndicator *self);

Wrapper function for property “id”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current ID

### app_indicator_get_category ()

    AppIndicatorCategory
    app_indicator_get_category (AppIndicator *self);

Wrapper function for property “category”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current category.

### app_indicator_get_status ()

    AppIndicatorStatus
    app_indicator_get_status (AppIndicator *self);

Wrapper function for property “status”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current status.

### app_indicator_get_icon ()

    const gchar *
    app_indicator_get_icon (AppIndicator *self);

Wrapper function for property “icon-name”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current icon name.

### app_indicator_get_icon_desc ()

    const gchar *
    app_indicator_get_icon_desc (AppIndicator *self);

Wrapper function for property “icon-desc”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current icon description.

### app_indicator_get_icon_theme_path ()

    const gchar *
    app_indicator_get_icon_theme_path (AppIndicator *self);

Wrapper function for property “icon-theme-path”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current icon theme path.

### app_indicator_get_attention_icon ()

    const gchar *
    app_indicator_get_attention_icon (AppIndicator *self);

Wrapper function for property “attention-icon-name”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current attention icon name.

### app_indicator_get_attention_icon_desc ()

    const gchar *
    app_indicator_get_attention_icon_desc (AppIndicator *self);

Wrapper function for property “attention-icon-desc”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current attention icon description.

### app_indicator_get_menu ()

    GtkMenu *
    app_indicator_get_menu (AppIndicator *self);

Gets the menu being used for this application indicator. Wrapper function for property “menu”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

A GtkMenu object or `NULL` if one hasn't been set.

[transfer none]

### app_indicator_get_label ()

    const gchar *
    app_indicator_get_label (AppIndicator *self);

Wrapper function for property “label”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current label.

### app_indicator_get_label_guide ()

    const gchar *
    app_indicator_get_label_guide (AppIndicator *self);

Wrapper function for property “label-guide”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current label guide.

### app_indicator_get_ordering_index ()

    guint32
    app_indicator_get_ordering_index (AppIndicator *self);

Wrapper function for property “ordering-index”.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current ordering index.

### app_indicator_get_secondary_activate_target ()

    GtkWidget *
    app_indicator_get_secondary_activate_target
                                   (AppIndicator *self);

Gets the menuitem being called on secondary-activate event.

#### Parameters

self | The AppIndicator object to use |

#### Returns

A GtkWidget object or `NULL` if none has been set.

[transfer none]

### app_indicator_get_title ()

    const gchar *
    app_indicator_get_title (AppIndicator *self);

Gets the title of the application indicator. See the function `app_indicator_set_title()` for information on the title.

#### Parameters

self | The AppIndicator object to use |

#### Returns

The current title.

Since: 0.5

### app_indicator_build_menu_from_desktop ()

    void
    app_indicator_build_menu_from_desktop (AppIndicator *self,
                                           const gchar *desktop_file,
                                           const gchar *desktop_profile);

This function allows for building the Application Indicator menu from a static desktop file.

#### Parameters

self | The AppIndicator object to use |
desktop_file | A path to the desktop file to build the menu from |
desktop_profile | Which entries should be used from the desktop file |

## Types and Values

### APP_INDICATOR_TYPE

    #define APP_INDICATOR_TYPE            (app_indicator_get_type ())

Get the GType for a AppIndicator.

### APP_INDICATOR_SIGNAL_NEW_ICON

    #define APP_INDICATOR_SIGNAL_NEW_ICON            "new-icon"

String identifier for the “new-icon” signal.

### APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON

    #define APP_INDICATOR_SIGNAL_NEW_ATTENTION_ICON  "new-attention-icon"

String identifier for the “new-attention-icon” signal.

### APP_INDICATOR_SIGNAL_NEW_STATUS

    #define APP_INDICATOR_SIGNAL_NEW_STATUS          "new-status"

String identifier for the “new-status” signal.

### APP_INDICATOR_SIGNAL_NEW_LABEL

    #define APP_INDICATOR_SIGNAL_NEW_LABEL           "new-label"

String identifier for the “new-label” signal.

### APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH

    #define APP_INDICATOR_SIGNAL_NEW_ICON_THEME_PATH "new-icon-theme-path"

String identifier for the “new-icon-theme-path” signal.

### APP_INDICATOR_SIGNAL_CONNECTION_CHANGED

    #define APP_INDICATOR_SIGNAL_CONNECTION_CHANGED  "connection-changed"

String identifier for the “connection-changed” signal.

### APP_INDICATOR_SIGNAL_SCROLL_EVENT

    #define APP_INDICATOR_SIGNAL_SCROLL_EVENT        "scroll-event"

String identifier for the “scroll-event” signal.

### enum AppIndicatorCategory

The category provides grouping for the indicators so that users can find indicators that are similar together.

#### Members

APP_INDICATOR_CATEGORY_APPLICATION_STATUS | The indicator is used to display the status of the application. |
APP_INDICATOR_CATEGORY_COMMUNICATIONS | The application is used for communication with other people. |
APP_INDICATOR_CATEGORY_SYSTEM_SERVICES | A system indicator relating to something in the user's system. |
APP_INDICATOR_CATEGORY_HARDWARE | An indicator relating to the user's hardware. |
APP_INDICATOR_CATEGORY_OTHER | Something not defined in this enum, please don't use unless you really need it. |

### enum AppIndicatorStatus

These are the states that the indicator can be on in the user's panel. The indicator by default starts in the state `APP_INDICATOR_STATUS_PASSIVE` and can be shown by setting it to `APP_INDICATOR_STATUS_ACTIVE` .

#### Members

APP_INDICATOR_STATUS_PASSIVE | The indicator should not be shown to the user. |
APP_INDICATOR_STATUS_ACTIVE | The indicator should be shown in it's default state. |
APP_INDICATOR_STATUS_ATTENTION | The indicator should show it's attention icon. |

### AppIndicatorPrivate

    typedef struct _AppIndicatorPrivate AppIndicatorPrivate;

Private Fields `id` : The ID of the indicator. Maps to AppIndicator:id. `category` : Which category the indicator is. Maps to AppIndicator:category. `status` : The status of the indicator. Maps to AppIndicator:status. `icon_name` : The name of the icon to use. Maps to AppIndicator:icon-name. `attention_icon_name` : The name of the attention icon to use. Maps to AppIndicator:attention-icon-name. `menu` : The menu for this indicator. Maps to AppIndicator:menu `watcher_proxy` : The proxy connection to the watcher we're connected to. If we're not connected to one this will be `NULL`.

### struct AppIndicator

    struct AppIndicator;

A application indicator represents the values that are needed to show a unique status in the panel for an application. In general, applications should try to fit in the other indicators that are available on the panel before using this. But, sometimes it is necissary.

Private fields `parent` : Parent object. `priv` : Internal data.

### struct AppIndicatorClass

    struct AppIndicatorClass {
    	/* Parent */
    	GObjectClass parent_class;

    	/* DBus Signals */
    	void (* new_icon)               (AppIndicator      *indicator,
    	                                 gpointer            user_data);
    	void (* new_attention_icon)     (AppIndicator      *indicator,
    	                                 gpointer            user_data);
    	void (* new_status)             (AppIndicator      *indicator,
    	                                 const gchar       *status,
    	                                 gpointer            user_data);
    	void (* new_icon_theme_path)    (AppIndicator      *indicator,
    	                                 const gchar       *icon_theme_path,
    	                                 gpointer            user_data);
    	void (* new_label)              (AppIndicator       *indicator,
    	                                 const gchar        *label,
    	                                 const gchar        *guide,
    	                                 gpointer            user_data);

    	/* Local Signals */
    	void (* connection_changed)     (AppIndicator * indicator,
    	                                 gboolean          connected,
    	                                 gpointer          user_data);

    	void (* scroll_event)           (AppIndicator * indicator,
    	                                 gint                  delta,
    	                                 GdkScrollDirection direction,
    	                                 gpointer          user_data);

    	void (*app_indicator_reserved_ats)(void);

    	/* Overridable Functions */
    	GtkStatusIcon * (*fallback)     (AppIndicator * indicator);
    	void (*unfallback)              (AppIndicator * indicator,
    	                                 GtkStatusIcon * status_icon);

    	/* Reserved */
    	void (*app_indicator_reserved_1)(void);
    	void (*app_indicator_reserved_2)(void);
    	void (*app_indicator_reserved_3)(void);
    	void (*app_indicator_reserved_4)(void);
    	void (*app_indicator_reserved_5)(void);
    	void (*app_indicator_reserved_6)(void);
    };

The signals and external functions that make up the AppIndicator class object.

#### Members

GObjectClass `parent_class`; | Mia familia |
`new_icon` () | Slot for “new-icon”. |
`new_attention_icon` () | Slot for “new-attention-icon”. |
`new_status` () | Slot for “new-status”. |
`new_icon_theme_path` () | Slot for “new-icon-theme-path” |
`new_label` () | Slot for “new-label”. |
`connection_changed` () | Slot for “connection-changed”. |
`scroll_event` () | Slot for “scroll-event” |
`app_indicator_reserved_ats` () | Reserved for future use. |
`fallback` () | Function that gets called to make a GtkStatusIcon when there is no Application Indicator area available. |
`unfallback` () | The function that gets called if an Application Indicator area appears after the fallback has been created. |
`app_indicator_reserved_1` () | Reserved for future use. |
`app_indicator_reserved_2` () | Reserved for future use. |
`app_indicator_reserved_3` () | Reserved for future use. |
`app_indicator_reserved_4` () | Reserved for future use. |
`app_indicator_reserved_5` () | Reserved for future use. |
`app_indicator_reserved_6` () | Reserved for future use. |

## Property Details

### The `“attention-icon-desc”` property

      “attention-icon-desc”      char *

If the indicator sets it's status to `APP_INDICATOR_STATUS_ATTENTION` then this textual description of the icon shown.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“attention-icon-name”` property

      “attention-icon-name”      char *

If the indicator sets it's status to `APP_INDICATOR_STATUS_ATTENTION` then this icon is shown.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“category”` property

      “category”                 char *

The type of indicator that this represents. Please don't use 'Other'. Defaults to 'ApplicationStatus'.

Owner: AppIndicator

Flags: Read / Write / Construct Only

Default value: NULL

### The `“connected”` property

      “connected”                gboolean

Pretty simple, `TRUE` if we have a reasonable expectation of being displayed through this object. You should hide your TrayIcon if so.

Owner: AppIndicator

Flags: Read

Default value: FALSE

### The `“dbus-menu-server”` property

      “dbus-menu-server”         DbusmenuServer *

A way to get the internal dbusmenu server if it is available. This should only be used for testing.

Owner: AppIndicator

Flags: Read / Write

### The `“icon-desc”` property

      “icon-desc”                char *

The description of the regular icon that is shown for the indicator.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“icon-name”` property

      “icon-name”                char *

The name of the regular icon that is shown for the indicator.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“icon-theme-path”` property

      “icon-theme-path”          char *

An additional place to look for icon names that may be installed by the application.

Owner: AppIndicator

Flags: Read / Write / Construct

Default value: NULL

### The `“id”` property

      “id”                       char *

The ID for this indicator, which should be unique, but used consistently by this program and its indicator.

Owner: AppIndicator

Flags: Read / Write / Construct Only

Default value: NULL

### The `“label”` property

      “label”                    char *

A label that can be shown next to the string in the application indicator. The label will not be shown unless there is an icon as well. The label is useful for numerical and other frequently updated information. In general, it shouldn't be shown unless a user requests it as it can take up a significant amount of space on the user's panel. This may not be shown in all visualizations.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“label-guide”` property

      “label-guide”              char *

An optional string to provide guidance to the panel on how big the “label” string could get. If this is set correctly then the panel should never 'jiggle' as the string adjusts through out the range of options. For instance, if you were providing a percentage like "54% thrust" in “label” you'd want to set this string to "100% thrust" to ensure space when Scotty can get you enough power.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“ordering-index”` property

      “ordering-index”           guint

The ordering index is an odd parameter, and if you think you don't need it you're probably right. In general, the application indicator try to place the applications in a recreatable place taking into account which category they're in to try and group them. But, there are some cases where you'd want to ensure indicators are next to each other. To do that you can override the generated ordering index and replace it with a new one. Again, you probably don't want to be doing this, but in case you do, this is the way.

Owner: AppIndicator

Flags: Read / Write

Default value: 0

### The `“status”` property

      “status”                   char *

Whether the indicator is shown or requests attention. Defaults to 'Passive'.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

### The `“title”` property

      “title”                    char *

Provides a way to refer to this application indicator in a human readable form. This is used in the Unity desktop in the HUD as the first part of the menu entries to distinguish them from the focused application's entries.

Owner: AppIndicator

Flags: Read / Write

Default value: NULL

## Signal Details

### The `“connection-changed”` signal

    void
    user_function (AppIndicator *arg0,
                   gboolean      arg1,
                   gpointer      user_data)

Signaled when we connect to a watcher, or when it drops away.

#### Parameters

arg0 | The AppIndicator object |
arg1 | Whether we're connected or not |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“new-attention-icon”` signal

    void
    user_function (AppIndicator *arg0,
                   gpointer      user_data)

Emitted when “attention-icon-name” is changed

#### Parameters

arg0 | The AppIndicator object |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“new-icon”` signal

    void
    user_function (AppIndicator *arg0,
                   gpointer      user_data)

when “icon-name” is changed

#### Parameters

arg0 | The AppIndicator object |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“new-icon-theme-path”` signal

    void
    user_function (AppIndicator *arg0,
                   char         *arg1,
                   gpointer      user_data)

Signaled when there is a new icon set for the object.

#### Parameters

arg0 | The AppIndicator object |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“new-label”` signal

    void
    user_function (AppIndicator *arg0,
                   char         *arg1,
                   char         *arg2,
                   gpointer      user_data)

Emitted when either “label” or “label-guide” are changed.

#### Parameters

arg0 | The AppIndicator object |
arg1 | The string for the guide |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“new-status”` signal

    void
    user_function (AppIndicator *arg0,
                   char         *arg1,
                   gpointer      user_data)

Emitted when “status” is changed

#### Parameters

arg0 | The AppIndicator object |
arg1 | The string value of the AppIndicatorStatus enum. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“scroll-event”` signal

    void
    user_function (AppIndicator      *arg0,
                   int                arg1,
                   GdkScrollDirection arg2,
                   gpointer           user_data)

Signaled when the AppIndicator receives a scroll event.

#### Parameters

arg0 | The AppIndicator object |
arg1 | How many steps the scroll wheel has taken |
arg2 | Which direction the wheel went in. | [type Gdk.ScrollDirection]
user_data | user data set when the signal handler was connected. |

Flags: Run Last