]> Pileus Git - ~andy/gtk/blob - gtk/gtktrayicon.h
Add a cross-platform "tray icon" API, by porting EggStatusIcon/EggTrayIcon
[~andy/gtk] / gtk / gtktrayicon.h
1 /* gtktrayicon.h
2  * Copyright (C) 2002 Anders Carlsson <andersca@gnu.org>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef __GTK_TRAY_ICON_H__
21 #define __GTK_TRAY_ICON_H__
22
23 #include "gtkplug.h"
24
25 G_BEGIN_DECLS
26
27 #define GTK_TYPE_TRAY_ICON              (gtk_tray_icon_get_type ())
28 #define GTK_TRAY_ICON(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TRAY_ICON, GtkTrayIcon))
29 #define GTK_TRAY_ICON_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TRAY_ICON, GtkTrayIconClass))
30 #define GTK_IS_TRAY_ICON(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TRAY_ICON))
31 #define GTK_IS_TRAY_ICON_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TRAY_ICON))
32 #define GTK_TRAY_ICON_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TRAY_ICON, GtkTrayIconClass))
33         
34 typedef struct _GtkTrayIcon        GtkTrayIcon;
35 typedef struct _GtkTrayIconPrivate GtkTrayIconPrivate;
36 typedef struct _GtkTrayIconClass   GtkTrayIconClass;
37
38 struct _GtkTrayIcon
39 {
40   GtkPlug parent_instance;
41
42   GtkTrayIconPrivate *priv;
43 };
44
45 struct _GtkTrayIconClass
46 {
47   GtkPlugClass parent_class;
48
49   void (*__gtk_reserved1);
50   void (*__gtk_reserved2);
51   void (*__gtk_reserved3);
52   void (*__gtk_reserved4);
53   void (*__gtk_reserved5);
54   void (*__gtk_reserved6);
55 };
56
57 GType          gtk_tray_icon_get_type         (void) G_GNUC_CONST;
58
59 GtkTrayIcon   *_gtk_tray_icon_new_for_screen  (GdkScreen   *screen,
60                                                const gchar *name);
61
62 GtkTrayIcon   *_gtk_tray_icon_new             (const gchar *name);
63
64 guint          _gtk_tray_icon_send_message    (GtkTrayIcon *icon,
65                                                gint         timeout,
66                                                const gchar *message,
67                                                gint         len);
68 void           _gtk_tray_icon_cancel_message  (GtkTrayIcon *icon,
69                                                guint        id);
70
71 GtkOrientation _gtk_tray_icon_get_orientation (GtkTrayIcon *icon);
72                                             
73 G_END_DECLS
74
75 #endif /* __GTK_TRAY_ICON_H__ */