]> Pileus Git - ~andy/gtk/blob - gdk/x11/gdkasync.h
x11: Make xsettings callbacks code go away
[~andy/gtk] / gdk / x11 / gdkasync.h
1 /* GTK - The GIMP Toolkit
2  * gdkasync.h: Utility functions using the Xlib asynchronous interfaces
3  * Copyright (C) 2003, Red Hat, Inc.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
17  */
18
19 #ifndef __GDK_ASYNC_H__
20 #define __GDK_ASYNC_H__
21
22 #include "gdkdisplay.h"
23 #include <X11/Xlib.h>
24
25 G_BEGIN_DECLS
26
27 typedef struct _GdkChildInfoX11 GdkChildInfoX11;
28
29 typedef void (*GdkSendXEventCallback) (Window   window,
30                                        gboolean success,
31                                        gpointer data);
32 typedef void (*GdkRoundTripCallback)  (GdkDisplay *display,
33                                        gpointer data,
34                                        gulong serial);
35
36 struct _GdkChildInfoX11
37 {
38   Window window;
39   gint x;
40   gint y;
41   gint width;
42   gint height;
43   guint is_mapped : 1;
44   guint has_wm_state : 1;
45   guint window_class : 2;
46 };
47
48 void _gdk_x11_send_client_message_async (GdkDisplay            *display,
49                                          Window                 window,
50                                          gboolean               propagate,
51                                          glong                  event_mask,
52                                          XClientMessageEvent   *event_send,
53                                          GdkSendXEventCallback  callback,
54                                          gpointer               data);
55
56 gboolean _gdk_x11_get_window_child_info (GdkDisplay       *display,
57                                          Window            window,
58                                          gboolean          get_wm_state,
59                                          gboolean         *win_has_wm_state,
60                                          GdkChildInfoX11 **children,
61                                          guint            *nchildren);
62
63 void _gdk_x11_roundtrip_async           (GdkDisplay           *display, 
64                                          GdkRoundTripCallback callback,
65                                          gpointer              data);
66
67 G_END_DECLS
68
69 #endif /* __GDK_ASYNC_H__ */