1 /*
2  * pwm/global.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2001.
5  *
6  * You may distribute and modify this program under the terms of either
7  * the Clarified Artistic License or the GNU GPL, version 2 or later.
8  */
9 
10 #ifndef INCLUDED_GLOBAL_H
11 #define INCLUDED_GLOBAL_H
12 
13 #include <X11/Xutil.h>
14 #include <X11/Xresource.h>
15 
16 #include "common.h"
17 #include "screen.h"
18 #include "clientwin.h"
19 #include "winobj.h"
20 #include "menu.h"
21 #include "draw.h"
22 
23 #define MAX_SCREENS 1
24 
25 enum{
26 	INPUT_NORMAL,
27 	INPUT_MOVERES,
28 	INPUT_CTXMENU
29 };
30 
31 typedef struct _WGlobal{
32 	int argc;
33 	char **argv;
34 
35 	Display *dpy;
36 	const char *display;
37 	int conn;
38 
39 	int n_children;
40 	int n_alive;
41 	pid_t *children;
42 	pid_t parent;
43 
44 	WScreen screen;
45 	WGRData grdata;
46 
47 	XContext win_context;
48 	Atom atom_wm_state;
49 	Atom atom_wm_change_state;
50 	Atom atom_wm_protocols;
51 	Atom atom_wm_delete;
52 	Atom atom_wm_take_focus;
53 	Atom atom_wm_colormaps;
54 	Atom atom_frame_id;
55 	Atom atom_workspace_num;
56 	Atom atom_workspace_info;
57 	Atom atom_private_ipc;
58 #ifndef CF_NO_MWM_HINTS
59 	Atom atom_mwm_hints;
60 #endif
61 
62 	WWinObj *current_winobj, *previous_winobj;
63 	WThing *grab_holder;
64 	WThing *focus_next;
65 	int input_mode;
66 
67 	Time dblclick_delay;
68 } WGlobal;
69 
70 extern WGlobal wglobal;
71 
72 extern void deinit();
73 
74 #endif /* INCLUDED_GLOBAL_H */
75