/* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _STYLE_ #define _STYLE_ /* access to the special flags of a style */ /* call these with a pointer to a style_flags struct */ #define SDO_DECORATE_TRANSIENT(sf) ((sf)->do_decorate_transient) #define SDO_SAVE_UNDER(sf) ((sf)->do_save_under) #define SDO_START_LOWERED(sf) ((sf)->do_start_lowered) #define SHAS_BORDER_WIDTH(sf) ((sf)->has_border_width) #define SHAS_COLOR_BACK(sf) ((sf)->has_color_back) #define SHAS_COLOR_FORE(sf) ((sf)->has_color_fore) #define SHAS_HANDLE_WIDTH(sf) ((sf)->has_handle_width) #define SHAS_ICON(sf) ((sf)->has_icon) #define SHAS_ICON_BOXES(sf) ((sf)->has_icon_boxes) #define SHAS_MAX_WINDOW_SIZE(sf) ((sf)->has_max_window_size) #define SHAS_WINDOW_SHADE_STEPS(sf) ((sf)->has_window_shade_steps) #ifdef MINI_ICONS #define SHAS_MINI_ICON(sf) ((sf)->has_mini_icon) #endif #define SHAS_MWM_DECOR(sf) ((sf)->has_mwm_decor) #define SHAS_MWM_FUNCTIONS(sf) ((sf)->has_mwm_functions) #define SHAS_NO_BORDER(sf) ((sf)->has_no_border) #define SHAS_NO_TITLE(sf) ((sf)->has_no_title) #define SHAS_OL_DECOR(sf) ((sf)->has_ol_decor) #define SIS_BUTTON_DISABLED(sf) ((sf)->is_button_disabled) #define SPLACEMENT_MODE(sf) ((sf)->placement_mode) #define SUSE_BACKING_STORE(sf) ((sf)->use_backing_store) #define SUSE_PARENT_RELATIVE(sf) ((sf)->use_parent_relative) #define SUSE_COLORSET(sf) ((sf)->use_colorset) #define SUSE_COLORSET_HI(sf) ((sf)->use_colorset_hi) #define SUSE_BORDER_COLORSET(sf) ((sf)->use_border_colorset) #define SUSE_BORDER_COLORSET_HI(sf) ((sf)->use_border_colorset_hi) #define SUSE_LAYER(sf) ((sf)->use_layer) #define SUSE_NO_PPOSITION(sf) ((sf)->use_no_pposition) #define SUSE_NO_USPOSITION(sf) ((sf)->use_no_usposition) #define SUSE_NO_TRANSIENT_PPOSITION(sf) ((sf)->use_no_transient_pposition) #define SUSE_NO_TRANSIENT_USPOSITION(sf) ((sf)->use_no_transient_usposition) #define SUSE_START_ON_DESK(sf) ((sf)->use_start_on_desk) #define SUSE_START_ON_PAGE_FOR_TRANSIENT(sf) \ ((sf)->use_start_on_page_for_transient) #define SUSE_START_ON_SCREEN(sf) ((sf)->use_start_on_screen) #define SMANUAL_PLACEMENT_HONORS_STARTS_ON_PAGE(sf) \ ((sf)->manual_placement_honors_starts_on_page) #define SCAPTURE_HONORS_STARTS_ON_PAGE(sf) \ ((sf)->capture_honors_starts_on_page) #define SRECAPTURE_HONORS_STARTS_ON_PAGE(sf) \ ((sf)->recapture_honors_starts_on_page) /* access to common flags */ #define SFGET_COMMON_FLAGS(st) ((st).flags.common) #define SFGET_COMMON_STATIC_FLAGS(st) ((st).flags.common.s) #define SMGET_COMMON_FLAGS(st) ((st).flag_mask.common) #define SMGET_COMMON_STATIC_FLAGS(st) ((st).flag_mask.common.s) #define SCGET_COMMON_FLAGS(st) ((st).change_mask.common) #define SCGET_COMMON_STATIC_FLAGS(st) ((st).change_mask.common.s) #define SHAS_BOTTOM_TITLE(sf) ((sf).common.s.has_bottom_title) #define SFHAS_BOTTOM_TITLE(st) ((st).flags.common.s.has_bottom_title) #define SMHAS_BOTTOM_TITLE(st) ((st).flag_mask.common.s.has_bottom_title) #define SCHAS_BOTTOM_TITLE(st) ((st).change_mask.common.s.has_bottom_title) #define SFSET_HAS_BOTTOM_TITLE(st,x) \ ((st).flags.common.s.has_bottom_title = !!(x)) #define SMSET_HAS_BOTTOM_TITLE(st,x) \ ((st).flag_mask.common.s.has_bottom_title = !!(x)) #define SCSET_HAS_BOTTOM_TITLE(st,x) \ ((st).change_mask.common.s.has_bottom_title = !!(x)) #define SIS_STICKY(sf) ((sf).common.is_sticky) #define SFIS_STICKY(st) ((st).flags.common.is_sticky) #define SMIS_STICKY(st) ((st).flag_mask.common.is_sticky) #define SCIS_STICKY(st) ((st).change_mask.common.is_sticky) #define SFSET_IS_STICKY(st,x) ((st).flags.common.is_sticky = !!(x)) #define SMSET_IS_STICKY(st,x) ((st).flag_mask.common.is_sticky = !!(x)) #define SCSET_IS_STICKY(st,x) ((st).change_mask.common.is_sticky = !!(x)) #define SDO_CIRCULATE_SKIP(sf) ((sf).common.s.do_circulate_skip) #define SFDO_CIRCULATE_SKIP(st) ((st).flags.common.s.do_circulate_skip) #define SMDO_CIRCULATE_SKIP(st) ((st).flag_mask.common.s.do_circulate_skip) #define SCDO_CIRCULATE_SKIP(st) ((st).change_mask.common.s.do_circulate_skip) #define SFSET_DO_CIRCULATE_SKIP(st,x) ((st).flags.common.s.do_circulate_skip = !!(x)) #define SMSET_DO_CIRCULATE_SKIP(st,x) ((st).flag_mask.common.s.do_circulate_skip = !!(x)) #define SCSET_DO_CIRCULATE_SKIP(st,x) ((st).change_mask.common.s.do_circulate_skip = !!(x)) #define SDO_CIRCULATE_SKIP_ICON(sf) ((sf).common.s.do_circulate_skip_icon) #define SFDO_CIRCULATE_SKIP_ICON(st) ((st).flags.common.s.do_circulate_skip_icon) #define SMDO_CIRCULATE_SKIP_ICON(st) ((st).flag_mask.common.s.do_circulate_skip_icon) #define SCDO_CIRCULATE_SKIP_ICON(st) ((st).change_mask.common.s.do_circulate_skip_icon) #define SFSET_DO_CIRCULATE_SKIP_ICON(st,x) ((st).flags.common.s.do_circulate_skip_icon = !!(x)) #define SMSET_DO_CIRCULATE_SKIP_ICON(st,x) ((st).flag_mask.common.s.do_circulate_skip_icon = !!(x)) #define SCSET_DO_CIRCULATE_SKIP_ICON(st,x) ((st).change_mask.common.s.do_circulate_skip_icon = !!(x)) #define SDO_CIRCULATE_SKIP_SHADED(sf) ((sf).common.s.do_circulate_skip_shaded) #define SFDO_CIRCULATE_SKIP_SHADED(st) ((st).flags.common.s.do_circulate_skip_shaded) #define SMDO_CIRCULATE_SKIP_SHADED(st) ((st).flag_mask.common.s.do_circulate_skip_shaded) #define SCDO_CIRCULATE_SKIP_SHADED(st) ((st).change_mask.common.s.do_circulate_skip_shaded) #define SFSET_DO_CIRCULATE_SKIP_SHADED(st,x) ((st).flags.common.s.do_circulate_skip_shaded = !!(x)) #define SMSET_DO_CIRCULATE_SKIP_SHADED(st,x) ((st).flag_mask.common.s.do_circulate_skip_shaded = !!(x)) #define SCSET_DO_CIRCULATE_SKIP_SHADED(st,x) ((st).change_mask.common.s.do_circulate_skip_shaded = !!(x)) #define SDO_GRAB_FOCUS_WHEN_CREATED(sf) ((sf).common.s.do_grab_focus_when_created) #define SFDO_GRAB_FOCUS_WHEN_CREATED(st) ((st).flags.common.s.do_grab_focus_when_created) #define SMDO_GRAB_FOCUS_WHEN_CREATED(st) ((st).flag_mask.common.s.do_grab_focus_when_created) #define SCDO_GRAB_FOCUS_WHEN_CREATED(st) ((st).change_mask.common.s.do_grab_focus_when_created) #define SFSET_DO_GRAB_FOCUS_WHEN_CREATED(st,x) ((st).flags.common.s.do_grab_focus_when_created = !!(x)) #define SMSET_DO_GRAB_FOCUS_WHEN_CREATED(st,x) ((st).flag_mask.common.s.do_grab_focus_when_created = !!(x)) #define SCSET_DO_GRAB_FOCUS_WHEN_CREATED(st,x) ((st).change_mask.common.s.do_grab_focus_when_created = !!(x)) #define SDO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(sf) ((sf).common.s.do_grab_focus_when_transient_created) #define SFDO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(st) ((st).flags.common.s.do_grab_focus_when_transient_created) #define SMDO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(st) ((st).flag_mask.common.s.do_grab_focus_when_transient_created) #define SCDO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(st) ((st).change_mask.common.s.do_grab_focus_when_transient_created) #define SFSET_DO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(st,x) ((st).flags.common.s.do_grab_focus_when_transient_created = !!(x)) #define SMSET_DO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(st,x) ((st).flag_mask.common.s.do_grab_focus_when_transient_created = !!(x)) #define SCSET_DO_GRAB_FOCUS_WHEN_TRANSIENT_CREATED(st,x) ((st).change_mask.common.s.do_grab_focus_when_transient_created = !!(x)) #define SDO_ICONIFY_WINDOW_GROUPS(sf) ((sf).common.s.do_iconify_window_groups) #define SFDO_ICONIFY_WINDOW_GROUPS(st) ((st).flags.common.s.do_iconify_window_groups) #define SMDO_ICONIFY_WINDOW_GROUPS(st) ((st).flag_mask.common.s.do_iconify_window_groups) #define SCDO_ICONIFY_WINDOW_GROUPS(st) ((st).change_mask.common.s.do_iconify_window_groups) #define SFSET_DO_ICONIFY_WINDOW_GROUPS(st,x) ((st).flags.common.s.do_iconify_window_groups = !!(x)) #define SMSET_DO_ICONIFY_WINDOW_GROUPS(st,x) ((st).flag_mask.common.s.do_iconify_window_groups = !!(x)) #define SCSET_DO_ICONIFY_WINDOW_GROUPS(st,x) ((st).change_mask.common.s.do_iconify_window_groups = !!(x)) #define SDO_IGNORE_GNOME_HINTS(sf) ((sf).common.s.do_ignore_gnome_hints) #define SFDO_IGNORE_GNOME_HINTS(st) ((st).flags.common.s.do_ignore_gnome_hints) #define SMDO_IGNORE_GNOME_HINTS(st) ((st).flag_mask.common.s.do_ignore_gnome_hints) #define SCDO_IGNORE_GNOME_HINTS(st) ((st).change_mask.common.s.do_ignore_gnome_hints) #define SFSET_DO_IGNORE_GNOME_HINTS(st,x) ((st).flags.common.s.do_ignore_gnome_hints = !!(x)) #define SMSET_DO_IGNORE_GNOME_HINTS(st,x) ((st).flag_mask.common.s.do_ignore_gnome_hints = !!(x)) #define SCSET_DO_IGNORE_GNOME_HINTS(st,x) ((st).change_mask.common.s.do_ignore_gnome_hints = !!(x)) #define SDO_IGNORE_ICON_BOXES(sf) ((sf).common.s.do_ignore_icon_boxes) #define SFDO_IGNORE_ICON_BOXES(st) ((st).flags.common.s.do_ignore_icon_boxes) #define SMDO_IGNORE_ICON_BOXES(st) ((st).flag_mask.common.s.do_ignore_icon_boxes) #define SCDO_IGNORE_ICON_BOXES(st) ((st).change_mask.common.s.do_ignore_icon_boxes) #define SFSET_DO_IGNORE_ICON_BOXES(st,x) ((st).flags.common.s.do_ignore_icon_boxes = !!(x)) #define SMSET_DO_IGNORE_ICON_BOXES(st,x) ((st).flag_mask.common.s.do_ignore_icon_boxes = !!(x)) #define SCSET_DO_IGNORE_ICON_BOXES(st,x) ((st).change_mask.common.s.do_ignore_icon_boxes = !!(x)) #define SDO_IGNORE_RESTACK(sf) ((sf).common.s.do_ignore_restack) #define SFDO_IGNORE_RESTACK(st) ((st).flags.common.s.do_ignore_restack) #define SMDO_IGNORE_RESTACK(st) ((st).flag_mask.common.s.do_ignore_restack) #define SCDO_IGNORE_RESTACK(st) ((st).change_mask.common.s.do_ignore_restack) #define SFSET_DO_IGNORE_RESTACK(st,x) ((st).flags.common.s.do_ignore_restack = !!(x)) #define SMSET_DO_IGNORE_RESTACK(st,x) ((st).flag_mask.common.s.do_ignore_restack = !!(x)) #define SCSET_DO_IGNORE_RESTACK(st,x) ((st).change_mask.common.s.do_ignore_restack = !!(x)) #define SDO_USE_WINDOW_GROUP_HINT(sf) ((sf).common.s.do_use_window_group_hint) #define SFDO_USE_WINDOW_GROUP_HINT(st) ((st).flags.common.s.do_use_window_group_hint) #define SMDO_USE_WINDOW_GROUP_HINT(st) ((st).flag_mask.common.s.do_use_window_group_hint) #define SCDO_USE_WINDOW_GROUP_HINT(st) ((st).change_mask.common.s.do_use_window_group_hint) #define SFSET_DO_USE_WINDOW_GROUP_HINT(st,x) ((st).flags.common.s.do_use_window_group_hint = !!(x)) #define SMSET_DO_USE_WINDOW_GROUP_HINT(st,x) ((st).flag_mask.common.s.do_use_window_group_hint = !!(x)) #define SCSET_DO_USE_WINDOW_GROUP_HINT(st,x) ((st).change_mask.common.s.do_use_window_group_hint = !!(x)) #define SDO_LOWER_TRANSIENT(sf) ((sf).common.s.do_lower_transient) #define SFDO_LOWER_TRANSIENT(st) ((st).flags.common.s.do_lower_transient) #define SMDO_LOWER_TRANSIENT(st) ((st).flag_mask.common.s.do_lower_transient) #define SCDO_LOWER_TRANSIENT(st) ((st).change_mask.common.s.do_lower_transient) #define SFSET_DO_LOWER_TRANSIENT(st,x) ((st).flags.common.s.do_lower_transient = !!(x)) #define SMSET_DO_LOWER_TRANSIENT(st,x) ((st).flag_mask.common.s.do_lower_transient = !!(x)) #define SCSET_DO_LOWER_TRANSIENT(st,x) ((st).change_mask.common.s.do_lower_transient = !!(x)) #define SDO_NOT_SHOW_ON_MAP(sf) ((sf).common.s.do_not_show_on_map) #define SFDO_NOT_SHOW_ON_MAP(st) ((st).flags.common.s.do_not_show_on_map) #define SMDO_NOT_SHOW_ON_MAP(st) ((st).flag_mask.common.s.do_not_show_on_map) #define SCDO_NOT_SHOW_ON_MAP(st) ((st).change_mask.common.s.do_not_show_on_map) #define SFSET_DO_NOT_SHOW_ON_MAP(st,x) ((st).flags.common.s.do_not_show_on_map = !!(x)) #define SMSET_DO_NOT_SHOW_ON_MAP(st,x) ((st).flag_mask.common.s.do_not_show_on_map = !!(x)) #define SCSET_DO_NOT_SHOW_ON_MAP(st,x) ((st).change_mask.common.s.do_not_show_on_map = !!(x)) #define SDO_NOT_PASS_CLICK_FOCUS_CLICK(sf) ((sf).common.s.do_not_pass_click_focus_click) #define SFDO_NOT_PASS_CLICK_FOCUS_CLICK(st) ((st).flags.common.s.do_not_pass_click_focus_click) #define SMDO_NOT_PASS_CLICK_FOCUS_CLICK(st) ((st).flag_mask.common.s.do_not_pass_click_focus_click) #define SCDO_NOT_PASS_CLICK_FOCUS_CLICK(st) ((st).change_mask.common.s.do_not_pass_click_focus_click) #define SFSET_DO_NOT_PASS_CLICK_FOCUS_CLICK(st,x) ((st).flags.common.s.do_not_pass_click_focus_click = !!(x)) #define SMSET_DO_NOT_PASS_CLICK_FOCUS_CLICK(st,x) ((st).flag_mask.common.s.do_not_pass_click_focus_click = !!(x)) #define SCSET_DO_NOT_PASS_CLICK_FOCUS_CLICK(st,x) ((st).change_mask.common.s.do_not_pass_click_focus_click = !!(x)) #define SDO_NOT_RAISE_CLICK_FOCUS_CLICK(sf) ((sf).common.s.do_not_raise_click_focus_click) #define SFDO_NOT_RAISE_CLICK_FOCUS_CLICK(st) ((st).flags.common.s.do_not_raise_click_focus_click) #define SMDO_NOT_RAISE_CLICK_FOCUS_CLICK(st) ((st).flag_mask.common.s.do_not_raise_click_focus_click) #define SCDO_NOT_RAISE_CLICK_FOCUS_CLICK(st) ((st).change_mask.common.s.do_not_raise_click_focus_click) #define SFSET_DO_NOT_RAISE_CLICK_FOCUS_CLICK(st,x) ((st).flags.common.s.do_not_raise_click_focus_click = !!(x)) #define SMSET_DO_NOT_RAISE_CLICK_FOCUS_CLICK(st,x) ((st).flag_mask.common.s.do_not_raise_click_focus_click = !!(x)) #define SCSET_DO_NOT_RAISE_CLICK_FOCUS_CLICK(st,x) ((st).change_mask.common.s.do_not_raise_click_focus_click = !!(x)) #define SDO_RAISE_MOUSE_FOCUS_CLICK(sf) ((sf).common.s.do_raise_mouse_focus_click) #define SFDO_RAISE_MOUSE_FOCUS_CLICK(st) ((st).flags.common.s.do_raise_mouse_focus_click) #define SMDO_RAISE_MOUSE_FOCUS_CLICK(st) ((st).flag_mask.common.s.do_raise_mouse_focus_click) #define SCDO_RAISE_MOUSE_FOCUS_CLICK(st) ((st).change_mask.common.s.do_raise_mouse_focus_click) #define SFSET_DO_RAISE_MOUSE_FOCUS_CLICK(st,x) ((st).flags.common.s.do_raise_mouse_focus_click = !!(x)) #define SMSET_DO_RAISE_MOUSE_FOCUS_CLICK(st,x) ((st).flag_mask.common.s.do_raise_mouse_focus_click = !!(x)) #define SCSET_DO_RAISE_MOUSE_FOCUS_CLICK(st,x) ((st).change_mask.common.s.do_raise_mouse_focus_click = !!(x)) #define SDO_RAISE_TRANSIENT(sf) ((sf).common.s.do_raise_transient) #define SFDO_RAISE_TRANSIENT(st) ((st).flags.common.s.do_raise_transient) #define SMDO_RAISE_TRANSIENT(st) ((st).flag_mask.common.s.do_raise_transient) #define SCDO_RAISE_TRANSIENT(st) ((st).change_mask.common.s.do_raise_transient) #define SFSET_DO_RAISE_TRANSIENT(st,x) ((st).flags.common.s.do_raise_transient = !!(x)) #define SMSET_DO_RAISE_TRANSIENT(st,x) ((st).flag_mask.common.s.do_raise_transient = !!(x)) #define SCSET_DO_RAISE_TRANSIENT(st,x) ((st).change_mask.common.s.do_raise_transient = !!(x)) #define SDO_RESIZE_OPAQUE(sf) ((sf).common.s.do_resize_opaque) #define SFDO_RESIZE_OPAQUE(st) ((st).flags.common.s.do_resize_opaque) #define SMDO_RESIZE_OPAQUE(st) ((st).flag_mask.common.s.do_resize_opaque) #define SCDO_RESIZE_OPAQUE(st) ((st).change_mask.common.s.do_resize_opaque) #define SFSET_DO_RESIZE_OPAQUE(st,x) ((st).flags.common.s.do_resize_opaque = !!(x)) #define SMSET_DO_RESIZE_OPAQUE(st,x) ((st).flag_mask.common.s.do_resize_opaque = !!(x)) #define SCSET_DO_RESIZE_OPAQUE(st,x) ((st).change_mask.common.s.do_resize_opaque = !!(x)) #define SDO_SHRINK_WINDOWSHADE(sf ) ((sf).common.s.do_shrink_windowshade) #define SFDO_SHRINK_WINDOWSHADE(st) ((st).flags.common.s.do_shrink_windowshade) #define SMDO_SHRINK_WINDOWSHADE(st) ((st).flag_mask.common.s.do_shrink_windowshade) #define SCDO_SHRINK_WINDOWSHADE(st) ((st).change_mask.common.s.do_shrink_windowshade) #define SFSET_DO_SHRINK_WINDOWSHADE(st,x) ((st).flags.common.s.do_shrink_windowshade = !!(x)) #define SMSET_DO_SHRINK_WINDOWSHADE(st,x) ((st).flag_mask.common.s.do_shrink_windowshade = !!(x)) #define SCSET_DO_SHRINK_WINDOWSHADE(st,x) ((st).change_mask.common.s.do_shrink_windowshade = !!(x)) #define SDO_STACK_TRANSIENT_PARENT(sf) ((sf).common.s.do_stack_transient_parent) #define SFDO_STACK_TRANSIENT_PARENT(st) ((st).flags.common.s.do_stack_transient_parent) #define SMDO_STACK_TRANSIENT_PARENT(st) ((st).flag_mask.common.s.do_stack_transient_parent) #define SCDO_STACK_TRANSIENT_PARENT(st) ((st).change_mask.common.s.do_stack_transient_parent) #define SFSET_DO_STACK_TRANSIENT_PARENT(st,x) ((st).flags.common.s.do_stack_transient_parent = !!(x)) #define SMSET_DO_STACK_TRANSIENT_PARENT(st,x) ((st).flag_mask.common.s.do_stack_transient_parent = !!(x)) #define SCSET_DO_STACK_TRANSIENT_PARENT(st,x) ((st).change_mask.common.s.do_stack_transient_parent = !!(x)) #define SDO_START_ICONIC(sf) ((sf).common.s.do_start_iconic) #define SFDO_START_ICONIC(st) ((st).flags.common.s.do_start_iconic) #define SMDO_START_ICONIC(st) ((st).flag_mask.common.s.do_start_iconic) #define SCDO_START_ICONIC(st) ((st).change_mask.common.s.do_start_iconic) #define SFSET_DO_START_ICONIC(st,x) ((st).flags.common.s.do_start_iconic = !!(x)) #define SMSET_DO_START_ICONIC(st,x) ((st).flag_mask.common.s.do_start_iconic = !!(x)) #define SCSET_DO_START_ICONIC(st,x) ((st).change_mask.common.s.do_start_iconic = !!(x)) #define SDO_WINDOW_LIST_SKIP(sf) ((sf).common.s.do_window_list_skip) #define SFDO_WINDOW_LIST_SKIP(st) ((st).flags.common.s.do_window_list_skip) #define SMDO_WINDOW_LIST_SKIP(st) ((st).flag_mask.common.s.do_window_list_skip) #define SCDO_WINDOW_LIST_SKIP(st) ((st).change_mask.common.s.do_window_list_skip) #define SFSET_DO_WINDOW_LIST_SKIP(st,x) ((st).flags.common.s.do_window_list_skip = !!(x)) #define SMSET_DO_WINDOW_LIST_SKIP(st,x) ((st).flag_mask.common.s.do_window_list_skip = !!(x)) #define SCSET_DO_WINDOW_LIST_SKIP(st,x) ((st).change_mask.common.s.do_window_list_skip = !!(x)) #define SFOCUS_MODE(sf) ((sf).common.s.focus_mode) #define SFFOCUS_MODE(st) ((st).flags.common.s.focus_mode) #define SMFOCUS_MODE(st) ((st).flag_mask.common.s.focus_mode) #define SCFOCUS_MODE(st) ((st).change_mask.common.s.focus_mode) #define SFSET_FOCUS_MODE(st,x) ((st).flags.common.s.focus_mode = (x)) #define SMSET_FOCUS_MODE(st,x) ((st).flag_mask.common.s.focus_mode = (x)) #define SCSET_FOCUS_MODE(st,x) ((st).change_mask.common.s.focus_mode = (x)) #define SHAS_DEPRESSABLE_BORDER(sf) ((sf).common.s.has_depressable_border) #define SFHAS_DEPRESSABLE_BORDER(st) ((st).flags.common.s.has_depressable_border) #define SMHAS_DEPRESSABLE_BORDER(st) ((st).flag_mask.common.s.has_depressable_border) #define SCHAS_DEPRESSABLE_BORDER(st) ((st).change_mask.common.s.has_depressable_border) #define SFSET_HAS_DEPRESSABLE_BORDER(st,x) ((st).flags.common.s.has_depressable_border = !!(x)) #define SMSET_HAS_DEPRESSABLE_BORDER(st,x) ((st).flag_mask.common.s.has_depressable_border = !!(x)) #define SCSET_HAS_DEPRESSABLE_BORDER(st,x) ((st).change_mask.common.s.has_depressable_border = !!(x)) #define SHAS_ICON_FONT(sf) ((sf).common.has_icon_font) #define SFHAS_ICON_FONT(st) ((st).flags.common.has_icon_font) #define SMHAS_ICON_FONT(st) ((st).flag_mask.common.has_icon_font) #define SCHAS_ICON_FONT(st) ((st).change_mask.common.has_icon_font) #define SFSET_HAS_ICON_FONT(st,x) ((st).flags.common.has_icon_font = !!(x)) #define SMSET_HAS_ICON_FONT(st,x) ((st).flag_mask.common.has_icon_font = !!(x)) #define SCSET_HAS_ICON_FONT(st,x) ((st).change_mask.common.has_icon_font = !!(x)) #define SHAS_MWM_BORDER(sf) ((sf).common.s.has_mwm_border) #define SFHAS_MWM_BORDER(st) ((st).flags.common.s.has_mwm_border) #define SMHAS_MWM_BORDER(st) ((st).flag_mask.common.s.has_mwm_border) #define SCHAS_MWM_BORDER(st) ((st).change_mask.common.s.has_mwm_border) #define SFSET_HAS_MWM_BORDER(st,x) ((st).flags.common.s.has_mwm_border = !!(x)) #define SMSET_HAS_MWM_BORDER(st,x) ((st).flag_mask.common.s.has_mwm_border = !!(x)) #define SCSET_HAS_MWM_BORDER(st,x) ((st).change_mask.common.s.has_mwm_border = !!(x)) #define SHAS_MWM_BUTTONS(sf) ((sf).common.s.has_mwm_buttons) #define SFHAS_MWM_BUTTONS(st) ((st).flags.common.s.has_mwm_buttons) #define SMHAS_MWM_BUTTONS(st) ((st).flag_mask.common.s.has_mwm_buttons) #define SCHAS_MWM_BUTTONS(st) ((st).change_mask.common.s.has_mwm_buttons) #define SFSET_HAS_MWM_BUTTONS(st,x) ((st).flags.common.s.has_mwm_buttons = !!(x)) #define SMSET_HAS_MWM_BUTTONS(st,x) ((st).flag_mask.common.s.has_mwm_buttons = !!(x)) #define SCSET_HAS_MWM_BUTTONS(st,x) ((st).change_mask.common.s.has_mwm_buttons = !!(x)) #define SHAS_MWM_OVERRIDE(sf) ((sf).common.s.has_mwm_override) #define SFHAS_MWM_OVERRIDE(st) ((st).flags.common.s.has_mwm_override) #define SMHAS_MWM_OVERRIDE(st) ((st).flag_mask.common.s.has_mwm_override) #define SCHAS_MWM_OVERRIDE(st) ((st).change_mask.common.s.has_mwm_override) #define SFSET_HAS_MWM_OVERRIDE(st,x) ((st).flags.common.s.has_mwm_override = !!(x)) #define SMSET_HAS_MWM_OVERRIDE(st,x) ((st).flag_mask.common.s.has_mwm_override = !!(x)) #define SCSET_HAS_MWM_OVERRIDE(st,x) ((st).change_mask.common.s.has_mwm_override = !!(x)) #define SHAS_NO_ICON_TITLE(sf) ((sf).common.s.has_no_icon_title) #define SFHAS_NO_ICON_TITLE(st) ((st).flags.common.s.has_no_icon_title) #define SMHAS_NO_ICON_TITLE(st) ((st).flag_mask.common.s.has_no_icon_title) #define SCHAS_NO_ICON_TITLE(st) ((st).change_mask.common.s.has_no_icon_title) #define SFSET_HAS_NO_ICON_TITLE(st,x) ((st).flags.common.s.has_no_icon_title = !!(x)) #define SMSET_HAS_NO_ICON_TITLE(st,x) ((st).flag_mask.common.s.has_no_icon_title = !!(x)) #define SCSET_HAS_NO_ICON_TITLE(st,x) ((st).change_mask.common.s.has_no_icon_title = !!(x)) #define SHAS_OVERRIDE_SIZE(sf) ((sf).common.s.has_override_size) #define SFHAS_OVERRIDE_SIZE(st) ((st).flags.common.s.has_override_size) #define SMHAS_OVERRIDE_SIZE(st) ((st).flag_mask.common.s.has_override_size) #define SCHAS_OVERRIDE_SIZE(st) ((st).change_mask.common.s.has_override_size) #define SFSET_HAS_OVERRIDE_SIZE(st,x) ((st).flags.common.s.has_override_size = !!(x)) #define SMSET_HAS_OVERRIDE_SIZE(st,x) ((st).flag_mask.common.s.has_override_size = !!(x)) #define SCSET_HAS_OVERRIDE_SIZE(st,x) ((st).change_mask.common.s.has_override_size = !!(x)) #define SHAS_STIPPLED_TITLE(sf) ((sf).common.s.has_stippled_title) #define SFHAS_STIPPLED_TITLE(st) ((st).flags.common.s.has_stippled_title) #define SMHAS_STIPPLED_TITLE(st) ((st).flag_mask.common.s.has_stippled_title) #define SCHAS_STIPPLED_TITLE(st) ((st).change_mask.common.s.has_stippled_title) #define SFSET_HAS_STIPPLED_TITLE(st,x) ((st).flags.common.s.has_stippled_title = !!(x)) #define SMSET_HAS_STIPPLED_TITLE(st,x) ((st).flag_mask.common.s.has_stippled_title = !!(x)) #define SCSET_HAS_STIPPLED_TITLE(st,x) ((st).change_mask.common.s.has_stippled_title = !!(x)) #define SHAS_WINDOW_FONT(sf) ((sf).common.has_window_font) #define SFHAS_WINDOW_FONT(st) ((st).flags.common.has_window_font) #define SMHAS_WINDOW_FONT(st) ((st).flag_mask.common.has_window_font) #define SCHAS_WINDOW_FONT(st) ((st).change_mask.common.has_window_font) #define SFSET_HAS_WINDOW_FONT(st,x) ((st).flags.common.has_window_font = !!(x)) #define SMSET_HAS_WINDOW_FONT(st,x) ((st).flag_mask.common.has_window_font = !!(x)) #define SCSET_HAS_WINDOW_FONT(st,x) ((st).change_mask.common.has_window_font = !!(x)) #define SICON_OVERRIDE(sf) ((sf).common.s.icon_override) #define SFICON_OVERRIDE(st) ((st).flags.common.s.icon_override) #define SMICON_OVERRIDE(st) ((st).flag_mask.common.s.icon_override) #define SCICON_OVERRIDE(st) ((st).change_mask.common.s.icon_override) #define SFSET_ICON_OVERRIDE(st,x) ((st).flags.common.s.icon_override = (x)) #define SMSET_ICON_OVERRIDE(st,x) ((st).flag_mask.common.s.icon_override = (x)) #define SCSET_ICON_OVERRIDE(st,x) ((st).change_mask.common.s.icon_override = (x)) #define SIS_FIXED(sf) ((sf).common.s.is_fixed) #define SFIS_FIXED(st) ((st).flags.common.s.is_fixed) #define SMIS_FIXED(st) ((st).flag_mask.common.s.is_fixed) #define SCIS_FIXED(st) ((st).change_mask.common.s.is_fixed) #define SFSET_IS_FIXED(st,x) ((st).flags.common.s.is_fixed = !!(x)) #define SMSET_IS_FIXED(st,x) ((st).flag_mask.common.s.is_fixed = !!(x)) #define SCSET_IS_FIXED(st,x) ((st).change_mask.common.s.is_fixed = !!(x)) #define SIS_ICON_STICKY(sf) ((sf).common.s.is_icon_sticky) #define SFIS_ICON_STICKY(st) ((st).flags.common.s.is_icon_sticky) #define SMIS_ICON_STICKY(st) ((st).flag_mask.common.s.is_icon_sticky) #define SCIS_ICON_STICKY(st) ((st).change_mask.common.s.is_icon_sticky) #define SFSET_IS_ICON_STICKY(st,x) ((st).flags.common.s.is_icon_sticky = !!(x)) #define SMSET_IS_ICON_STICKY(st,x) ((st).flag_mask.common.s.is_icon_sticky = !!(x)) #define SCSET_IS_ICON_STICKY(st,x) ((st).change_mask.common.s.is_icon_sticky = !!(x)) #define SIS_ICON_SUPPRESSED(sf) ((sf).common.s.is_icon_suppressed) #define SFIS_ICON_SUPPRESSED(st) ((st).flags.common.s.is_icon_suppressed) #define SMIS_ICON_SUPPRESSED(st) ((st).flag_mask.common.s.is_icon_suppressed) #define SCIS_ICON_SUPPRESSED(st) ((st).change_mask.common.s.is_icon_suppressed) #define SFSET_IS_ICON_SUPPRESSED(st,x) ((st).flags.common.s.is_icon_suppressed = !!(x)) #define SMSET_IS_ICON_SUPPRESSED(st,x) ((st).flag_mask.common.s.is_icon_suppressed = !!(x)) #define SCSET_IS_ICON_SUPPRESSED(st,x) ((st).change_mask.common.s.is_icon_suppressed = !!(x)) #define SIS_LENIENT(sf) ((sf).common.s.is_lenient) #define SFIS_LENIENT(st) ((st).flags.common.s.is_lenient) #define SMIS_LENIENT(st) ((st).flag_mask.common.s.is_lenient) #define SCIS_LENIENT(st) ((st).change_mask.common.s.is_lenient) #define SFSET_IS_LENIENT(st,x) ((st).flags.common.s.is_lenient = !!(x)) #define SMSET_IS_LENIENT(st,x) ((st).flag_mask.common.s.is_lenient = !!(x)) #define SCSET_IS_LENIENT(st,x) ((st).change_mask.common.s.is_lenient = !!(x)) #define SUSE_ICON_POSITION_HINT(sf) ((sf).common.s.use_icon_position_hint) #define SFUSE_ICON_POSITION_HINT(st) ((st).flags.common.s.use_icon_position_hint) #define SMUSE_ICON_POSITION_HINT(st) ((st).flag_mask.common.s.use_icon_position_hint) #define SCUSE_ICON_POSITION_HINT(st) ((st).change_mask.common.s.use_icon_position_hint) #define SFSET_USE_ICON_POSITION_HINT(st,x) ((st).flags.common.s.use_icon_position_hint = !!(x)) #define SMSET_USE_ICON_POSITION_HINT(st,x) ((st).flag_mask.common.s.use_icon_position_hint = !!(x)) #define SCSET_USE_ICON_POSITION_HINT(st,x) ((st).change_mask.common.s.use_icon_position_hint = !!(x)) /* access to other parts of a style (call with the style itself) */ #define SGET_NEXT_STYLE(s) ((s).next) #define SSET_NEXT_STYLE(s,x) ((s).next = (x)) #define SGET_PREV_STYLE(s) ((s).prev) #define SSET_PREV_STYLE(s,x) ((s).prev = (x)) #define SGET_NAME(s) ((s).name) #define SSET_NAME(s,x) ((s).name = (x)) #define SGET_ICON_NAME(s) ((s).icon_name) #define SSET_ICON_NAME(s,x) ((s).icon_name = (x)) #ifdef MINI_ICONS #define SGET_MINI_ICON_NAME(s) ((s).mini_icon_name) #define SSET_MINI_ICON_NAME(s,x) ((s).mini_icon_name = (x)) #endif #ifdef USEDECOR #define SGET_DECOR_NAME(s) ((s).decor_name) #define SSET_DECOR_NAME(s,x) ((s).decor_name = (x)) #endif #define SGET_FORE_COLOR_NAME(s) ((s).fore_color_name) #define SSET_FORE_COLOR_NAME(s,x) ((s).fore_color_name = (x)) #define SGET_BACK_COLOR_NAME(s) ((s).back_color_name) #define SSET_BACK_COLOR_NAME(s,x) ((s).back_color_name = (x)) #define SGET_FORE_COLOR_NAME_HI(s) ((s).fore_color_name_hi) #define SSET_FORE_COLOR_NAME_HI(s,x) ((s).fore_color_name_hi = (x)) #define SGET_BACK_COLOR_NAME_HI(s) ((s).back_color_name_hi) #define SSET_BACK_COLOR_NAME_HI(s,x) ((s).back_color_name_hi = (x)) #define SGET_ICON_FONT(s) ((s).icon_font) #define SSET_ICON_FONT(s,x) ((s).icon_font = (x)) #define SGET_WINDOW_FONT(s) ((s).window_font) #define SSET_WINDOW_FONT(s,x) ((s).window_font = (x)) #define SGET_COLORSET(s) ((s).colorset) #define SSET_COLORSET(s,x) ((s).colorset = (x)) #define SSET_BORDER_COLORSET(s,x) ((s).border_colorset = (x)) #define SGET_BORDER_COLORSET(s) ((s).border_colorset) #define SGET_COLORSET_HI(s) ((s).colorset_hi) #define SSET_COLORSET_HI(s,x) ((s).colorset_hi = (x)) #define SGET_BORDER_COLORSET_HI(s) ((s).border_colorset_hi) #define SSET_BORDER_COLORSET_HI(s,x) ((s).border_colorset_hi = (x)) #define SGET_FLAGS_POINTER(s) (&((s).flags)) #define SGET_BORDER_WIDTH(s) ((s).border_width) #define SSET_BORDER_WIDTH(s,x) ((s).border_width = (x)) #define SGET_HANDLE_WIDTH(s) ((s).handle_width) #define SSET_HANDLE_WIDTH(s,x) ((s).handle_width = (x)) #define SGET_LAYER(s) ((s).layer) #define SSET_LAYER(s,x) ((s).layer = (x)) #define SGET_START_DESK(s) ((s).start_desk) #define SSET_START_DESK(s,x) ((s).start_desk = (x)) #define SGET_START_PAGE_X(s) ((s).start_page_x) #define SSET_START_PAGE_X(s,x) ((s).start_page_x = (x)) #define SGET_START_PAGE_Y(s) ((s).start_page_y) #define SSET_START_PAGE_Y(s,x) ((s).start_page_y = (x)) #define SGET_START_SCREEN(s) ((s).start_screen) #define SSET_START_SCREEN(s,x) ((s).start_screen = (x)) #define SGET_MAX_WINDOW_WIDTH(s) ((s).max_window_width) #define SSET_MAX_WINDOW_WIDTH(s,x) ((s).max_window_width = (x)) #define SGET_MAX_WINDOW_HEIGHT(s) ((s).max_window_height) #define SSET_MAX_WINDOW_HEIGHT(s,x) ((s).max_window_height = (x)) #define SGET_WINDOW_SHADE_STEPS(s) ((s).shade_anim_steps) #define SSET_WINDOW_SHADE_STEPS(s,x) ((s).shade_anim_steps = (x)) #define SGET_ICON_BOXES(s) ((s).icon_boxes) #define SSET_ICON_BOXES(s,x) ((s).icon_boxes = (x)) /* function prototypes */ void lookup_style(FvwmWindow *tmp_win, window_style *styles); Bool blockcmpmask(char *blk1, char *blk2, char *mask, int length); void check_window_style_change( FvwmWindow *t, update_win *flags, window_style *ret_style); void reset_style_changes(void); void update_style_colorset(int colorset); void update_window_color_style(FvwmWindow *tmp_win, window_style *style); void update_window_color_hi_style(FvwmWindow *tmp_win, window_style *style); void free_icon_boxes(icon_boxes *ib); #endif /* _STYLE_ */