![]() |
![]() |
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.
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 () |
| |
Glib::SignalProxy2< void, guint, guint32 > | signal_popup_menu () |
| |
Glib::SignalProxy1< bool, int > | signal_size_changed () |
| |
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. |
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] |
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.
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.
filename | A filename. |
bool Gtk::StatusIcon::get_blinking | ( | ) | const |
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.
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. |
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.
0
if the image is empty.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.
0
if the image is empty.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.
0
if the image is empty.Glib::RefPtr<const Gdk::Screen> Gtk::StatusIcon::get_screen | ( | ) | const |
Glib::RefPtr<Gdk::Screen> Gtk::StatusIcon::get_screen | ( | ) |
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()).
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.
0
if the image is empty.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.
bool Gtk::StatusIcon::get_visible | ( | ) | const |
Return value: true
if the status icon is visible.
true
if the status icon is visibleconst GtkStatusIcon* Gtk::StatusIcon::gobj | ( | ) | const [inline] |
GtkStatusIcon* Gtk::StatusIcon::gobj | ( | ) | [inline] |
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.
true
if the status icon is embedded in a notification area.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.
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. |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
screen | A Gdk::Screen. |
void Gtk::StatusIcon::set_tooltip | ( | const Glib::ustring & | tooltip_text | ) |
Sets the tooltip of the status icon.
tooltip_text | The tooltip text, or 0 . |
void Gtk::StatusIcon::set_visible | ( | bool | visible = true |
) |
Shows or hides a status icon.
visible | true to show the status icon, false to hide it. |
Glib::SignalProxy0< void > Gtk::StatusIcon::signal_activate | ( | ) |
void on_my_activate()
Glib::SignalProxy2< void,guint,guint32 > Gtk::StatusIcon::signal_popup_menu | ( | ) |
void on_my_popup_menu(guint button, guint32 activate_time)
Glib::SignalProxy1< bool,int > Gtk::StatusIcon::signal_size_changed | ( | ) |
bool on_my_size_changed(int size)
Glib::RefPtr<Gtk::StatusIcon> wrap | ( | GtkStatusIcon * | object, | |
bool | take_copy = false | |||
) | [related] |
A Glib::wrap() method for this object.
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. |