Theme breakage! Themes have to implement "border" frames now, see Atlanta

2002-06-21  Havoc Pennington  <hp@pobox.com>

        Theme breakage! Themes have to implement "border" frames
	now, see Atlanta for an example. Fixes #84285

	* src/tools/metacity-window-demo.c (do_appwindow): add a
	border-only window

	* src/window.c (update_mwm_hints): read border only from the MWM
	hints

	* src/window.h (struct _MetaWindow): add border_only flag

	* src/core.c (meta_core_get_frame_type): report border type if
	required

	* src/common.h (enum): add META_FRAME_TYPE_BORDER
This commit is contained in:
Havoc Pennington
2002-06-22 03:23:02 +00:00
committed by Havoc Pennington
parent 854e58fd82
commit de42a62f4e
10 changed files with 198 additions and 25 deletions

View File

@ -363,6 +363,7 @@ meta_window_new (MetaDisplay *display, Window xwindow,
window->unmaps_pending = 0;
window->mwm_decorated = TRUE;
window->mwm_border_only = FALSE;
window->mwm_has_close_func = TRUE;
window->mwm_has_minimize_func = TRUE;
window->mwm_has_maximize_func = TRUE;
@ -4091,6 +4092,7 @@ update_mwm_hints (MetaWindow *window)
MotifWmHints *hints;
window->mwm_decorated = TRUE;
window->mwm_border_only = FALSE;
window->mwm_has_close_func = TRUE;
window->mwm_has_minimize_func = TRUE;
window->mwm_has_maximize_func = TRUE;
@ -4117,6 +4119,9 @@ update_mwm_hints (MetaWindow *window)
if (hints->decorations == 0)
window->mwm_decorated = FALSE;
/* some input methods use this */
else if (hints->decorations == MWM_DECOR_BORDER)
window->mwm_border_only = TRUE;
}
else
meta_verbose ("Decorations flag unset\n");
@ -4903,6 +4908,7 @@ recalc_window_features (MetaWindow *window)
{
/* Use MWM hints initially */
window->decorated = window->mwm_decorated;
window->border_only = window->mwm_border_only;
window->has_close_func = window->mwm_has_close_func;
window->has_minimize_func = window->mwm_has_minimize_func;
window->has_maximize_func = window->mwm_has_maximize_func;