logo top
Main Page   Widgets   Namespaces   Book  

Gtk::StatusIcon Class Reference

Inheritance diagram for Gtk::StatusIcon:

Inheritance graph
[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::Pixbufget_pixbuf () const
 Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.
Glib::RefPtr<Gdk::Pixbufget_pixbuf ()
 Gets the Gdk::Pixbuf being displayed by the Gtk::StatusIcon.
Glib::RefPtr<const Gdk::Screenget_screen () const
 Return value: a Gdk::Screen.
Glib::RefPtr<Gdk::Screenget_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::ustringproperty_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<StockIDproperty_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<StatusIconcreate (const Glib::ustring& icon_name)
static Glib::RefPtr<StatusIconcreate (const StockID& stock_id)
static Glib::RefPtr<StatusIconcreate (const Glib::RefPtr<Gdk::Pixbuf>& pixbuf)
 Creates a new Gtk::StatusIcon object.
static Glib::RefPtr<StatusIconcreate_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::StatusIconwrap (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:

Generated for gtkmm 2.4 by Doxygen 1.5.1 © 1997-2001