1 /*
2  * Copyright (c) 2002      Anders Carlsson <andersca@gnu.org>
3  * Copyright (c) 2003-2004 Benedikt Meurer <benny@xfce.org>
4  * Copyright (c) 2003-2004 Olivier Fourdan <fourdan@xfce.org>
5  * Copyright (c) 2003-2006 Vincent Untz
6  * Copyright (c) 2007-2010 Nick Schermer <nick@xfce.org>
7  *
8  * This library is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License as published by the Free
10  * Software Foundation; either version 2 of the License, or (at your option)
11  * any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
16  * more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 #ifndef __SYSTRAY_MANAGER_H__
24 #define __SYSTRAY_MANAGER_H__
25 
26 #include <gtk/gtk.h>
27 
28 typedef struct _SystrayManagerClass SystrayManagerClass;
29 typedef struct _SystrayManager      SystrayManager;
30 typedef struct _SystrayMessage      SystrayMessage;
31 
32 #define XFCE_TYPE_SYSTRAY_MANAGER            (systray_manager_get_type ())
33 #define XFCE_SYSTRAY_MANAGER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFCE_TYPE_SYSTRAY_MANAGER, SystrayManager))
34 #define XFCE_SYSTRAY_MANAGER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), XFCE_TYPE_SYSTRAY_MANAGER, SystrayManagerClass))
35 #define XFCE_IS_SYSTRAY_MANAGER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFCE_TYPE_SYSTRAY_MANAGER))
36 #define XFCE_IS_SYSTRAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFCE_TYPE_SYSTRAY_MANAGER))
37 #define XFCE_SYSTRAY_MANAGER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), XFCE_TYPE_SYSTRAY_MANAGER, SystrayManagerClass))
38 #define XFCE_SYSTRAY_MANAGER_ERROR           (systray_manager_error_quark())
39 
40 
41 
42 enum
43 {
44     XFCE_SYSTRAY_MANAGER_ERROR_SELECTION_FAILED
45 };
46 
47 
48 
49 GType           systray_manager_get_type             (void) G_GNUC_CONST;
50 
51 void            systray_manager_register_type        (XfcePanelTypeModule *type_module);
52 
53 GQuark          systray_manager_error_quark          (void);
54 
55 SystrayManager *systray_manager_new                  (void) G_GNUC_MALLOC;
56 
57 #if 0
58 gboolean        systray_manager_check_running        (GdkScreen           *screen);
59 #endif
60 
61 gboolean        systray_manager_register             (SystrayManager      *manager,
62                                                       GdkScreen            *screen,
63                                                       GError              **error);
64 
65 void            systray_manager_unregister           (SystrayManager      *manager);
66 
67 void            systray_manager_set_colors           (SystrayManager *manager,
68                                                       GdkColor       *fg,
69                                                       GdkColor       *error,
70                                                       GdkColor       *warning,
71                                                       GdkColor       *success);
72 
73 void            systray_manager_set_orientation      (SystrayManager      *manager,
74                                                       GtkOrientation       orientation);
75 
76 
77 #endif /* !__SYSTRAY_MANAGER_H__ */
78