1 /*
2  * Copyright (c) 2002      Anders Carlsson <andersca@gnu.org>
3  * Copyright (c) 2003-2006 Vincent Untz
4  * Copyright (c) 2008      Red Hat, Inc.
5  * Copyright (c) 2009-2010 Nick Schermer <nick@xfce.org>
6  *
7  * This library is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the Free
9  * Software Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * This library is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef __SYSTRAY_SOCKET_H__
23 #define __SYSTRAY_SOCKET_H__
24 
25 #include <gtk/gtk.h>
26 #include <gtk/gtkx.h>
27 
28 typedef struct _SystraySocketClass SystraySocketClass;
29 typedef struct _SystraySocket      SystraySocket;
30 
31 #define XFCE_TYPE_SYSTRAY_SOCKET            (systray_socket_get_type ())
32 #define XFCE_SYSTRAY_SOCKET(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFCE_TYPE_SYSTRAY_SOCKET, SystraySocket))
33 #define XFCE_SYSTRAY_SOCKET_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), XFCE_TYPE_SYSTRAY_SOCKET, SystraySocketClass))
34 #define XFCE_IS_SYSTRAY_SOCKET(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFCE_TYPE_SYSTRAY_SOCKET))
35 #define XFCE_IS_SYSTRAY_SOCKET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFCE_TYPE_SYSTRAY_SOCKET))
36 #define XFCE_SYSTRAY_SOCKET_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), XFCE_TYPE_SYSTRAY_SOCKET, SystraySocketClass))
37 
38 GType            systray_socket_get_type      (void) G_GNUC_CONST;
39 
40 void             systray_socket_register_type (GTypeModule     *type_module);
41 
42 GtkWidget       *systray_socket_new           (GdkScreen       *screen,
43                                                Window           window) G_GNUC_MALLOC;
44 
45 void             systray_socket_force_redraw  (SystraySocket   *socket);
46 
47 gboolean         systray_socket_is_composited (SystraySocket   *socket);
48 
49 const gchar     *systray_socket_get_name      (SystraySocket   *socket);
50 
51 Window          *systray_socket_get_window    (SystraySocket   *socket);
52 
53 gboolean         systray_socket_get_hidden    (SystraySocket   *socket);
54 
55 void             systray_socket_set_hidden    (SystraySocket   *socket,
56                                                gboolean         hidden);
57 
58 #endif /* !__SYSTRAY_SOCKET_H__ */
59