Class
GtkStatusIcon
Description [src]
class Gtk.StatusIcon : GObject.Object {
parent_instance: GObject,
priv: GtkStatusIconPrivate*
}
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 GtkStatusIcon
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.
It is very important to notice that status icons depend on the existence
of a notification area being available to the user; you should not use status
icons as the only way to convey critical information regarding your application,
as the notification area may not exist on the user’s environment, or may have
been removed. You should always check that a status icon has been embedded into
a notification area by using gtk_status_icon_is_embedded(), and gracefully
recover if the function returns FALSE
.
On X11, the implementation follows the FreeDesktop System Tray Specification. Implementations of the “tray” side of this specification can be found e.g. in the GNOME 2 and KDE panel applications.
Note that a GtkStatusIcon is not a widget, but just a GObject
. Making it a
widget would be impractical, since the system tray on Windows doesn’t allow
to embed arbitrary widgets.
GtkStatusIcon has been deprecated in 3.14. You should consider using
notifications or more modern platform-specific APIs instead. GLib provides
the GNotification
API which works well with GtkApplication
on multiple
platforms and environments, and should be the preferred mechanism to notify
the users of transient status updates. See this HowDoI
for code examples.
Constructors
gtk_status_icon_new
Creates an empty status icon object.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_new_from_file
Creates a status icon displaying the file filename
.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_new_from_gicon
Creates a status icon displaying a GIcon
. If the icon is a
themed icon, it will be updated when the theme changes.
Available since: 2.14
Deprecated since: 3.14
gtk_status_icon_new_from_icon_name
Creates a status icon displaying an icon from the current icon theme. If the current icon theme is changed, the icon will be updated appropriately.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_new_from_pixbuf
Creates a status icon displaying pixbuf
.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_new_from_stock
Creates a status icon displaying a stock icon. Sample stock icon
names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. You can register your
own stock icon names, see gtk_icon_factory_add_default()
and gtk_icon_factory_add().
Available since: 2.10
Deprecated since: 3.14
Functions
gtk_status_icon_position_menu
Menu positioning function to use with gtk_menu_popup()
to position menu
aligned to the status icon user_data
.
Available since: 2.10
Deprecated since: 3.14
Instance methods
gtk_status_icon_get_geometry
Obtains information about the location of the status icon on screen. This information can be used to e.g. position popups like notification bubbles.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_get_gicon
Retrieves the GIcon
being displayed by the GtkStatusIcon
.
The storage type of the status icon must be GTK_IMAGE_EMPTY
or
GTK_IMAGE_GICON
(see gtk_status_icon_get_storage_type()).
The caller of this function does not own a reference to the
returned GIcon
.
Available since: 2.14
Deprecated since: 3.14
gtk_status_icon_get_has_tooltip
Returns the current value of the has-tooltip property.
See GtkStatusIcon:has-tooltip
for more information.
Available since: 2.16
Deprecated since: 3.14
gtk_status_icon_get_icon_name
Gets the name of the icon being displayed by the GtkStatusIcon
.
The storage type of the status icon must be GTK_IMAGE_EMPTY
or
GTK_IMAGE_ICON_NAME
(see gtk_status_icon_get_storage_type()).
The returned string is owned by the GtkStatusIcon
and should not
be freed or modified.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_get_pixbuf
Gets the GdkPixbuf
being displayed by the GtkStatusIcon
.
The storage type of the status icon must be GTK_IMAGE_EMPTY
or
GTK_IMAGE_PIXBUF
(see gtk_status_icon_get_storage_type()).
The caller of this function does not own a reference to the
returned pixbuf.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_get_screen
Returns the GdkScreen
associated with status_icon
.
Available since: 2.12
Deprecated since: 3.14
gtk_status_icon_get_size
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.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_get_stock
Gets the id of the stock icon being displayed by the GtkStatusIcon
.
The storage type of the status icon must be GTK_IMAGE_EMPTY
or
GTK_IMAGE_STOCK
(see gtk_status_icon_get_storage_type()).
The returned string is owned by the GtkStatusIcon
and should not
be freed or modified.
Available since: 2.10
Deprecated since: 3.10
gtk_status_icon_get_storage_type
Gets the type of representation being used by the GtkStatusIcon
to store image data. If the GtkStatusIcon
has no image data,
the return value will be GTK_IMAGE_EMPTY
.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_get_title
Gets the title of this tray icon. See gtk_status_icon_set_title().
Available since: 2.18
Deprecated since: 3.14
gtk_status_icon_get_tooltip_markup
Gets the contents of the tooltip for status_icon
.
Available since: 2.16
Deprecated since: 3.14
gtk_status_icon_get_tooltip_text
Gets the contents of the tooltip for status_icon
.
Available since: 2.16
Deprecated since: 3.14
gtk_status_icon_get_visible
Returns whether the status icon is visible or not. Note that being visible does not guarantee that the user can actually see the icon, see also gtk_status_icon_is_embedded().
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_get_x11_window_id
This function is only useful on the X11/freedesktop.org platform.
Available since: 2.14
Deprecated since: 3.14
gtk_status_icon_is_embedded
Returns whether the status icon is embedded in a notification area.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_set_from_file
Makes status_icon
display the file filename
.
See gtk_status_icon_new_from_file()
for details.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_set_from_gicon
Makes status_icon
display the GIcon
.
See gtk_status_icon_new_from_gicon()
for details.
Available since: 2.14
Deprecated since: 3.14
gtk_status_icon_set_from_icon_name
Makes status_icon
display the icon named icon_name
from the
current icon theme.
See gtk_status_icon_new_from_icon_name()
for details.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_set_from_pixbuf
Makes status_icon
display pixbuf
.
See gtk_status_icon_new_from_pixbuf()
for details.
Available since: 2.10
Deprecated since: 3.14
gtk_status_icon_set_from_stock
Makes status_icon
display the stock icon with the id stock_id
.
See gtk_status_icon_new_from_stock()
for details.
Available since: 2.10
Deprecated since: 3.10
gtk_status_icon_set_has_tooltip
Sets the has-tooltip property on status_icon
to has_tooltip
.
See GtkStatusIcon:has-tooltip
for more information.
Available since: 2.16
Deprecated since: 3.14
gtk_status_icon_set_name
Sets the name of this tray icon. This should be a string identifying this icon. It is may be used for sorting the icons in the tray and will not be shown to the user.
Available since: 2.20
Deprecated since: 3.14
gtk_status_icon_set_screen
Sets the GdkScreen
where status_icon
is displayed; if
the icon is already mapped, it will be unmapped, and
then remapped on the new screen.
Available since: 2.12
Deprecated since: 3.14
gtk_status_icon_set_title
Sets the title of this tray icon. This should be a short, human-readable, localized string describing the tray icon. It may be used by tools like screen readers to render the tray icon.
Available since: 2.18
Deprecated since: 3.14
gtk_status_icon_set_tooltip_markup
Sets markup
as the contents of the tooltip, which is marked up with
the [Pango text markup language][PangoMarkupFormat].
Available since: 2.16
Deprecated since: 3.14
gtk_status_icon_set_tooltip_text
Sets text
as the contents of the tooltip.
Available since: 2.16
Deprecated since: 3.14
gtk_status_icon_set_visible
Shows or hides a status icon.
Available since: 2.10
Deprecated since: 3.14
Properties
Gtk.StatusIcon:embedded
TRUE
if the statusicon is embedded in a notification area.
Available since: 2.12
Gtk.StatusIcon:file
Gtk.StatusIcon:gicon
The GIcon
displayed in the GtkStatusIcon
. For themed icons,
the image will be updated automatically if the theme changes.
Available since: 2.14
Gtk.StatusIcon:has-tooltip
Enables or disables the emission of GtkStatusIcon::query-tooltip
on
status_icon
. A value of TRUE
indicates that status_icon
can have a
tooltip, in this case the status icon will be queried using
GtkStatusIcon::query-tooltip
to determine whether it will provide a
tooltip or not.
Available since: 2.16
Gtk.StatusIcon:icon-name
Gtk.StatusIcon:orientation
The orientation of the tray in which the statusicon is embedded.
Available since: 2.12
Gtk.StatusIcon:pixbuf
Gtk.StatusIcon:screen
Gtk.StatusIcon:size
Gtk.StatusIcon:storage-type
Gtk.StatusIcon:title
The title of this tray icon. This should be a short, human-readable, localized string describing the tray icon. It may be used by tools like screen readers to render the tray icon.
Available since: 2.18
Gtk.StatusIcon:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see gtk_tooltip_set_markup().
Available since: 2.16
Gtk.StatusIcon:visible
Signals
Gtk.StatusIcon::activate
Gets emitted when the user activates the status icon. If and how status icons can activated is platform-dependent.
Available since: 2.10
Gtk.StatusIcon::button-press-event
The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.
Available since: 2.14
Gtk.StatusIcon::button-release-event
The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.
Available since: 2.14
Gtk.StatusIcon::popup-menu
Gets emitted when the user brings up the context menu of the status icon. Whether status icons can have context menus and how these are activated is platform-dependent.
Available since: 2.10
Gtk.StatusIcon::query-tooltip
Emitted when the hover timeout has expired with the
cursor hovering above status_icon
; or emitted when status_icon
got
focus in keyboard mode.
Available since: 2.16
Gtk.StatusIcon::scroll-event
The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.
Available since: 2.16
Gtk.StatusIcon::size-changed
Gets emitted when the size available for the image changes, e.g. because the notification area got resized.
Available since: 2.10
Signals inherited from GObject (1)
GObject.Object::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct GtkStatusIconClass {
GObjectClass parent_class;
void (* activate) (
GtkStatusIcon* status_icon
);
void (* popup_menu) (
GtkStatusIcon* status_icon,
guint button,
guint32 activate_time
);
gboolean (* size_changed) (
GtkStatusIcon* status_icon,
gint size
);
gboolean (* button_press_event) (
GtkStatusIcon* status_icon,
GdkEventButton* event
);
gboolean (* button_release_event) (
GtkStatusIcon* status_icon,
GdkEventButton* event
);
gboolean (* scroll_event) (
GtkStatusIcon* status_icon,
GdkEventScroll* event
);
gboolean (* query_tooltip) (
GtkStatusIcon* status_icon,
gint x,
gint y,
gboolean keyboard_mode,
GtkTooltip* tooltip
);
void (* __gtk_reserved1) (
void
);
void (* __gtk_reserved2) (
void
);
void (* __gtk_reserved3) (
void
);
void (* __gtk_reserved4) (
void
);
}
Class members
parent_class |
|
No description available. | |
activate |
|
No description available. | |
popup_menu |
|
No description available. | |
size_changed |
|
No description available. | |
button_press_event |
|
No description available. | |
button_release_event |
|
No description available. | |
scroll_event |
|
No description available. | |
query_tooltip |
|
No description available. | |
__gtk_reserved1 |
|
No description available. | |
__gtk_reserved2 |
|
No description available. | |
__gtk_reserved3 |
|
No description available. | |
__gtk_reserved4 |
|
No description available. |