Reserve more video memory for Xdummy
[notion/jeffpc.git] / ioncore / global.h
blob5b7c74497b437b433b8d7cef66372f4933feb06b
1 /*
2 * ion/ioncore/global.h
4 * Copyright (c) Tuomo Valkonen 1999-2009.
6 * See the included file LICENSE for details.
7 */
9 #ifndef ION_IONCORE_GLOBAL_H
10 #define ION_IONCORE_GLOBAL_H
12 #include "common.h"
14 #include <X11/Xutil.h>
15 #include <X11/Xresource.h>
17 #include <libtu/stringstore.h>
19 #include "rootwin.h"
20 #include "screen.h"
21 #include "window.h"
22 #include "clientwin.h"
25 enum{
26 IONCORE_INPUTMODE_NORMAL,
27 IONCORE_INPUTMODE_GRAB,
28 IONCORE_INPUTMODE_WAITRELEASE
31 enum{
32 IONCORE_OPMODE_INIT,
33 IONCORE_OPMODE_NORMAL,
34 IONCORE_OPMODE_DEINIT
37 enum{
38 IONCORE_FOCUSNEXT_OTHER,
39 IONCORE_FOCUSNEXT_POINTERHACK,
40 IONCORE_FOCUSNEXT_ENTERWINDOW,
41 IONCORE_FOCUSNEXT_FALLBACK
45 INTRSTRUCT(WGlobal);
48 DECLSTRUCT(WGlobal){
49 int argc;
50 char **argv;
52 Display *dpy;
53 const char *display;
54 int conn;
56 XContext win_context;
57 Atom atom_wm_state;
58 Atom atom_wm_change_state;
59 Atom atom_wm_protocols;
60 Atom atom_wm_delete;
61 Atom atom_wm_take_focus;
62 Atom atom_wm_colormaps;
63 Atom atom_wm_window_role;
64 Atom atom_checkcode;
65 Atom atom_selection;
66 Atom atom_mwm_hints;
67 Atom atom_dockapp_hack;
69 WRootWin *rootwins;
70 WScreen *screens;
71 WRegion *focus_next;
72 bool warp_next;
73 int focus_next_source;
75 /* We could have a display WRegion but the screen-link could impose
76 * some problems so these are handled as a special case.
78 * This is a doubly-linked list with links 'active_next' and 'active_prev'
80 WRegion *focus_current;
82 int input_mode;
83 int opmode;
85 Time dblclick_delay;
86 int opaque_resize;
87 bool warp_enabled;
88 bool switchto_new;
89 bool screen_notify;
90 int frame_default_index;
91 bool framed_transients;
92 bool no_mousefocus;
93 bool unsqueeze_enabled;
94 bool autoraise;
95 bool autosave_layout;
96 Time usertime_diff_current;
97 Time usertime_diff_new;
99 bool use_mb; /* use mb routines? */
100 bool enc_sb; /* 8-bit charset? If unset, use_mb must be set. */
101 bool enc_utf8; /* mb encoding is utf8? */
103 const char *sm_client_id;
105 struct{
106 StringId activated,
107 inactivated,
108 activity,
109 sub_activity,
110 name,
111 unset_manager,
112 set_manager,
113 tag,
114 set_return,
115 unset_return,
116 pseudoactivated,
117 pseudoinactivated,
118 deinit,
119 map,
120 unmap;
121 } notifies;
123 /** XShape extension presence */
124 bool shape_extension;
125 int shape_event_basep;
126 int shape_error_basep;
130 extern WGlobal ioncore_g;
132 #endif /* ION_IONCORE_GLOBAL_H */