4 * Copyright (c) Tuomo Valkonen 1999-2009.
6 * See the included file LICENSE for details.
9 #ifndef ION_IONCORE_GLOBAL_H
10 #define ION_IONCORE_GLOBAL_H
14 #include <X11/Xutil.h>
15 #include <X11/Xresource.h>
17 #include <libtu/stringstore.h>
22 #include "clientwin.h"
26 IONCORE_INPUTMODE_NORMAL
,
27 IONCORE_INPUTMODE_GRAB
,
28 IONCORE_INPUTMODE_WAITRELEASE
33 IONCORE_OPMODE_NORMAL
,
38 IONCORE_FOCUSNEXT_OTHER
,
39 IONCORE_FOCUSNEXT_POINTERHACK
,
40 IONCORE_FOCUSNEXT_ENTERWINDOW
,
41 IONCORE_FOCUSNEXT_FALLBACK
45 IONCORE_WINDOWSTACKINGREQUEST_IGNORE
,
46 IONCORE_WINDOWSTACKINGREQUEST_ACTIVATE
63 Atom atom_wm_change_state
;
64 Atom atom_wm_protocols
;
66 Atom atom_wm_take_focus
;
67 Atom atom_wm_colormaps
;
68 Atom atom_wm_window_role
;
72 Atom atom_dockapp_hack
;
78 int focus_next_source
;
80 /* We could have a display WRegion but the screen-link could impose
81 * some problems so these are handled as a special case.
83 * This is a doubly-linked list with links 'active_next' and 'active_prev'
85 WRegion
*focus_current
;
95 int frame_default_index
;
96 bool framed_transients
;
98 bool unsqueeze_enabled
;
100 bool autosave_layout
;
101 int window_stacking_request
;
102 Time usertime_diff_current
;
103 Time usertime_diff_new
;
105 bool use_mb
; /* use mb routines? */
106 bool enc_sb
; /* 8-bit charset? If unset, use_mb must be set. */
107 bool enc_utf8
; /* mb encoding is utf8? */
109 const char *sm_client_id
;
129 /** XShape extension presence */
130 bool shape_extension
;
131 int shape_event_basep
;
132 int shape_error_basep
;
136 extern WGlobal ioncore_g
;
138 #endif /* ION_IONCORE_GLOBAL_H */