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