gtk.StatusIcon — display an icon in the system tray (new in PyGTK 2.10)
class gtk.StatusIcon( |
Functionsdef gtk.status_icon_new_from_pixbuf(
pixbuf
)def gtk.status_icon_new_from_file(
filename
)def gtk.status_icon_new_from_gicon(
filename
)def gtk.status_icon_new_from_stock(
stock_id
)def gtk.status_icon_new_from_icon_name(
icon_name
)def gtk.status_icon_position_menu(
menu
,statusicon
)
|
"activate" | def callback( |
def callback( | |
def callback( |
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 gtk.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 gtk.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 the gtk.StatusIcon.is_embedded()
method.
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.
Note that a gtk.StatusIcon
is not a widget, but just a gobject.GObject
gtk.StatusIcon()
Returns : | a new gtk.StatusIcon |
This constructor is available in PyGTK 2.10 and above.
Creates an empty status icon object.
def set_from_pixbuf(pixbuf
)
| a gtk.gdk.Pixbuf
or None |
This method is available in PyGTK 2.10 and above.
Makes status_icon
display
pixbuf
. See the gtk.status_icon_new_from_pixbuf
()
function for details.
def set_from_file(filename
)
| a filename |
This method is available in PyGTK 2.10 and above.
Makes status_icon
display the file
filename
. See the gtk.status_icon_new_from_file
()
function for details.
def set_from_stock(stock_id
)
| a stock icon id |
This method is available in PyGTK 2.10 and above.
Makes status_icon
display the stock icon
with the id stock_id
. See the gtk.status_icon_new_from_stock
()
function for details.
def set_from_icon_name(icon_name
)
| an icon name |
This method is available in PyGTK 2.10 and above.
Makes status_icon
display the icon named
icon_name
from the current icon theme. See the
gtk.status_icon_new_from_icon_name
()
function for details.
def set_from_gicon(gicon
)
| a gio.Icon() |
This method is available in PyGTK 2.14 and above.
Makes status_icon
display the gio.Icon()
See gtk.status_icon_new_from_gicon
()
for details
def get_storage_type()
Returns : | the image representation being used - one of the GTK Image Type Constants. |
This method is available in PyGTK 2.10 and above.
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
.
def get_gicon()
Returns : | the displayed icon, or None
if the image is empty. |
This method is available in PyGTK 2.14 and above.
Retrieves the gio.Icon() being displayed by the
gtk.StatusIcon
.
The storage type of the status icon must be gtk.IMAGE_EMPTY or gtk.IMAGE_GICON.
If this method fails, icon is left unchanged;
def get_x11_window_id()
Returns : | An 32 bit unsigned integer identifier for the underlying X11 Window. |
This method is available in PyGTK 2.14 and above.
This function is only useful on the X11/freedesktop.org platform. It returns a window ID for the widget in the underlying status icon implementation. This is useful for the Galago notification service, which can send a window ID in the protocol in order for the server to position notification windows pointing to a status icon reliably.
This function is not intended for other use cases which are more likely
to be met by one of the non-X11 specific methods,
such as
gtk.status_icon_position_menu
().
def get_pixbuf()
Returns : | the displayed pixbuf, or
None if the image is
empty. |
This method is available in PyGTK 2.10 and above.
Gets the gtk.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 the gtk.StatusIcon.get_storage_type()
method).
def get_stock()
Returns : | stock id of the displayed stock icon, or
None if the image is
empty. |
This method is available in PyGTK 2.10 and above.
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 the gtk.StatusIcon.get_storage_type()
method).
def get_icon_name()
Returns : | name of the displayed icon, or
None if the image is
empty. |
This method is available in PyGTK 2.10 and above.
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 the gtk.StatusIcon.get_storage_type()
method).
def get_size()
Returns : | the size that is available for the image |
This method is available in PyGTK 2.10 and above.
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.
def set_tooltip(tooltip_text
)
| the tooltip text, or
None |
This method is available in PyGTK 2.10 and above.
Sets the tooltip of the status icon.
def set_visible(visible
)
| if True show the status
icon, if False hide it |
This method is available in PyGTK 2.10 and above.
Shows or hides a status icon.
def get_visible()
Returns : | True if the status icon is
visible |
This method is available in PyGTK 2.10 and above.
Returns True
if the status icon is visible.
Note that being visible does not guarantee that the user can actually
see the icon, see also the gtk.StatusIcon.is_embedded()
method.
def set_blinking(blinking
)
| if True turn blinking on, if
False turn it off |
This method is available in PyGTK 2.10 and above.
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.
def get_blinking()
Returns : | True if the icon is
blinking |
This method is available in PyGTK 2.10 and above.
Returns True
if the icon is blinking, see the
gtk.StatusIcon.set_blinking()
method.
def is_embedded()
Returns : | True if the status icon is
embedded in a notification area. |
This method is available in PyGTK 2.10 and above.
Returns True
if the status icon is embedded
in a notification area.
def get_geometry()
Returns : | a 3-tuple (containing the screen, area occupied by the status icon and the panel orientation) or None. |
This method is available in PyGTK 2.10 and above.
Returns information in a 3-tuple about the location of the
status icon on screen. The 3-tuple contains the gtk.gdk.Screen
,
the area occupied by the status icon as a gtk.gdk.Rectangle
and the orientation of the panel containing the statis icon - one of
the GTK Orientation Constants. This information
can be used to e.g. position popups like notification bubbles. See
the gtk.status_icon_position_menu
()
function for a more convenient alternative for positioning
menus.
Note that some platforms do not provide this information.
def get_screen()
Returns : | a
gtk.gdk.Screen . |
This method is available in PyGTK 2.12 and above.
Returns the gtk.gdk.Screen
associated with status_icon.
def set_screen(screen
)
| a
gtk.gdk.Screen . |
This method is available in PyGTK 2.12 and above.
Sets the gtk.gdk.Screen
where status_icon is displayed; if the icon is already mapped, it will be unmapped,
and then remapped on the new screen.
def gtk.status_icon_new_from_pixbuf(pixbuf
)
| |
Returns : | a new gtk.StatusIcon |
Creates a status icon displaying pixbuf
.
The image will be scaled down to fit in the available space in the
notification area, if necessary.
def gtk.status_icon_new_from_file(filename
)
| |
Returns : | a new gtk.StatusIcon |
Creates a status icon displaying the image in the file specified
by filename
. The image will be scaled down to
fit in the available space in the notification area, if
necessary.
def gtk.status_icon_new_from_gicon(gicon
)
| |
Returns : | a new gtk.StatusIcon |
Creates a status icon displaying a gio.Icon(). If the icon is a themed icon, it will be updated when the theme changes.
def gtk.status_icon_new_from_stock(stock_id
)
| a stock icon id |
Returns : | a new gtk.StatusIcon |
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 the gtk.IconFactory.add_default
()
and gtk.IconFactory.add
()
methods.
def gtk.status_icon_new_from_icon_name(icon_name
)
| an icon name |
Returns : | a new gtk.StatusIcon |
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.
def gtk.status_icon_position_menu(menu
, statusicon
)
| the gtk.Menu |
| the gtk.StatusIcon |
Returns : | a 3-tuple containing the x and y coordinates for the menu and a boolean indicating whether the menu should be pushed in to be completely inside the screen instead of just clamped to the size to the screen. |
Menu positioning function to use with the popup
()
method to position menu
aligned to
statusicon
.
Eample use of this function is:
menu.popup(None, None, gtk.status_icon_position_menu, event.button, event.time, statusicon)
def set_name(name
)
| the name. |
This method is available in PyGTK 2.22 and above.
The set_name
() method 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.
def set_title(title
)
| the title. |
This method is available in PyGTK 2.22 and above.
The set_title
() method 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.
def get_title()
Returns : | the title of the status icon. |
This method is available in PyGTK 2.22 and above.
The get_title
() method gets the title of this tray icon.
def set_has_tooltip(has_tooltip
)
| True if the status icon has a tooltip, False otherwise. |
This method is available in PyGTK 2.16 and above.
The set_has_tooltip
() method sets the "has-tooltip" property.
def get_has_tooltip()
Returns : | True if the status icon has a tooltip, False otherwise.. |
This method is available in PyGTK 2.16 and above.
The get_has_tooltip
() method returns the current value of the "has-tooltip" property.
def set_tooltip_text(text
)
| the contents of the tooltip for the status icon, or None . |
This method is available in PyGTK 2.16 and above.
The set_tooltip_text
() method sets text
as the contents of the tooltip. This function will take care of setting
the "has-tooltip" property to True
and of the default handler
for the "query-tooltip" signal.
def get_tooltip_text()
Returns : | the tooltip text, or None . |
This method is available in PyGTK 2.16 and above.
The get_tooltip_text
() method gets the
contents of the tooltip for the status icon.
def set_tooltip_markup(markup
)
| the contents of the tooltip for widget, or None . |
This method is available in PyGTK 2.16 and above.
The set_tooltip_markup
() method sets markup as the
contents of the tooltip, which is marked up with the Pango text markup language.
This function will take care of setting the "has-tooltip" property to
True
and of the default handler for the "query-tooltip" signal.
def callback(status_icon
, user_param1
, ...
)
| the object which received the signal |
| the first user parameter (if any) specified
with the connect () |
| additional user parameters (if any) |
This signal is available in GTK+ 2.10 and above.
Gets emitted when the user activates the status icon. If and how status icons can be activated is platform-dependent.
def callback(status_icon
, button
, activate_time
, user_param1
, ...
)
| the object which received the signal |
| the button that was pressed, or 0 if the signal is not emitted in response to a button press event |
| the timestamp of the event that triggered the signal emission |
| the first user parameter (if any) specified
with the connect () |
| additional user parameters (if any) |
This signal is available in GTK+ 2.10 and above.
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.
The button
and
activate_time
parameters should be passed as
the last two arguments to the gtk.Menu.popup()
method.
def callback(status_icon
, size
, statusicon
, arg1
, user_param1
, ...
)
| the object which received the signal |
| the new size |
| the first user parameter (if any) specified
with the connect () |
| additional user parameters (if any) |
Returns : | True if the icon was updated
for the new size. Otherwise, GTK+ will scale the icon as
necessary. |
This signal is available in GTK+ 2.10 and above.
Gets emitted when the size available for the image changes, e.g. because the notification area got resized.