1 /* -*-c-*- */ 2 3 #ifndef _WINDOW_FLAGS_ 4 #define _WINDOW_FLAGS_ 5 6 #include "focus_policy.h" 7 8 /* access to the common flags of a window */ 9 #define FW_COMMON_FLAGS(fw) \ 10 ((fw)->flags.common) 11 #define FW_COMMON_STATIC_FLAGS(fw) \ 12 ((fw)->flags.common.s) 13 #define FW_FOCUS_POLICY(fw) \ 14 ((fw)->flags.common.s.focus_policy) 15 16 #define DO_LOWER_TRANSIENT(fw) \ 17 ((fw)->flags.common.s.do_lower_transient) 18 #define DO_NOT_SHOW_ON_MAP(fw) \ 19 ((fw)->flags.common.s.do_not_show_on_map) 20 #define DO_RAISE_TRANSIENT(fw) \ 21 ((fw)->flags.common.s.do_raise_transient) 22 #define DO_RESIZE_OPAQUE(fw) \ 23 ((fw)->flags.common.s.do_resize_opaque) 24 #define DO_SHRINK_WINDOWSHADE(fw) \ 25 ((fw)->flags.common.s.do_shrink_windowshade) 26 #define SET_DO_SHRINK_WINDOWSHADE(fw,x) \ 27 (fw)->flags.common.s.do_shrink_windowshade = !!(x) 28 #define SETM_DO_SHRINK_WINDOWSHADE(fw,x) \ 29 (fw)->flag_mask.common.s.do_shrink_windowshade = !!(x) 30 #define DO_SKIP_CIRCULATE(fw) \ 31 ((fw)->flags.common.s.do_circulate_skip) 32 #define SET_DO_SKIP_CIRCULATE(fw,x) \ 33 (fw)->flags.common.s.do_circulate_skip = !!(x) 34 #define SETM_DO_SKIP_CIRCULATE(fw,x) \ 35 (fw)->flag_mask.common.s.do_circulate_skip = !!(x) 36 #define DO_SKIP_ICON_CIRCULATE(fw) \ 37 ((fw)->flags.common.s.do_circulate_skip_icon) 38 #define SET_DO_SKIP_ICON_CIRCULATE(fw,x) \ 39 (fw)->flags.common.s.do_circulate_skip_icon = !!(x) 40 #define SETM_DO_SKIP_ICON_CIRCULATE(fw,x) \ 41 (fw)->flag_mask.common.s.do_circulate_skip_icon = !!(x) 42 #define DO_SKIP_SHADED_CIRCULATE(fw) \ 43 ((fw)->flags.common.s.do_circulate_skip_shaded) 44 #define SET_DO_SKIP_SHADED_CIRCULATE(fw,x) \ 45 (fw)->flags.common.s.do_circulate_skip_shaded = !!(x) 46 #define SETM_DO_SKIP_SHADED_CIRCULATE(fw,x) \ 47 (fw)->flag_mask.common.s.do_circulate_skip_shaded = !!(x) 48 #define DO_SKIP_WINDOW_LIST(fw) \ 49 ((fw)->flags.common.s.do_window_list_skip) 50 #define SET_DO_SKIP_WINDOW_LIST(fw,x) \ 51 (fw)->flags.common.s.do_window_list_skip = !!(x) 52 #define SETM_DO_SKIP_WINDOW_LIST(fw,x) \ 53 (fw)->flag_mask.common.s.do_window_list_skip = !!(x) 54 #define DO_STACK_TRANSIENT_PARENT(fw) \ 55 ((fw)->flags.common.s.do_stack_transient_parent) 56 #define GET_TITLE_DIR(fw) \ 57 ((fw)->flags.common.title_dir) 58 #define HAS_TITLE_DIR(fw,x) \ 59 ((fw)->flags.common.title_dir == x) 60 #define SET_TITLE_DIR(fw,x) \ 61 ((fw)->flags.common.title_dir = x) 62 #define SETM_TITLE_DIR(fw,x) \ 63 ((fw)->flag_mask.common.title_dir = ((x) ? DIR_MAJOR_MASK : 0)) 64 #define SET_USER_STATES(fw, mask) \ 65 ((fw)->flags.common.user_states |= (mask)) 66 #define CLEAR_USER_STATES(fw, mask) \ 67 ((fw)->flags.common.user_states &= ~(mask)) 68 #define TOGGLE_USER_STATES(fw, mask) \ 69 ((fw)->flags.common.user_states ^= (mask)) 70 #define SETM_USER_STATES(fw, mask) \ 71 ((fw)->flag_mask.common.user_states |= (mask)) 72 #define GET_USER_STATES(fw) \ 73 ((fw)->flags.common.user_states) 74 #define GETM_USER_STATES(fw) \ 75 ((fw)->flag_mask.common.user_states) 76 #define HAS_VERTICAL_TITLE(fw) \ 77 ((HAS_TITLE_DIR(fw,DIR_W) || HAS_TITLE_DIR(fw,DIR_E))) 78 #define HAS_STIPPLED_TITLE(fw) \ 79 ((fw)->flags.common.s.has_stippled_title) 80 #define SET_HAS_STIPPLED_TITLE(fw,x) \ 81 (fw)->flags.common.s.has_stippled_title = !!(x) 82 #define SETM_HAS_STIPPLED_TITLE(fw,x) \ 83 (fw)->flag_mask.common.s.has_stippled_title = !!(x) 84 #define HAS_STICKY_STIPPLED_TITLE(fw) \ 85 !((fw)->flags.common.s.has_no_sticky_stippled_title) 86 #define SET_HAS_STICKY_STIPPLED_TITLE(fw,x) \ 87 (fw)->flags.common.s.has_no_sticky_stippled_title = !(x) 88 #define SETM_HAS_STICKY_STIPPLED_TITLE(fw,x) \ 89 (fw)->flag_mask.common.s.has_no_sticky_stippled_title = !!(x) 90 #define HAS_STICKY_STIPPLED_ICON_TITLE(fw) \ 91 !((fw)->flags.common.s.has_no_sticky_stippled_icon_title) 92 #define SET_HAS_STICKY_STIPPLED_ICON_TITLE(fw,x) \ 93 (fw)->flags.common.s.has_no_sticky_stippled_icon_title = !(x) 94 #define SETM_HAS_STICKY_STIPPLED_ICON_TITLE(fw,x) \ 95 (fw)->flag_mask.common.s.has_no_sticky_stippled_icon_title = !!(x) 96 #define HAS_STIPPLED_ICON_TITLE(fw) \ 97 ((fw)->flags.common.s.has_stippled_icon_title) 98 #define SET_HAS_STIPPLED_ICON_TITLE(fw,x) \ 99 (fw)->flags.common.s.has_stippled_icon_title = !!(x) 100 #define SETM_HAS_STIPPLED_ICON_TITLE(fw,x) \ 101 (fw)->flag_mask.common.s.has_stippled_icon_title = !!(x) 102 #define ICON_OVERRIDE_MODE(fw) \ 103 ((fw)->flags.common.s.icon_override) 104 #define SET_ICON_OVERRIDE_MODE(fw,x) \ 105 (fw)->flags.common.s.icon_override = ((x) & ICON_OVERRIDE_MASK) 106 #define SETM_ICON_OVERRIDE_MODE(fw,x) \ 107 (fw)->flag_mask.common.s.icon_override = ((x) ? ICON_OVERRIDE_MASK : 0) 108 #define IS_ICON_STICKY_ACROSS_PAGES(fw) \ 109 ((fw)->flags.common.s.is_icon_sticky_across_pages) 110 #define SET_ICON_STICKY_ACROSS_PAGES(fw,x) \ 111 (fw)->flags.common.s.is_icon_sticky_across_pages = !!(x) 112 #define SETM_ICON_STICKY_ACROSS_PAGES(fw,x) \ 113 (fw)->flag_mask.common.s.is_icon_sticky_across_pages = !!(x) 114 #define IS_ICON_STICKY_ACROSS_DESKS(fw) \ 115 ((fw)->flags.common.s.is_icon_sticky_across_desks) 116 #define SET_ICON_STICKY_ACROSS_DESKS(fw,x) \ 117 (fw)->flags.common.s.is_icon_sticky_across_desks = !!(x) 118 #define SETM_ICON_STICKY_ACROSS_DESKS(fw,x) \ 119 (fw)->flag_mask.common.s.is_icon_sticky_across_desks = !!(x) 120 #define USE_ICON_POSITION_HINT(fw) \ 121 ((fw)->flags.common.s.use_icon_position_hint) 122 #define SET_USE_ICON_POSITION_HINT(fw,x) \ 123 (fw)->flags.common.s.use_icon_position_hint = !!(x) 124 #define SETM_USE_ICON_POSITION_HINT(fw,x) \ 125 (fw)->flag_mask.common.s.use_icon_position_hint = !!(x) 126 #define USE_INDEXED_WINDOW_NAME(fw) \ 127 ((fw)->flags.common.s.use_indexed_window_name) 128 #define SET_USE_INDEXED_WINDOW_NAME(fw,x) \ 129 (fw)->flags.common.s.use_indexed_window_name = !!(x) 130 #define SETM_USE_INDEXED_WINDOW_NAME(fw,x) \ 131 (fw)->flag_mask.common.s.use_indexed_window_name = !!(x) 132 #define USE_INDEXED_ICON_NAME(fw) \ 133 ((fw)->flags.common.s.use_indexed_icon_name) 134 #define SET_USE_INDEXED_ICON_NAME(fw,x) \ 135 (fw)->flags.common.s.use_indexed_icon_name = !!(x) 136 #define SETM_USE_INDEXED_ICON_NAME(fw,x) \ 137 (fw)->flag_mask.common.s.use_indexed_icon_name = !!(x) 138 #define WINDOWSHADE_LAZINESS(fw) \ 139 ((fw)->flags.common.s.windowshade_laziness) 140 #define SET_WINDOWSHADE_LAZINESS(fw,x) \ 141 (fw)->flags.common.s.windowshade_laziness = \ 142 ((x) & WINDOWSHADE_LAZY_MASK) 143 #define SETM_WINDOWSHADE_LAZINESS(fw,x) \ 144 (fw)->flag_mask.common.s.windowshade_laziness = \ 145 ((x) ? WINDOWSHADE_LAZY_MASK : 0) 146 #define DO_EWMH_MINI_ICON_OVERRIDE(fw) \ 147 ((fw)->flags.common.s.do_ewmh_mini_icon_override) 148 #define SET_DO_EWMH_MINI_ICON_OVERRIDE(fw,x) \ 149 (fw)->flags.common.s.do_ewmh_mini_icon_override = !!(x) 150 #define SETM_DO_EWMH_MINI_ICON_OVERRIDE(fw,x) \ 151 (fw)->flag_mask.common.s.do_ewmh_mini_icon_override = !!(x) 152 #define DO_EWMH_DONATE_ICON(fw) \ 153 ((fw)->flags.common.s.do_ewmh_donate_icon) 154 #define SET_DO_EWMH_DONATE_ICON(fw,x) \ 155 (fw)->flags.common.s.do_ewmh_donate_icon = !!(x) 156 #define SETM_DO_EWMH_DONATE_ICON(fw,x) \ 157 (fw)->flag_mask.common.s.do_ewmh_donate_icon = !!(x) 158 #define DO_EWMH_DONATE_MINI_ICON(fw) \ 159 ((fw)->flags.common.s.do_ewmh_donate_mini_icon) 160 #define SET_DO_EWMH_DONATE_MINI_ICON(fw,x) \ 161 (fw)->flags.common.s.do_ewmh_donate_mini_icon = !!(x) 162 #define SETM_DO_EWMH_DONATE_MINI_ICON(fw,x) \ 163 (fw)->flag_mask.common.s.do_ewmh_donate_mini_icon = !!(x) 164 #define DO_EWMH_USE_STACKING_HINTS(fw) \ 165 ((fw)->flags.common.s.do_ewmh_use_stacking_hints) 166 #define SET_DO_EWMH_USE_STACKING_HINTS(fw,x) \ 167 (fw)->flags.common.s.do_ewmh_use_stacking_hints = !!(x) 168 #define SETM_DO_EWMH_USE_STACKING_HINTS(fw,x) \ 169 (fw)->flag_mask.common.s.do_ewmh_use_stacking_hints = !!(x) 170 #define DO_EWMH_IGNORE_STRUT_HINTS(fw) \ 171 ((fw)->flags.common.s.do_ewmh_ignore_strut_hints) 172 #define SET_DO_EWMH_IGNORE_STRUT_HINTS(fw,x) \ 173 (fw)->flags.common.s.do_ewmh_ignore_strut_hints = !!(x) 174 #define SETM_DO_EWMH_IGNORE_STRUT_HINTS(fw,x) \ 175 (fw)->flag_mask.common.s.do_ewmh_ignore_strut_hints = !!(x) 176 #define DO_EWMH_IGNORE_STATE_HINTS(fw) \ 177 ((fw)->flags.common.s.do_ewmh_ignore_state_hints) 178 #define SET_DO_EWMH_IGNORE_STATE_HINTS(fw,x) \ 179 (fw)->flags.common.s.do_ewmh_ignore_state_hints = !!(x) 180 #define SETM_DO_EWMH_IGNORE_STATE_HINTS(fw,x) \ 181 (fw)->flag_mask.common.s.do_ewmh_ignore_state_hints = !!(x) 182 #define DO_EWMH_IGNORE_WINDOW_TYPE(fw) \ 183 ((fw)->flags.common.s.do_ewmh_ignore_window_type) 184 #define SET_DO_EWMH_IGNORE_WINDOW_TYPE(fw,x) \ 185 (fw)->flags.common.s.do_ewmh_ignore_window_type = !!(x) 186 #define SETM_DO_EWMH_IGNORE_WINDOW_TYPE(fw,x) \ 187 (fw)->flag_mask.common.s.do_ewmh_ignore_window_type = !!(x) 188 #define EWMH_MAXIMIZE_MODE(fw) \ 189 ((fw)->flags.common.s.ewmh_maximize_mode) 190 #define SET_EWMH_MAXIMIZE_MODE(fw,x) \ 191 (fw)->flags.common.s.ewmh_maximize_mode = (x) 192 #define SETM_EWMH_MAXIMIZE_MODE(fw,x) \ 193 (fw)->flag_mask.common.s.ewmh_maximize_mode = (x) 194 #define IS_ICON_SUPPRESSED(fw) \ 195 ((fw)->flags.common.s.is_icon_suppressed) 196 #define SET_ICON_SUPPRESSED(fw,x) \ 197 (fw)->flags.common.s.is_icon_suppressed = !!(x) 198 #define SETM_ICON_SUPPRESSED(fw,x) \ 199 (fw)->flag_mask.common.s.is_icon_suppressed = !!(x) 200 #define IS_STICKY_ACROSS_PAGES(fw) \ 201 ((fw)->flags.common.is_sticky_across_pages) 202 #define SET_STICKY_ACROSS_PAGES(fw,x) \ 203 (fw)->flags.common.is_sticky_across_pages = !!(x) 204 #define SETM_STICKY_ACROSS_PAGES(fw,x) \ 205 (fw)->flag_mask.common.is_sticky_across_pages = !!(x) 206 #define IS_STICKY_ACROSS_DESKS(fw) \ 207 ((fw)->flags.common.is_sticky_across_desks) 208 #define SET_STICKY_ACROSS_DESKS(fw,x) \ 209 (fw)->flags.common.is_sticky_across_desks = !!(x) 210 #define SETM_STICKY_ACROSS_DESKS(fw,x) \ 211 (fw)->flag_mask.common.is_sticky_across_desks = !!(x) 212 #define HAS_ICON_FONT(fw) \ 213 ((fw)->flags.common.has_icon_font) 214 #define SET_HAS_ICON_FONT(fw,x) \ 215 (fw)->flags.common.has_icon_font = !!(x) 216 #define SETM_HAS_ICON_FONT(fw,x) \ 217 (fw)->flag_mask.common.has_icon_font = !!(x) 218 #define HAS_NO_ICON_TITLE(fw) \ 219 ((fw)->flags.common.s.has_no_icon_title) 220 #define SET_HAS_NO_ICON_TITLE(fw,x) \ 221 (fw)->flags.common.s.has_no_icon_title = !!(x) 222 #define SETM_HAS_NO_ICON_TITLE(fw,x) \ 223 (fw)->flag_mask.common.s.has_no_icon_title = !!(x) 224 #define HAS_WINDOW_FONT(fw) \ 225 ((fw)->flags.common.has_window_font) 226 #define SET_HAS_WINDOW_FONT(fw,x) \ 227 (fw)->flags.common.has_window_font = !!(x) 228 #define SETM_HAS_WINDOW_FONT(fw,x) \ 229 (fw)->flag_mask.common.has_window_font = !!(x) 230 #define HAS_MWM_BORDER(fw) \ 231 ((fw)->flags.common.s.has_mwm_border) 232 #define HAS_MWM_BUTTONS(fw) \ 233 ((fw)->flags.common.s.has_mwm_buttons) 234 #define HAS_MWM_OVERRIDE_HINTS(fw) \ 235 ((fw)->flags.common.s.has_mwm_override) 236 #define HAS_OVERRIDE_SIZE_HINTS(fw) \ 237 ((fw)->flags.common.s.has_override_size) 238 #define DO_ICONIFY_WINDOW_GROUPS(fw) \ 239 ((fw)->flags.common.s.do_iconify_window_groups) 240 #define DO_IGNORE_GNOME_HINTS(fw) \ 241 ((fw)->flags.common.s.do_ignore_gnome_hints) 242 #define DO_IGNORE_RESTACK(fw) \ 243 ((fw)->flags.common.s.do_ignore_restack) 244 #define DO_IGNORE_ICON_BOXES(fw) \ 245 ((fw)->flags.common.s.do_ignore_icon_boxes) 246 #define DO_USE_WINDOW_GROUP_HINT(fw) \ 247 ((fw)->flags.common.s.do_use_window_group_hint) 248 #define IS_FIXED(fw) \ 249 ((fw)->flags.common.s.is_fixed) 250 #define SET_FIXED(fw,x) \ 251 (fw)->flags.common.s.is_fixed = !!(x) 252 #define SETM_FIXED(fw,x) \ 253 (fw)->flag_mask.common.s.is_fixed = !!(x) 254 #define IS_FIXED_PPOS(fw) \ 255 ((fw)->flags.common.s.is_fixed_ppos) 256 #define SET_FIXED_PPOS(fw,x) \ 257 (fw)->flags.common.s.is_fixed_ppos = !!(x) 258 #define SETM_FIXED_PPOS(fw,x) \ 259 (fw)->flag_mask.common.s.is_fixed_ppos = !!(x) 260 #define IS_SIZE_FIXED(fw) \ 261 ((fw)->flags.common.s.is_size_fixed) 262 #define SET_SIZE_FIXED(fw,x) \ 263 (fw)->flags.common.s.is_size_fixed = !!(x) 264 #define SETM_SIZE_FIXED(fw,x) \ 265 (fw)->flag_mask.common.s.is_size_fixed = !!(x) 266 #define IS_PSIZE_FIXED(fw) \ 267 ((fw)->flags.common.s.is_psize_fixed) 268 #define SET_PSIZE_FIXED(fw,x) \ 269 (fw)->flags.common.s.is_psize_fixed = !!(x) 270 #define SETM_PSIZE_FIXED(fw,x) \ 271 (fw)->flag_mask.common.s.is_psize_fixed = !!(x) 272 #define IS_UNICONIFIABLE(fw) \ 273 ((fw)->flags.common.s.is_uniconifiable) 274 #define SET_IS_UNICONIFIABLE(fw,x) \ 275 (fw)->flags.common.s.is_uniconifiable = !!(x) 276 #define SETM_IS_UNICONIFIABLE(fw,x) \ 277 (fw)->flag_mask.common.s.is_uniconifiable = !!(x) 278 #define IS_UNMAXIMIZABLE(fw) \ 279 ((fw)->flags.common.s.is_unmaximizable) 280 #define SET_IS_UNMAXIMIZABLE(fw,x) \ 281 (fw)->flags.common.s.is_unmaximizable = !!(x) 282 #define SETM_IS_UNMAXIMIZABLE(fw,x) \ 283 (fw)->flag_mask.common.s.is_unmaximizable = !!(x) 284 #define IS_UNCLOSABLE(fw) \ 285 ((fw)->flags.common.s.is_unclosable) 286 #define SET_IS_UNCLOSABLE(fw,x) \ 287 (fw)->flags.common.s.is_unclosable = !!(x) 288 #define SETM_IS_UNCLOSABLE(fw,x) \ 289 (fw)->flag_mask.common.s.is_unclosable = !!(x) 290 #define IS_MAXIMIZE_FIXED_SIZE_DISALLOWED(fw) \ 291 ((fw)->flags.common.s.is_maximize_fixed_size_disallowed) 292 #define SET_MAXIMIZE_FIXED_SIZE_DISALLOWED(fw,x) \ 293 (fw)->flags.common.s.is_maximize_fixed_size_disallowed = !!(x) 294 #define SETM_MAXIMIZE_FIXED_SIZE_DISALLOWED(fw,x) \ 295 (fw)->flag_mask.common.s.is_maximize_fixed_size_disallowed = !!(x) 296 #define HAS_DEPRESSABLE_BORDER(fw) \ 297 ((fw)->flags.common.s.has_depressable_border) 298 299 #define IS_LEFT_TITLE_ROTATED_CW(fw) \ 300 ((fw)->flags.common.s.is_left_title_rotated_cw) 301 #define SET_IS_LEFT_TITLE_ROTATED_CW(fw,x) \ 302 (fw)->flags.common.s.is_left_title_rotated_cw = !!(x) 303 #define SETM_IS_LEFT_TITLE_ROTATED_CW(fw,x) \ 304 (fw)->flag_mask.common.s.is_left_title_rotated_cw = !!(x) 305 #define IS_RIGHT_TITLE_ROTATED_CW(fw) \ 306 ((fw)->flags.common.s.is_right_title_rotated_cw) 307 #define SET_IS_RIGHT_TITLE_ROTATED_CW(fw,x) \ 308 (fw)->flags.common.s.is_right_title_rotated_cw = !!(x) 309 #define SETM_IS_RIGHT_TITLE_ROTATED_CW(fw,x) \ 310 (fw)->flag_mask.common.s.is_right_title_rotated_cw = !!(x) 311 #define IS_BOTTOM_TITLE_ROTATED(fw) \ 312 ((fw)->flags.common.s.is_bottom_title_rotated) 313 #define SET_IS_BOTTOM_TITLE_ROTATED(fw,x) \ 314 (fw)->flags.common.s.is_bottom_title_rotated = !!(x) 315 #define SETM_IS_BOTTOM_TITLE_ROTATED(fw,x) \ 316 (fw)->flag_mask.common.s.is_bottom_title_rotated = !!(x) 317 #define IS_BOTTOM_TITLE_ROTATED(fw) \ 318 ((fw)->flags.common.s.is_bottom_title_rotated) 319 #define SET_IS_BOTTOM_TITLE_ROTATED(fw,x) \ 320 (fw)->flags.common.s.is_bottom_title_rotated = !!(x) 321 #define SETM_IS_BOTTOM_TITLE_ROTATED(fw,x) \ 322 (fw)->flag_mask.common.s.is_bottom_title_rotated = !!(x) 323 #define USE_TITLE_DECOR_ROTATION(fw) \ 324 ((fw)->flags.common.s.use_title_decor_rotation) 325 #define SET_USE_TITLE_DECOR_ROTATION(fw,x) \ 326 (fw)->flags.common.s.use_title_decor_rotation = !!(x) 327 #define SETM_USE_TITLE_DECOR_ROTATION(fw,x) \ 328 (fw)->flag_mask.common.s.use_title_decor_rotation = !!(x) 329 330 /* access to the special flags of a window */ 331 #define DO_REUSE_DESTROYED(fw) \ 332 ((fw)->flags.do_reuse_destroyed) 333 #define SET_DO_REUSE_DESTROYED(fw,x) \ 334 (fw)->flags.do_reuse_destroyed = !!(x) 335 #define SETM_DO_REUSE_DESTROYED(fw,x) \ 336 (fw)->flag_mask.do_reuse_destroyed = !!(x) 337 #define HAS_NO_BORDER(fw) \ 338 ((fw)->flags.common.has_no_border) 339 #define SET_HAS_NO_BORDER(fw,x) \ 340 (fw)->flags.common.has_no_border = !!(x) 341 #define SETM_HAS_NO_BORDER(fw,x) \ 342 (fw)->flag_mask.common.has_no_border = !!(x) 343 #define HAS_HANDLES(fw) \ 344 ((fw)->flags.has_handles) 345 #define SET_HAS_HANDLES(fw,x) \ 346 (fw)->flags.has_handles = !!(x) 347 #define SETM_HAS_HANDLES(fw,x) \ 348 (fw)->flag_mask.has_handles = !!(x) 349 #define HAS_ICON_CHANGED(fw) \ 350 ((fw)->flags.has_icon_changed) 351 #define SET_HAS_ICON_CHANGED(fw,x) \ 352 (fw)->flags.has_icon_changed = !!(x) 353 #define SETM_HAS_ICON_CHANGED(fw,x) \ 354 (fw)->flag_mask.has_icon_changed = !!(x) 355 #define HAS_TITLE(fw) \ 356 ((fw)->flags.has_title) 357 #define SET_HAS_TITLE(fw,x) \ 358 (fw)->flags.has_title = !!(x) 359 #define SETM_HAS_TITLE(fw,x) \ 360 (fw)->flag_mask.has_title = !!(x) 361 #define HAS_NEW_WM_NORMAL_HINTS(fw) \ 362 ((fw)->flags.has_new_wm_normal_hints) 363 #define SET_HAS_NEW_WM_NORMAL_HINTS(fw,x) \ 364 (fw)->flags.has_new_wm_normal_hints = !!(x) 365 #define SETM_HAS_NEW_WM_NORMAL_HINTS(fw,x) \ 366 (fw)->flag_mask.has_new_wm_normal_hints = !!(x) 367 #define IS_MAPPED(fw) \ 368 ((fw)->flags.is_mapped) 369 #define SET_MAPPED(fw,x) \ 370 (fw)->flags.is_mapped = !!(x) 371 #define SETM_MAPPED(fw,x) \ 372 (fw)->flag_mask.is_mapped = !!(x) 373 #define IS_DECOR_CHANGED(fw) \ 374 ((fw)->flags.is_decor_changed) 375 #define SET_DECOR_CHANGED(fw,x) \ 376 (fw)->flags.is_decor_changed = !!(x) 377 #define SETM_DECOR_CHANGED(fw,x) \ 378 (fw)->flag_mask.is_decor_changed = !!(x) 379 #define IS_ICON_FONT_LOADED(fw) \ 380 ((fw)->flags.is_icon_font_loaded) 381 #define SET_ICON_FONT_LOADED(fw,x) \ 382 (fw)->flags.is_icon_font_loaded = !!(x) 383 #define SETM_ICON_FONT_LOADED(fw,x) \ 384 (fw)->flag_mask.is_icon_font_loaded = !!(x) 385 #define IS_ICONIFIED(fw) \ 386 ((fw)->flags.is_iconified) 387 #define SET_ICONIFIED(fw,x) \ 388 (fw)->flags.is_iconified = !!(x) 389 #define SETM_ICONIFIED(fw,x) \ 390 (fw)->flag_mask.is_iconified = !!(x) 391 #define IS_ICONIFIED_BY_PARENT(fw) \ 392 ((fw)->flags.is_iconified_by_parent) 393 #define SET_ICONIFIED_BY_PARENT(fw,x) \ 394 (fw)->flags.is_iconified_by_parent = !!(x) 395 #define SETM_ICONIFIED_BY_PARENT(fw,x) \ 396 (fw)->flag_mask.is_iconified_by_parent = !!(x) 397 #define IS_ICON_ENTERED(fw) \ 398 ((fw)->flags.is_icon_entered) 399 #define SET_ICON_ENTERED(fw,x) \ 400 (fw)->flags.is_icon_entered = !!(x) 401 #define SETM_ICON_ENTERED(fw,x) \ 402 (fw)->flag_mask.is_icon_entered = !!(x) 403 #define IS_ICON_OURS(fw) \ 404 ((fw)->flags.is_icon_ours) 405 #define SET_ICON_OURS(fw,x) \ 406 (fw)->flags.is_icon_ours = !!(x) 407 #define SETM_ICON_OURS(fw,x) \ 408 (fw)->flag_mask.is_icon_ours = !!(x) 409 #define IS_ICON_SHAPED(fw) \ 410 ((fw)->flags.is_icon_shaped) 411 #define SET_ICON_SHAPED(fw,x) \ 412 (fw)->flags.is_icon_shaped = !!(x) 413 #define SETM_ICON_SHAPED(fw,x) \ 414 (fw)->flag_mask.is_icon_shaped = !!(x) 415 #define IS_ICON_MOVED(fw) \ 416 ((fw)->flags.is_icon_moved) 417 #define SET_ICON_MOVED(fw,x) \ 418 (fw)->flags.is_icon_moved = !!(x) 419 #define SETM_ICON_MOVED(fw,x) \ 420 (fw)->flag_mask.is_icon_moved = !!(x) 421 #define IS_ICON_UNMAPPED(fw) \ 422 ((fw)->flags.is_icon_unmapped) 423 #define SET_ICON_UNMAPPED(fw,x) \ 424 (fw)->flags.is_icon_unmapped = !!(x) 425 #define SETM_ICON_UNMAPPED(fw,x) \ 426 (fw)->flag_mask.is_icon_unmapped = !!(x) 427 #define IS_IN_TRANSIENT_SUBTREE(fw) \ 428 ((fw)->flags.is_in_transient_subtree) 429 #define SET_IN_TRANSIENT_SUBTREE(fw,x) \ 430 (fw)->flags.is_in_transient_subtree = !!(x) 431 #define IS_MAP_PENDING(fw) \ 432 ((fw)->flags.is_map_pending) 433 #define SET_MAP_PENDING(fw,x) \ 434 (fw)->flags.is_map_pending = !!(x) 435 #define SETM_MAP_PENDING(fw,x) \ 436 (fw)->flag_mask.is_map_pending = !!(x) 437 #define IS_MAXIMIZED(fw) \ 438 ((fw)->flags.is_maximized) 439 #define SET_MAXIMIZED(fw,x) \ 440 (fw)->flags.is_maximized = !!(x) 441 #define SETM_MAXIMIZED(fw,x) \ 442 (fw)->flag_mask.is_maximized = !!(x) 443 #define IS_NAME_CHANGED(fw) \ 444 ((fw)->flags.is_name_changed) 445 #define SET_NAME_CHANGED(fw,x) \ 446 (fw)->flags.is_name_changed = !!(x) 447 #define SETM_NAME_CHANGED(fw,x) \ 448 (fw)->flag_mask.is_name_changed = !!(x) 449 #define IS_PIXMAP_OURS(fw) \ 450 ((fw)->flags.is_pixmap_ours) 451 #define SET_PIXMAP_OURS(fw,x) \ 452 (fw)->flags.is_pixmap_ours = !!(x) 453 #define SETM_PIXMAP_OURS(fw,x) \ 454 (fw)->flag_mask.is_pixmap_ours = !!(x) 455 #define IS_PLACED_BY_FVWM(fw) \ 456 ((fw)->flags.is_placed_by_fvwm) 457 #define SET_PLACED_BY_FVWM(fw,x) \ 458 (fw)->flags.is_placed_by_fvwm = (x) 459 #define SETM_PLACED_BY_FVWM(fw,x) \ 460 (fw)->flag_mask.is_placed_by_fvwm = (x) 461 #define IS_SCHEDULED_FOR_DESTROY(fw) \ 462 ((fw)->flags.is_scheduled_for_destroy) 463 #define SET_SCHEDULED_FOR_DESTROY(fw,x) \ 464 (fw)->flags.is_scheduled_for_destroy = !!(x) 465 #define IS_SCHEDULED_FOR_RAISE(fw) \ 466 ((fw)->flags.is_scheduled_for_raise) 467 #define SET_SCHEDULED_FOR_RAISE(fw,x) \ 468 (fw)->flags.is_scheduled_for_raise = !!(x) 469 #define IS_SHADED(fw) \ 470 ((fw)->flags.is_window_shaded) 471 #define USED_TITLE_DIR_FOR_SHADING(fw) \ 472 ((fw)->flags.used_title_dir_for_shading) 473 #define SET_USED_TITLE_DIR_FOR_SHADING(fw,x) \ 474 ((fw)->flags.used_title_dir_for_shading = !!(x)) 475 #define SHADED_DIR(fw) \ 476 ((fw)->flags.shaded_dir) 477 #define SET_SHADED(fw,x) \ 478 (fw)->flags.is_window_shaded = !!(x) 479 #define SET_SHADED_DIR(fw,x) \ 480 (fw)->flags.shaded_dir = (x) 481 #define SETM_SHADED(fw,x) \ 482 (fw)->flag_mask.is_window_shaded = !!(x) 483 #define IS_TEAR_OFF_MENU(fw) \ 484 ((fw)->flags.is_tear_off_menu) 485 #define SET_TEAR_OFF_MENU(fw,x) \ 486 (fw)->flags.is_tear_off_menu = !!(x) 487 #define SETM_TEAR_OFF_MENU(fw,x) \ 488 (fw)->flag_mask.is_tear_off_menu = !!(x) 489 #define IS_TRANSIENT(fw) \ 490 ((fw)->flags.is_transient) 491 #define SET_TRANSIENT(fw,x) \ 492 (fw)->flags.is_transient = !!(x) 493 #define SETM_TRANSIENT(fw,x) \ 494 (fw)->flag_mask.is_transient = !!(x) 495 #define IS_ICONIFY_PENDING(fw) \ 496 ((fw)->flags.is_iconify_pending) 497 #define SET_ICONIFY_PENDING(fw,x) \ 498 (fw)->flags.is_iconify_pending = !!(x) 499 #define SETM_ICONIFY_PENDING(fw,x) \ 500 (fw)->flag_mask.is_iconify_pending = !!(x) 501 #define DO_ICONIFY_AFTER_MAP(fw) \ 502 ((fw)->flags.do_iconify_after_map) 503 #define SET_ICONIFY_AFTER_MAP(fw,x) \ 504 (fw)->flags.do_iconify_after_map = !!(x) 505 #define SETM_ICONIFY_AFTER_MAP(fw,x) \ 506 (fw)->flag_mask.do_iconify_after_map = !!(x) 507 #define DO_DISABLE_CONSTRAIN_SIZE_FULLSCREEN(fw) \ 508 ((fw)->flags.do_disable_constrain_size_fullscreen) 509 #define SET_DISABLE_CONSTRAIN_SIZE_FULLSCREEN(fw,x) \ 510 (fw)->flags.do_disable_constrain_size_fullscreen = !!(x) 511 #define SETM_DISABLE_CONSTRAIN_SIZE_FULLSCREEN(fw,x) \ 512 (fw)->flag_mask.do_disable_constrain_size_fullscreen = !!(x) 513 #define IS_SIZE_INC_SET(fw) \ 514 ((fw)->flags.is_size_inc_set) 515 #define SET_SIZE_INC_SET(fw,x) \ 516 (fw)->flags.is_size_inc_set = !!(x) 517 #define SETM_SIZE_INC_SET(fw,x) \ 518 (fw)->flag_mask.is_size_inc_set = !!(x) 519 #define IS_STYLE_DELETED(fw) \ 520 ((fw)->flags.is_style_deleted) 521 #define SET_STYLE_DELETED(fw,x) \ 522 (fw)->flags.is_style_deleted = !!(x) 523 #define SETM_STYLE_DELETED(fw,x) \ 524 (fw)->flag_mask.is_style_deleted = !!(x) 525 #define IS_VIEWPORT_MOVED(fw) \ 526 ((fw)->flags.is_viewport_moved) 527 #define SET_VIEWPORT_MOVED(fw,x) \ 528 (fw)->flags.is_viewport_moved = !!(x) 529 #define SETM_VIEWPORT_MOVED(fw,x) \ 530 (fw)->flag_mask.is_viewport_moved = !!(x) 531 #define IS_VIEWPORT_MOVED(fw) \ 532 ((fw)->flags.is_viewport_moved) 533 #define IS_FOCUS_CHANGE_BROADCAST_PENDING(fw) \ 534 ((fw)->flags.is_focus_change_broadcast_pending) 535 #define SET_FOCUS_CHANGE_BROADCAST_PENDING(fw,x) \ 536 (fw)->flags.is_focus_change_broadcast_pending = !!(x) 537 #define SETM_FOCUS_CHANGE_BROADCAST_PENDING(fw,x) \ 538 (fw)->flag_mask.is_focus_change_broadcast_pending = !!(x) 539 #define IS_FULLY_VISIBLE(fw) \ 540 ((fw)->flags.is_fully_visible) 541 #define SET_FULLY_VISIBLE(fw,x) \ 542 (fw)->flags.is_fully_visible = !!(x) 543 #define SETM_FULLY_VISIBLE(fw,x) \ 544 (fw)->flag_mask.is_fully_visible = !!(x) 545 #define IS_PARTIALLY_VISIBLE(fw) \ 546 ((fw)->flags.is_partially_visible) 547 #define SET_PARTIALLY_VISIBLE(fw,x) \ 548 (fw)->flags.is_partially_visible = !!(x) 549 #define SETM_PARTIALLY_VISIBLE(fw,x) \ 550 (fw)->flag_mask.is_partially_visible = !!(x) 551 #define IS_WINDOW_DRAWN_ONCE(fw) \ 552 ((fw)->flags.is_window_drawn_once) 553 #define SET_WINDOW_DRAWN_ONCE(fw,x) \ 554 (fw)->flags.is_window_drawn_once = !!(x) 555 #define SETM_WINDOW_DRAWN_ONCE(fw,x) \ 556 (fw)->flag_mask.is_window_drawn_once = !!(x) 557 #define IS_WINDOW_BEING_MOVED_OPAQUE(fw) \ 558 ((fw)->flags.is_window_being_moved_opaque) 559 #define SET_WINDOW_BEING_MOVED_OPAQUE(fw,x) \ 560 (fw)->flags.is_window_being_moved_opaque = !!(x) 561 #define SETM_WINDOW_BEING_MOVED_OPAQUE(fw,x) \ 562 (fw)->flag_mask.is_window_being_moved_opaque = !!(x) 563 #define IS_WINDOW_BORDER_DRAWN(fw) \ 564 ((fw)->flags.is_window_border_drawn) 565 #define SET_WINDOW_BORDER_DRAWN(fw,x) \ 566 (fw)->flags.is_window_border_drawn = !!(x) 567 #define SETM_WINDOW_BORDER_DRAWN(fw,x) \ 568 (fw)->flag_mask.is_window_border_drawn = !!(x) 569 #define IS_WINDOW_FONT_LOADED(fw) \ 570 ((fw)->flags.is_window_font_loaded) 571 #define SET_WINDOW_FONT_LOADED(fw,x) \ 572 (fw)->flags.is_window_font_loaded = !!(x) 573 #define SETM_WINDOW_FONT_LOADED(fw,x) \ 574 (fw)->flag_mask.is_window_font_loaded = !!(x) 575 #define CR_MOTION_METHOD(fw) \ 576 ((fw)->flags.cr_motion_method) 577 #define SET_CR_MOTION_METHOD(fw,x) \ 578 (fw)->flags.cr_motion_method = ((x) & CR_MOTION_METHOD_MASK) 579 #define SETM_CR_MOTION_METHOD(fw,x) \ 580 (fw)->flag_mask.cr_motion_method = ((x) ? CR_MOTION_METHOD_MASK : 0) 581 #define WAS_CR_MOTION_METHOD_DETECTED(fw) \ 582 ((fw)->flags.was_cr_motion_method_detected) 583 #define SET_CR_MOTION_METHOD_DETECTED(fw,x) \ 584 (fw)->flags.was_cr_motion_method_detected = !!(x) 585 #define SETM_CR_MOTION_METHOD_DETECTED(fw,x) \ 586 (fw)->flag_mask.was_cr_motion_method_detected = !!(x) 587 #define WM_DELETES_WINDOW(fw) \ 588 ((fw)->flags.does_wm_delete_window) 589 #define SET_WM_DELETES_WINDOW(fw,x) \ 590 (fw)->flags.does_wm_delete_window = !!(x) 591 #define SETM_WM_DELETES_WINDOW(fw,x) \ 592 (fw)->flag_mask.does_wm_delete_window = !!(x) 593 #define WM_TAKES_FOCUS(fw) \ 594 ((fw)->flags.does_wm_take_focus) 595 #define SET_WM_TAKES_FOCUS(fw,x) \ 596 (fw)->flags.does_wm_take_focus = !!(x) 597 #define SETM_WM_TAKES_FOCUS(fw,x) \ 598 (fw)->flag_mask.does_wm_take_focus = !!(x) 599 #define DO_FORCE_NEXT_CR(fw) \ 600 ((fw)->flags.do_force_next_cr) 601 #define SET_FORCE_NEXT_CR(fw,x) \ 602 (fw)->flags.do_force_next_cr = !!(x) 603 #define SETM_FORCE_NEXT_CR(fw,x) \ 604 (fw)->flag_mask.do_force_next_cr = !!(x) 605 #define DO_FORCE_NEXT_PN(fw) \ 606 ((fw)->flags.do_force_next_pn) 607 #define SET_FORCE_NEXT_PN(fw,x) \ 608 (fw)->flags.do_force_next_pn = !!(x) 609 #define SETM_FORCE_NEXT_PN(fw,x) \ 610 (fw)->flag_mask.do_force_next_pn = !!(x) 611 #define USING_DEFAULT_WINDOW_FONT(fw) \ 612 ((fw)->flags.using_default_window_font) 613 #define SET_USING_DEFAULT_WINDOW_FONT(fw,x) \ 614 (fw)->flags.using_default_window_font = !!(x) 615 #define SETM_USING_DEFAULT_WINDOW_FONT(fw,x) \ 616 (fw)->flag_mask.using_default_window_font = !!(x) 617 #define USING_DEFAULT_ICON_FONT(fw) \ 618 ((fw)->flags.using_default_icon_font) 619 #define SET_USING_DEFAULT_ICON_FONT(fw,x) \ 620 (fw)->flags.using_default_icon_font = !!(x) 621 #define SETM_USING_DEFAULT_ICON_FONT(fw,x) \ 622 (fw)->flag_mask.using_default_icon_font = !!(x) 623 #define WAS_ICON_HINT_PROVIDED(fw) \ 624 ((fw)->flags.was_icon_hint_provided) 625 #define SET_WAS_ICON_HINT_PROVIDED(fw,x) \ 626 (fw)->flags.was_icon_hint_provided = (x) 627 #define SETM_WAS_ICON_HINT_PROVIDED(fw,x) \ 628 (fw)->flag_mask.was_icon_hint_provided = (x) 629 #define WAS_ICON_NAME_PROVIDED(fw) \ 630 ((fw)->flags.was_icon_name_provided) 631 #define SET_WAS_ICON_NAME_PROVIDED(fw,x) \ 632 (fw)->flags.was_icon_name_provided = (x) 633 #define SETM_WAS_ICON_NAME_PROVIDED(fw,x) \ 634 (fw)->flag_mask.was_icon_name_provided = (x) 635 #define WAS_NEVER_DRAWN(fw) \ 636 ((fw)->flags.was_never_drawn) 637 #define SET_WAS_NEVER_DRAWN(fw,x) \ 638 (fw)->flags.was_never_drawn = (x) 639 #define SETM_WAS_NEVER_DRAWN(fw,x) \ 640 (fw)->flag_mask.was_never_drawn = (x) 641 #define HAS_EWMH_WM_NAME(fw) \ 642 ((fw)->flags.has_ewmh_wm_name) 643 #define SET_HAS_EWMH_WM_NAME(fw,x) \ 644 (fw)->flags.has_ewmh_wm_name = !!(x) 645 #define SETM_HAS_EWMH_WM_NAME(fw,x) \ 646 (fw)->flag_mask.has_ewmh_wm_name = !!(x) 647 #define HAS_EWMH_WM_ICON_NAME(fw) \ 648 ((fw)->flags.has_ewmh_wm_icon_name) 649 #define SET_HAS_EWMH_WM_ICON_NAME(fw,x) \ 650 (fw)->flags.has_ewmh_wm_icon_name = !!(x) 651 #define SETM_HAS_EWMH_WM_ICON_NAME(fw,x) \ 652 (fw)->flag_mask.has_ewmh_wm_icon_name = !!(x) 653 #define HAS_EWMH_WM_ICON_HINT(fw) \ 654 ((fw)->flags.has_ewmh_wm_icon_hint) 655 #define SET_HAS_EWMH_WM_ICON_HINT(fw,x) \ 656 (fw)->flags.has_ewmh_wm_icon_hint = (x) 657 #define SETM_HAS_EWMH_WM_ICON_HINT(fw,x) \ 658 (fw)->flag_mask.has_ewmh_wm_icon_hint = (x) 659 #define USE_EWMH_ICON(fw) \ 660 ((fw)->flags.use_ewmh_icon) 661 #define SET_USE_EWMH_ICON(fw,x) \ 662 (fw)->flags.use_ewmh_icon = !!(x) 663 #define SETM_USE_EWMH_ICON(fw,x) \ 664 (fw)->flag_mask.use_ewmh_icon = !!(x) 665 #define HAS_EWMH_MINI_ICON(fw) \ 666 ((fw)->flags.has_ewmh_mini_icon) 667 #define SET_HAS_EWMH_MINI_ICON(fw,x) \ 668 (fw)->flags.has_ewmh_mini_icon = !!(x) 669 #define SETM_HAS_EWMH_MINI_ICON(fw,x) \ 670 (fw)->flag_mask.has_ewmh_mini_icon = !!(x) 671 #define HAS_EWMH_WM_PID(fw) \ 672 ((fw)->flags.has_ewmh_wm_pid) 673 #define SET_HAS_EWMH_WM_PID(fw,x) \ 674 (fw)->flags.has_ewmh_wm_pid = !!(x) 675 #define SETM_HAS_EWMH_WM_PID(fw,x) \ 676 (fw)->flag_mask.has_ewmh_wm_pid = !!(x) 677 #define IS_EWMH_MODAL(fw) \ 678 ((fw)->flags.is_ewmh_modal) 679 #define SET_EWMH_MODAL(fw,x) \ 680 (fw)->flags.is_ewmh_modal = !!(x) 681 #define SETM_EWMH_MODAL(fw,x) \ 682 (fw)->flag_mask.is_ewmh_modal = !!(x) 683 #define IS_EWMH_FULLSCREEN(fw) \ 684 ((fw)->flags.is_ewmh_fullscreen) 685 #define SET_EWMH_FULLSCREEN(fw,x) \ 686 (fw)->flags.is_ewmh_fullscreen = !!(x) 687 #define SETM_EWMH_FULLSCREEN(fw,x) \ 688 (fw)->flag_mask.is_ewmh_fullscreen = !!(x) 689 #define SET_HAS_EWMH_INIT_FULLSCREEN_STATE(fw,x) \ 690 (fw)->flags.has_ewmh_init_fullscreen_state = (x) 691 #define SETM_HAS_EWMH_INIT_FULLSCREEN_STATE(fw,x) \ 692 (fw)->flag_mask.has_ewmh_init_fullscreen_state = (x) 693 #define HAS_EWMH_INIT_FULLSCREEN_STATE(fw) \ 694 ((fw)->flags.has_ewmh_init_fullscreen_state) 695 #define SET_HAS_EWMH_INIT_HIDDEN_STATE(fw,x) \ 696 (fw)->flags.has_ewmh_init_hidden_state = (x) 697 #define SETM_HAS_EWMH_INIT_HIDDEN_STATE(fw,x) \ 698 (fw)->flag_mask.has_ewmh_init_hidden_state = (x) 699 #define HAS_EWMH_INIT_HIDDEN_STATE(fw) \ 700 ((fw)->flags.has_ewmh_init_hidden_state) 701 #define SET_HAS_EWMH_INIT_MAXHORIZ_STATE(fw,x) \ 702 (fw)->flags.has_ewmh_init_maxhoriz_state = (x) 703 #define SETM_HAS_EWMH_INIT_MAXHORIZ_STATE(fw,x) \ 704 (fw)->flag_mask.has_ewmh_init_maxhoriz_state = (x) 705 #define HAS_EWMH_INIT_MAXHORIZ_STATE(fw) \ 706 ((fw)->flags.has_ewmh_init_maxhoriz_state) 707 #define SET_HAS_EWMH_INIT_MAXVERT_STATE(fw,x) \ 708 (fw)->flags.has_ewmh_init_maxvert_state = (x) 709 #define SETM_HAS_EWMH_INIT_MAXVERT_STATE(fw,x) \ 710 (fw)->flag_mask.has_ewmh_init_maxvert_state = (x) 711 #define HAS_EWMH_INIT_MAXVERT_STATE(fw) \ 712 ((fw)->flags.has_ewmh_init_maxvert_state) 713 #define SET_HAS_EWMH_INIT_MODAL_STATE(fw,x) \ 714 (fw)->flags.has_ewmh_init_modal_state = (x) 715 #define SETM_HAS_EWMH_INIT_MODAL_STATE(fw,x) \ 716 (fw)->flag_mask.has_ewmh_init_modal_state = (x) 717 #define HAS_EWMH_INIT_MODAL_STATE(fw) \ 718 ((fw)->flags.has_ewmh_init_modal_state) 719 #define SET_HAS_EWMH_INIT_SHADED_STATE(fw,x) \ 720 (fw)->flags.has_ewmh_init_shaded_state = (x) 721 #define SETM_HAS_EWMH_INIT_SHADED_STATE(fw,x) \ 722 (fw)->flag_mask.has_ewmh_init_shaded_state = (x) 723 #define HAS_EWMH_INIT_SHADED_STATE(fw) \ 724 ((fw)->flags.has_ewmh_init_shaded_state) 725 #define SET_HAS_EWMH_INIT_SKIP_PAGER_STATE(fw,x) \ 726 (fw)->flags.has_ewmh_init_skip_pager_state = (x) 727 #define SETM_HAS_EWMH_INIT_SKIP_PAGER_STATE(fw,x) \ 728 (fw)->flag_mask.has_ewmh_init_skip_pager_state = (x) 729 #define HAS_EWMH_INIT_SKIP_PAGER_STATE(fw) \ 730 ((fw)->flags.has_ewmh_init_skip_pager_state) 731 #define SET_HAS_EWMH_INIT_SKIP_TASKBAR_STATE(fw,x) \ 732 (fw)->flags.has_ewmh_init_skip_taskbar_state = (x) 733 #define SETM_HAS_EWMH_INIT_SKIP_TASKBAR_STATE(fw,x) \ 734 (fw)->flag_mask.has_ewmh_init_skip_taskbar_state = (x) 735 #define HAS_EWMH_INIT_SKIP_TASKBAR_STATE(fw) \ 736 ((fw)->flags.has_ewmh_init_skip_taskbar_state) 737 #define SET_HAS_EWMH_INIT_STICKY_STATE(fw,x) \ 738 (fw)->flags.has_ewmh_init_sticky_state = (x) 739 #define SETM_HAS_EWMH_INIT_STICKY_STATE(fw,x) \ 740 (fw)->flag_mask.has_ewmh_init_sticky_state = (x) 741 #define HAS_EWMH_INIT_STICKY_STATE(fw) \ 742 ((fw)->flags.has_ewmh_init_sticky_state) 743 #define SET_HAS_EWMH_INIT_WM_DESKTOP(fw,x) \ 744 (fw)->flags.has_ewmh_init_wm_desktop = (x) 745 #define SETM_HAS_EWMH_INIT_WM_DESKTOP(fw,x) \ 746 (fw)->flag_mask.has_ewmh_init_wm_desktop = (x) 747 #define HAS_EWMH_INIT_WM_DESKTOP(fw) \ 748 ((fw)->flags.has_ewmh_init_wm_desktop) 749 750 #endif /* _WINDOW_FLAGS_ */ 751