Main Page Widgets Namespaces Book

# Gtk::StatusIcon Class Reference

Inheritance diagram for Gtk::StatusIcon:

[legend]
List of all members.

## Detailed Description

The "system tray" or notification area is normally used for transient icons that indicate some special state.

For example, a system tray icon might appear to tell the user that they have new mail, or have an incoming instant message, or something along those lines. The basic idea is that creating an icon in the notification area is less annoying than popping up a dialog.

A StatusIcon object can be used to display an icon in a "system tray". The icon can have a tooltip, and the user can interact with it by activating it or popping up a context menu. Critical information should not solely be displayed in a StatusIcon, since it may not be visible (e.g. when the user doesn't have a notification area on his panel). This can be checked with is_embedded().

On X11, the implementation follows the freedesktop.org "System Tray" specification. Implementations of the "tray" side of this specification can be found e.g. in the GNOME and KDE panel applications.

Since gtkmm 2.10:

## Public Member Functions

bool | get_blinking () const
| Return value: `true` if the icon is blinking.
bool | get_geometry (Glib::RefPtr<Gdk::Screen>& screen, Gdk::Rectangle& area, Orientation& orientation)
| Obtains information about the location of the status icon on screen.
Glib::ustring | get_icon_name () const
| Gets the name of the icon being displayed by the Gtk::StatusIcon.
Glib::RefPtr<const Gdk::Pixbuf> | get_pixbuf () const
| Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.
Glib::RefPtr<Gdk::Pixbuf> | get_pixbuf ()
| Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.
Glib::RefPtr<const Gdk::Screen> | get_screen () const
| Return value: a Gdk::Screen.
Glib::RefPtr<Gdk::Screen> | get_screen ()
| Return value: a Gdk::Screen.
int | get_size () const
| Gets the size in pixels that is available for the image.
StockID | get_stock () const
| Gets the id of the stock icon being displayed by the Gtk::StatusIcon.
ImageType | get_storage_type () const
| Gets the type of representation being used by the Gtk::StatusIcon to store image data.
bool | get_visible () const
| Return value: `true` if the status icon is visible.
const GtkStatusIcon* | gobj () const
| Provides access to the underlying C GObject.
GtkStatusIcon* | gobj ()
| Provides access to the underlying C GObject.
GtkStatusIcon* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool | is_embedded () const
| Return value: `true` if the status icon is embedded in.
void | popup_menu_at_position (Menu& menu, guint button, guint32 activate_time)
| Displays a menu aligned to the status icon, and makes it available for selection.
Glib::PropertyProxy_ReadOnly< bool > | property_blinking () const
| Whether or not the status icon is blinking.
Glib::PropertyProxy<bool> | property_blinking ()
| Whether or not the status icon is blinking.
Glib::PropertyProxy_WriteOnly< std::string > | property_file ()
| Filename to load and display.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_icon_name () const
| The name of the icon from the icon theme.
Glib::PropertyProxy<Glib::ustring> | property_icon_name ()
| The name of the icon from the icon theme.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf >> | property_pixbuf () const
| A GdkPixbuf to display.
Glib::PropertyProxy< Glib::RefPtr< Gdk::Pixbuf > > | property_pixbuf ()
| A GdkPixbuf to display.
Glib::PropertyProxy_ReadOnly< int > | property_size () const
| The size of the icon.
Glib::PropertyProxy_ReadOnly< StockID > | property_stock () const
| Stock ID for a stock image to display.
Glib::PropertyProxy<StockID> | property_stock ()
| Stock ID for a stock image to display.
Glib::PropertyProxy_ReadOnly< ImageType > | property_storage_type () const
| The representation being used for image data.
void | set (const Glib::ustring& icon_name)
| Makes status_icon display the icon named icon_name from the current icon theme.
void | set (const StockID& stock_id)
| Makes status_icon display the stock icon with the id stock_id .
void | set (const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
| Makes status_icon display pixbuf .
void | set_blinking (bool blinking=true)
| Makes the status icon start or stop blinking.
void | set_from_file (const Glib::ustring& filename)
| Makes status_icon display the file filename .
void | set_screen (const Glib::RefPtr<Gdk::Screen>& screen)
| Sets the Gdk::Screen where status_icon is displayed; if the icon is already mapped, it will be unmapped, and then remapped on the new screen.
void | set_tooltip (const Glib::ustring& tooltip_text)
| Sets the tooltip of the status icon.
void | set_visible (bool visible=true)
| Shows or hides a status icon.
Glib::SignalProxy0<void> | signal_activate ()

Prototype:
  `void on_my_activate()`

Glib::SignalProxy2< void, guint, guint32 > | signal_popup_menu ()

Prototype:
  `void on_my_popup_menu(guint button, guint32 activate_time)`

Glib::SignalProxy1< bool, int > | signal_size_changed ()

Prototype:
  `bool on_my_size_changed(int size)`

virtual | ~StatusIcon ()

## Static Public Member Functions

static Glib::RefPtr<StatusIcon> | create (const Glib::ustring& icon_name)
static Glib::RefPtr<StatusIcon> | create (const StockID& stock_id)
static Glib::RefPtr<StatusIcon> | create (const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
| Creates a new Gtk::StatusIcon object.
static Glib::RefPtr<StatusIcon> | create_from_file (const std::string& filename)
| Creates a status icon displaying the file filename.

## Protected Member Functions

virtual bool | on_size_changed (int size)
| StatusIcon (const Glib::ustring& icon_name)
| StatusIcon (const StockID& stock)
| StatusIcon (const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
| StatusIcon ()

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr<Gtk::StatusIcon> | wrap (GtkStatusIcon* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Constructor & Destructor Documentation

virtual Gtk::StatusIcon::~StatusIcon | ( |  | ) | `[virtual]`

Gtk::StatusIcon::StatusIcon | ( |  | ) | `[protected]`

Gtk::StatusIcon::StatusIcon | ( | const Glib::RefPtr<Gdk::Pixbuf>& | pixbuf | ) | `[explicit, protected]`

Gtk::StatusIcon::StatusIcon | ( | const StockID& | stock | ) | `[explicit, protected]`

Gtk::StatusIcon::StatusIcon | ( | const Glib::ustring & | icon_name | ) | `[explicit, protected]`

## Member Function Documentation

static Glib::RefPtr<StatusIcon> Gtk::StatusIcon::create | ( | const Glib::ustring & | icon_name | ) | `[static]`

static Glib::RefPtr<StatusIcon> Gtk::StatusIcon::create | ( | const StockID& | stock_id | ) | `[static]`

static Glib::RefPtr<StatusIcon> Gtk::StatusIcon::create | ( | const Glib::RefPtr<Gdk::Pixbuf>& | pixbuf | ) | `[static]`

Creates a new Gtk::StatusIcon object.

Returns:
  A Glib::RefPtr<> to a newly created Gtk::StatusIcon object.

static Glib::RefPtr<StatusIcon> Gtk::StatusIcon::create_from_file | ( | const std::string & | filename | ) | `[static]`

Creates a status icon displaying the file filename.

The image will be scaled down to fit in the available space in the notification area, if necessary.

Parameters:

  | filename | A filename.

Returns:
  A new StatusIcon

Since gtkmm 2.10:

bool Gtk::StatusIcon::get_blinking | ( |  | ) | const

Return value: `true` if the icon is blinking.

Returns:
  `true` if the icon is blinking

Since gtkmm 2.10:

bool Gtk::StatusIcon::get_geometry | ( | Glib::RefPtr<Gdk::Screen>& | screen,
|  | Gdk::Rectangle& | area,
|  | Orientation& | orientation |
| ) |  |  |

Obtains information about the location of the status icon on screen.

This information can be used to e.g. position popups like notification bubbles. See popup_menu_at_position() for a more convenient alternative for positioning menus.

Note that some platforms do not allow GTK+ to provide this information.

Parameters:

  | screen,: | The screen.
  | area | The area occupied by the status icon.
  | orientation | The orientation of the panel in which the status icon is embedded. A panel at the top or bottom of the screen is horizontal, a panel at the left or right is vertical.

Returns:
  true if the location information has been filled in.

Since gtkmm 2.10:

Glib::ustring Gtk::StatusIcon::get_icon_name | ( |  | ) | const

Gets the name of the icon being displayed by the Gtk::StatusIcon.

The storage type of the status icon must be Gtk::IMAGE_EMPTY or Gtk::IMAGE_ICON_NAME (see get_storage_type()). The returned string is owned by the Gtk::StatusIcon and should not be freed or modified.

Returns:
  Name of the displayed icon, or `0` if the image is empty.

Since gtkmm 2.10:

Glib::RefPtr<const Gdk::Pixbuf> Gtk::StatusIcon::get_pixbuf | ( |  | ) | const

Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.

The storage type of the status icon must be Gtk::IMAGE_EMPTY or Gtk::IMAGE_PIXBUF (see get_storage_type()). The caller of this function does not own a reference to the returned pixbuf.

Returns:
  The displayed pixbuf, or `0` if the image is empty.

Since gtkmm 2.10:

Glib::RefPtr<Gdk::Pixbuf> Gtk::StatusIcon::get_pixbuf | ( |  | ) |

Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.

The storage type of the status icon must be Gtk::IMAGE_EMPTY or Gtk::IMAGE_PIXBUF (see get_storage_type()). The caller of this function does not own a reference to the returned pixbuf.

Returns:
  The displayed pixbuf, or `0` if the image is empty.

Since gtkmm 2.10:

Glib::RefPtr<const Gdk::Screen> Gtk::StatusIcon::get_screen | ( |  | ) | const

Return value: a Gdk::Screen.

Returns:
  A Gdk::Screen.

Since gtkmm 2.12:

Glib::RefPtr<Gdk::Screen> Gtk::StatusIcon::get_screen | ( |  | ) |

Return value: a Gdk::Screen.

Returns:
  A Gdk::Screen.

Since gtkmm 2.12:

int Gtk::StatusIcon::get_size | ( |  | ) | const

Gets the size in pixels that is available for the image.

Stock icons and named icons adapt their size automatically if the size of the notification area changes. For other storage types, the size-changed signal can be used to react to size changes.

Note that the returned size is only meaningful while the status icon is embedded (see is_embedded()).

Returns:
  The size that is available for the image

Since gtkmm 2.10:

StockID Gtk::StatusIcon::get_stock | ( |  | ) | const

Gets the id of the stock icon being displayed by the Gtk::StatusIcon.

The storage type of the status icon must be Gtk::IMAGE_EMPTY or Gtk::IMAGE_STOCK (see get_storage_type()). The returned string is owned by the Gtk::StatusIcon and should not be freed or modified.

Returns:
  Stock id of the displayed stock icon, or `0` if the image is empty.

Since gtkmm 2.10:

ImageType Gtk::StatusIcon::get_storage_type | ( |  | ) | const

Gets the type of representation being used by the Gtk::StatusIcon to store image data.

If the Gtk::StatusIcon has no image data, the return value will be Gtk::IMAGE_EMPTY.

Returns:
  The image representation being used

Since gtkmm 2.10:

bool Gtk::StatusIcon::get_visible | ( |  | ) | const

Return value: `true` if the status icon is visible.

Returns:
  `true` if the status icon is visible

Since gtkmm 2.10:

const GtkStatusIcon* Gtk::StatusIcon::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkStatusIcon* Gtk::StatusIcon::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GtkStatusIcon* Gtk::StatusIcon::gobj_copy | ( |  | ) |

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

bool Gtk::StatusIcon::is_embedded | ( |  | ) | const

Return value: `true` if the status icon is embedded in.

Returns:
  `true` if the status icon is embedded in a notification area.

Since gtkmm 2.10:

virtual bool Gtk::StatusIcon::on_size_changed | ( | int | size | ) | `[protected, virtual]`

void Gtk::StatusIcon::popup_menu_at_position | ( | Menu& | menu,
|  | guint | button,
|  | guint32 | activate_time |
| ) |  |  |

Displays a menu aligned to the status icon, and makes it available for selection.

Applications can use this function to display context-sensitive menus.

This is equivalent to the gtk_status_icon_position_menu() helper callback in GTK+, which can be provided to gtk_menu_popup().

See Gtk::Menu::popup() for more details.

Parameters:

  | menu | The menu to popup for the status icon.
  | button | The mouse button which was pressed to initiate the event.
  | activate_time | The time at which the activation event occurred.

Since gtkmm 2.12:

Glib::PropertyProxy_ReadOnly<bool> Gtk::StatusIcon::property_blinking | ( |  | ) | const

Whether or not the status icon is blinking.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::StatusIcon::property_blinking | ( |  | ) |

Whether or not the status icon is blinking.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_WriteOnly<std::string> Gtk::StatusIcon::property_file | ( |  | ) |

Filename to load and display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::StatusIcon::property_icon_name | ( |  | ) | const

The name of the icon from the icon theme.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Glib::ustring> Gtk::StatusIcon::property_icon_name | ( |  | ) |

The name of the icon from the icon theme.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::RefPtr<Gdk::Pixbuf>> Gtk::StatusIcon::property_pixbuf | ( |  | ) | const

A GdkPixbuf to display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Glib::RefPtr<Gdk::Pixbuf>> Gtk::StatusIcon::property_pixbuf | ( |  | ) |

A GdkPixbuf to display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<int> Gtk::StatusIcon::property_size | ( |  | ) | const

The size of the icon.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<StockID> Gtk::StatusIcon::property_stock | ( |  | ) | const

Stock ID for a stock image to display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<StockID> Gtk::StatusIcon::property_stock | ( |  | ) |

Stock ID for a stock image to display.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<ImageType> Gtk::StatusIcon::property_storage_type | ( |  | ) | const

The representation being used for image data.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::StatusIcon::set | ( | const Glib::ustring & | icon_name | ) |

Makes status_icon display the icon named icon_name from the current icon theme.

See new_from_icon_name() for details.

Since gtkmm 2.10:

Parameters:

  | icon_name | An icon name.

void Gtk::StatusIcon::set | ( | const StockID& | stock_id | ) |

Makes status_icon display the stock icon with the id stock_id .

See new_from_stock() for details.

Since gtkmm 2.10:

Parameters:

  | stock_id | A stock icon id.

void Gtk::StatusIcon::set | ( | const Glib::RefPtr<Gdk::Pixbuf>& | pixbuf | ) |

Makes status_icon display pixbuf .

See new_from_pixbuf() for details.

Since gtkmm 2.10:

Parameters:

  | pixbuf | A Gdk::Pixbuf or `0`.

void Gtk::StatusIcon::set_blinking | ( | bool | blinking = `true` | ) |

Makes the status icon start or stop blinking.

Note that blinking user interface elements may be problematic for some users, and thus may be turned off, in which case this setting has no effect.

Since gtkmm 2.10:

Parameters:

  | blinking | `true` to turn blinking on, `false` to turn it off.

void Gtk::StatusIcon::set_from_file | ( | const Glib::ustring & | filename | ) |

Makes status_icon display the file filename .

See new_from_file() for details.

Since gtkmm 2.10:

Parameters:

  | filename | A filename.

void Gtk::StatusIcon::set_screen | ( | const Glib::RefPtr<Gdk::Screen>& | screen | ) |

Sets the Gdk::Screen where status_icon is displayed; if the icon is already mapped, it will be unmapped, and then remapped on the new screen.

Since gtkmm 2.12:

Parameters:

  | screen | A Gdk::Screen.

void Gtk::StatusIcon::set_tooltip | ( | const Glib::ustring & | tooltip_text | ) |

Sets the tooltip of the status icon.

Since gtkmm 2.10:

Parameters:

  | tooltip_text | The tooltip text, or `0`.

void Gtk::StatusIcon::set_visible | ( | bool | visible = `true` | ) |

Shows or hides a status icon.

Since gtkmm 2.10:

Parameters:

  | visible | `true` to show the status icon, `false` to hide it.

Glib::SignalProxy0< void > Gtk::StatusIcon::signal_activate | ( |  | ) |

Prototype:
  `void on_my_activate()`

Glib::SignalProxy2< void,guint,guint32 > Gtk::StatusIcon::signal_popup_menu | ( |  | ) |

Prototype:
  `void on_my_popup_menu(guint button, guint32 activate_time)`

Glib::SignalProxy1< bool,int > Gtk::StatusIcon::signal_size_changed | ( |  | ) |

Prototype:
  `bool on_my_size_changed(int size)`

## Friends And Related Function Documentation

Glib::RefPtr<Gtk::StatusIcon> wrap | ( | GtkStatusIcon * | 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.

The documentation for this class was generated from the following file:

- statusicon.h