type Gtk_Status_Icon_Record is new GObject_Record with null record;
type Gtk_Status_Icon is access all Gtk_Status_Icon_Record'Class;
type Cb_Gtk_Status_Icon_Void is not null access procedure (Self : access Gtk_Status_Icon_Record'Class);
type Cb_GObject_Void is not null access procedure (Self : access Glib.Object.GObject_Record'Class);
type Cb_Gtk_Status_Icon_Gdk_Event_Button_Boolean is not null access function (Self : access Gtk_Status_Icon_Record'Class; Event : Gdk.Event.Gdk_Event_Button) return Boolean;
type Cb_GObject_Gdk_Event_Button_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Event : Gdk.Event.Gdk_Event_Button) return Boolean;
type Cb_Gtk_Status_Icon_Guint_Guint_Void is not null access procedure (Self : access Gtk_Status_Icon_Record'Class; Button : Guint; Activate_Time : Guint);
type Cb_GObject_Guint_Guint_Void is not null access procedure (Self : access Glib.Object.GObject_Record'Class; Button : Guint; Activate_Time : Guint);
type Cb_Gtk_Status_Icon_Gint_Gint_Boolean_Gtk_Tooltip_Boolean is not null access function (Self : access Gtk_Status_Icon_Record'Class; X : Gint; Y : Gint; Keyboard_Mode : Boolean; Tooltip : not null access Gtk.Tooltip.Gtk_Tooltip_Record'Class) return Boolean;
type Cb_GObject_Gint_Gint_Boolean_Gtk_Tooltip_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; X : Gint; Y : Gint; Keyboard_Mode : Boolean; Tooltip : not null access Gtk.Tooltip.Gtk_Tooltip_Record'Class) return Boolean;
type Cb_Gtk_Status_Icon_Gdk_Event_Scroll_Boolean is not null access function (Self : access Gtk_Status_Icon_Record'Class; Event : Gdk.Event.Gdk_Event_Scroll) return Boolean;
type Cb_GObject_Gdk_Event_Scroll_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Event : Gdk.Event.Gdk_Event_Scroll) return Boolean;
type Cb_Gtk_Status_Icon_Gint_Boolean is not null access function (Self : access Gtk_Status_Icon_Record'Class; Size : Gint) return Boolean;
type Cb_GObject_Gint_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Size : Gint) return Boolean;
Embedded_Property : constant Glib.Properties.Property_Boolean;
File_Property : constant Glib.Properties.Property_String;
G_Icon_Property : constant Glib.Properties.Property_Boxed;
Has_Tooltip_Property : constant Glib.Properties.Property_Boolean;
Icon_Name_Property : constant Glib.Properties.Property_String;
Orientation_Property : constant Gtk.Enums.Property_Gtk_Orientation;
Pixbuf_Property : constant Glib.Properties.Property_Object;
Screen_Property : constant Glib.Properties.Property_Object;
Size_Property : constant Glib.Properties.Property_Int;
Stock_Property : constant Glib.Properties.Property_String;
Storage_Type_Property : constant Gtk.Image.Property_Gtk_Image_Type;
Title_Property : constant Glib.Properties.Property_String;
Tooltip_Markup_Property : constant Glib.Properties.Property_String;
Tooltip_Text_Property : constant Glib.Properties.Property_String;
Visible_Property : constant Glib.Properties.Property_Boolean;
Signal_Activate : constant Glib.Signal_Name := "activate";
Signal_Button_Press_Event : constant Glib.Signal_Name := "button-press-event";
Signal_Button_Release_Event : constant Glib.Signal_Name := "button-release-event";
Signal_Popup_Menu : constant Glib.Signal_Name := "popup-menu";
Signal_Query_Tooltip : constant Glib.Signal_Name := "query-tooltip";
Signal_Scroll_Event : constant Glib.Signal_Name := "scroll-event";
Signal_Size_Changed : constant Glib.Signal_Name := "size-changed";
procedure Gtk_New
( | Status_Icon | : out Gtk_Status_Icon); |
procedure Initialize
( | Status_Icon | : not null access Gtk_Status_Icon_Record'Class); |
function Gtk_Status_Icon_New return Gtk_Status_Icon;
procedure Gtk_New_From_File
( | Status_Icon | : out Gtk_Status_Icon; |
Filename | : UTF8_String); |
procedure Initialize_From_File
( | Status_Icon | : not null access Gtk_Status_Icon_Record'Class; |
Filename | : UTF8_String); |
function Gtk_Status_Icon_New_From_File
( | Filename | : UTF8_String) return Gtk_Status_Icon; |
procedure Gtk_New_From_Gicon
( | Status_Icon | : out Gtk_Status_Icon; |
Icon | : Glib.G_Icon.G_Icon); |
procedure Initialize_From_Gicon
( | Status_Icon | : not null access Gtk_Status_Icon_Record'Class; |
Icon | : Glib.G_Icon.G_Icon); |
function Gtk_Status_Icon_New_From_Gicon
( | Icon | : Glib.G_Icon.G_Icon) return Gtk_Status_Icon; |
procedure Gtk_New_From_Icon_Name
( | Status_Icon | : out Gtk_Status_Icon; |
Icon_Name | : UTF8_String); |
procedure Initialize_From_Icon_Name
( | Status_Icon | : not null access Gtk_Status_Icon_Record'Class; |
Icon_Name | : UTF8_String); |
function Gtk_Status_Icon_New_From_Icon_Name
( | Icon_Name | : UTF8_String) return Gtk_Status_Icon; |
procedure Gtk_New_From_Pixbuf
( | Status_Icon | : out Gtk_Status_Icon; |
Pixbuf | : not null access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); |
procedure Initialize_From_Pixbuf
( | Status_Icon | : not null access Gtk_Status_Icon_Record'Class; |
Pixbuf | : not null access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); |
function Gtk_Status_Icon_New_From_Pixbuf
( | Pixbuf | : not null access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class) return Gtk_Status_Icon; |
procedure Gtk_New_From_Stock
( | Status_Icon | : out Gtk_Status_Icon; |
Stock_Id | : UTF8_String); |
procedure Initialize_From_Stock
( | Status_Icon | : not null access Gtk_Status_Icon_Record'Class; |
Stock_Id | : UTF8_String); |
function Gtk_Status_Icon_New_From_Stock
( | Stock_Id | : UTF8_String) return Gtk_Status_Icon; |
function Get_Type return Glib.GType;
function Get_Gicon
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Glib.G_Icon.G_Icon; |
procedure Set_From_Gicon
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Icon | : Glib.G_Icon.G_Icon); |
function Get_Has_Tooltip
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Boolean; |
procedure Set_Has_Tooltip
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Has_Tooltip | : Boolean); |
function Get_Icon_Name
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return UTF8_String; |
procedure Set_From_Icon_Name
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Icon_Name | : UTF8_String); |
function Get_Pixbuf
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Gdk.Pixbuf.Gdk_Pixbuf; |
procedure Set_From_Pixbuf
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Pixbuf | : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); |
function Get_Screen
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Gdk.Screen.Gdk_Screen; |
procedure Set_Screen
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Screen | : not null access Gdk.Screen.Gdk_Screen_Record'Class); |
function Get_Size
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Gint; |
function Get_Stock
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return UTF8_String; |
procedure Set_From_Stock
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Stock_Id | : UTF8_String); |
function Get_Storage_Type
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Gtk.Image.Gtk_Image_Type; |
function Get_Title
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return UTF8_String; |
procedure Set_Title
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Title | : UTF8_String); |
function Get_Tooltip_Markup
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return UTF8_String; |
procedure Set_Tooltip_Markup
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Markup | : UTF8_String := ""); |
function Get_Tooltip_Text
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return UTF8_String; |
procedure Set_Tooltip_Text
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Text | : UTF8_String); |
function Get_Visible
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Boolean; |
procedure Set_Visible
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Visible | : Boolean); |
function Get_X11_Window_Id
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Guint32; |
function Is_Embedded
( | Status_Icon | : not null access Gtk_Status_Icon_Record) return Boolean; |
procedure Set_From_File
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Filename | : UTF8_String); |
procedure Set_Name
( | Status_Icon | : not null access Gtk_Status_Icon_Record; |
Name | : UTF8_String); |
procedure Position_Menu
( | Menu | : not null access Gtk.Menu.Gtk_Menu_Record'Class; |
X | : in out Gint; | |
Y | : in out Gint; | |
Push_In | : out Boolean; | |
Icon | : Glib.Object.GObject); |
procedure On_Activate
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Void; | |
After | : Boolean := False); |
procedure On_Activate
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Button_Press_Event
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Gdk_Event_Button_Boolean; | |
After | : Boolean := False); |
procedure On_Button_Press_Event
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Gdk_Event_Button_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Button_Release_Event
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Gdk_Event_Button_Boolean; | |
After | : Boolean := False); |
procedure On_Button_Release_Event
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Gdk_Event_Button_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Popup_Menu
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Guint_Guint_Void; | |
After | : Boolean := False); |
procedure On_Popup_Menu
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Guint_Guint_Void; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Query_Tooltip
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Gint_Gint_Boolean_Gtk_Tooltip_Boolean; | |
After | : Boolean := False); |
procedure On_Query_Tooltip
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Gint_Gint_Boolean_Gtk_Tooltip_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Scroll_Event
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Gdk_Event_Scroll_Boolean; | |
After | : Boolean := False); |
procedure On_Scroll_Event
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Gdk_Event_Scroll_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Size_Changed
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_Gtk_Status_Icon_Gint_Boolean; | |
After | : Boolean := False); |
procedure On_Size_Changed
( | Self | : not null access Gtk_Status_Icon_Record; |
Call | : Cb_GObject_Gint_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
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.Status_Icon.Gtk_Status_Icon 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.Status_Icon.Gtk_Status_Icon, 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 Gtk.Status_Icon.Is_Embedded.
On X11, the implementation follows the freedesktop.org "System Tray" <ulink url="http://www.freedesktop.org/wiki/Specifications/systemtray-spec">specification</ulink>.
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 Glib.Object.GObject. Making it a widget would be impractical, since the system tray on Win32 doesn't allow to embed arbitrary widgets.