make the checks here allow windows larger than the screen in addition to

2002-10-11  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (window_is_fullscreen_size): make the checks here
	allow windows larger than the screen in addition to
	exactly-screen-size

	* src/window.c (meta_window_configure_request): delete the "try to
	auto-enter-fullscreen-state" hack here, because it was broken, and
	the changes to the stacking code to move screen-size focused
	windows to the fullscreen layer should work better.
	(meta_window_new): remove auto-fullscreen hack from here too
This commit is contained in:
Havoc Pennington 2002-10-11 05:26:07 +00:00 committed by Havoc Pennington
parent 30e3cf5050
commit 0df65b9f9f
3 changed files with 18 additions and 60 deletions

View File

@ -1,3 +1,15 @@
2002-10-11 Havoc Pennington <hp@pobox.com>
* src/stack.c (window_is_fullscreen_size): make the checks here
allow windows larger than the screen in addition to
exactly-screen-size
* src/window.c (meta_window_configure_request): delete the "try to
auto-enter-fullscreen-state" hack here, because it was broken, and
the changes to the stacking code to move screen-size focused
windows to the fullscreen layer should work better.
(meta_window_new): remove auto-fullscreen hack from here too
2002-10-09 Havoc Pennington <hp@pobox.com>
* src/stack.c (apply_constraints): also keep utility/menu/toolbar

View File

@ -182,10 +182,10 @@ window_is_fullscreen_size (MetaWindow *window)
{
int i;
if (window->rect.x == 0 &&
window->rect.y == 0 &&
window->rect.width == window->screen->width &&
window->rect.height == window->screen->height)
if (window->rect.x <= 0 &&
window->rect.y <= 0 &&
window->rect.width >= window->screen->width &&
window->rect.height >= window->screen->height)
return TRUE;
i = 0;
@ -193,8 +193,8 @@ window_is_fullscreen_size (MetaWindow *window)
{
if (window->rect.x == window->screen->xinerama_infos[i].x_origin &&
window->rect.y == window->screen->xinerama_infos[i].y_origin &&
window->rect.width == window->screen->xinerama_infos[i].width &&
window->rect.height == window->screen->xinerama_infos[i].height)
window->rect.width >= window->screen->xinerama_infos[i].width &&
window->rect.height >= window->screen->xinerama_infos[i].height)
return TRUE;
++i;

View File

@ -635,24 +635,6 @@ meta_window_new (MetaDisplay *display, Window xwindow,
outer.height >= workarea.height)
meta_window_maximize (window);
}
/* Assume screen-size undecorated windows are intended to be
* fullscreen
*/
else if (window->has_fullscreen_func && !window->decorated &&
!window->maximized)
{
const MetaXineramaScreenInfo *xinerama;
MetaRectangle outer;
xinerama = meta_screen_get_xinerama_for_window (window->screen,
window);
meta_window_get_outer_rect (window, &outer);
if (outer.width >= xinerama->width &&
outer.height >= xinerama->height)
meta_window_make_fullscreen (window);
}
/* Sync stack changes */
meta_stack_thaw (window->screen->stack);
@ -3238,42 +3220,6 @@ meta_window_configure_request (MetaWindow *window,
break;
}
}
/* If we went full-size for an undecorated window, then enter
* fullscreen mode. A hack for lame clients.
*/
if (window->has_fullscreen_func && !window->decorated &&
!window->maximized)
{
const MetaXineramaScreenInfo *xinerama;
MetaRectangle outer;
xinerama = meta_screen_get_xinerama_for_window (window->screen,
window);
meta_window_get_outer_rect (window, &outer);
if (outer.width >= xinerama->width &&
outer.height >= xinerama->height)
meta_window_make_fullscreen (window);
else
{
meta_topic (META_DEBUG_GEOMETRY,
"Did not fullscreen %s size %dx%d with xinerama %dx%d\n",
window->desc,
outer.width, outer.height,
xinerama->width, xinerama->height);
}
}
else
{
meta_topic (META_DEBUG_GEOMETRY,
"Did not fullscreen %s has_fullscreen = %d decorated = %d maximized = %d\n",
window->desc,
window->has_fullscreen_func,
window->decorated,
window->maximized);
}
return TRUE;
}