disable resize etc. if we're fullscreen (constrain_size): fix size

2002-03-02  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): disable resize etc. if
	we're fullscreen
	(constrain_size): fix size constraints when fullscreen

	* src/display.c (meta_display_open): fix missing comma that
	ended up concatenating two of the properties breaking
	FULLSCREEN state and PING protocol
This commit is contained in:
Havoc Pennington 2002-03-03 00:03:50 +00:00 committed by Havoc Pennington
parent ac2aa5337d
commit 20a98e1c2a
3 changed files with 25 additions and 4 deletions

View File

@ -1,3 +1,13 @@
2002-03-02 Havoc Pennington <hp@pobox.com>
* src/window.c (recalc_window_features): disable resize etc. if
we're fullscreen
(constrain_size): fix size constraints when fullscreen
* src/display.c (meta_display_open): fix missing comma that
ended up concatenating two of the properties breaking
FULLSCREEN state and PING protocol
2002-03-02 Havoc Pennington <hp@pobox.com>
* src/display.c: Add hacking to fix the problem that we made our

View File

@ -200,7 +200,7 @@ meta_display_open (const char *name)
"_NET_WM_STATE_HIDDEN",
"_NET_WM_WINDOW_TYPE_UTILITY",
"_NET_WM_WINDOW_TYPE_SPLASHSCREEN",
"_NET_WM_STATE_FULLSCREEN"
"_NET_WM_STATE_FULLSCREEN",
"_NET_WM_PING",
"_NET_WM_PID",
"WM_CLIENT_MACHINE"

View File

@ -4614,6 +4614,17 @@ recalc_window_features (MetaWindow *window)
window->has_fullscreen_func = FALSE;
}
/* We leave fullscreen windows decorated, just push the frame outside
* the screen. This avoids flickering to unparent them.
*/
if (window->fullscreen)
{
window->has_shade_func = FALSE;
window->has_move_func = FALSE;
window->has_resize_func = FALSE;
window->has_maximize_func = FALSE;
}
/* If min_size == max_size, then don't allow resize */
if (window->size_hints.min_width == window->size_hints.max_width &&
window->size_hints.min_height == window->size_hints.max_height)
@ -4684,7 +4695,7 @@ constrain_size (MetaWindow *window,
maxw = window->size_hints.max_width;
maxh = window->size_hints.max_height;
if (window->maximized)
if (window->maximized || window->fullscreen)
{
maxw = MIN (maxw, fullw);
maxh = MIN (maxh, fullh);
@ -4701,7 +4712,7 @@ constrain_size (MetaWindow *window,
if (maxh < minh)
maxh = minh;
if (window->maximized)
if (window->maximized || window->fullscreen)
{
minw = MAX (minw, fullw);
minh = MAX (minh, fullh);