cheesy client with static bit gravity, used to test the below change.

2002-01-19  Havoc Pennington  <hp@pobox.com>

	* src/wm-tester/test-resizing.c: cheesy client with static
	bit gravity, used to test the below change.

	* src/window.c (meta_window_move_resize_internal): implement
	Owen's proposal for window resizing.
	http://mail.gnome.org/archives/wm-spec-list/1999-November/msg00088.html

	Currently you have to do METACITY_USE_STATIC_GRAVITY=1 in order to
	use it, because some GDK bug is screwing up exposes on my frames
	when it's enabled.

	* src/display.c (meta_display_create_x_cursor): fix glyph for
	NE/NW cursors

	* src/frames.c (get_control): add ability to resize from top

	* src/frame.c (meta_frame_get_flags): can't resize shaded windows
	(meta_frame_sync_to_window): add gravity arg

	* src/common.h (MetaWindowType): move here from window.h so
	it can be used in themes stuff.
	(MetaFrameFlags): remove META_FRAME_TRANSIENT since it
	overlaps with window type and was unused.
This commit is contained in:
Havoc Pennington
2002-01-19 23:59:11 +00:00
committed by Havoc Pennington
parent 19d2e8c7e1
commit 5fdb8463de
13 changed files with 645 additions and 62 deletions

View File

@ -210,7 +210,8 @@ meta_frame_get_flags (MetaFrame *frame)
flags |= META_FRAME_ALLOWS_MOVE;
if (frame->window->has_resize_func &&
!frame->window->maximized)
!frame->window->maximized &&
!frame->window->shaded)
{
if (frame->window->size_hints.min_width <
frame->window->size_hints.max_width)
@ -256,7 +257,8 @@ meta_frame_calc_geometry (MetaFrame *frame,
}
static void
set_background_none (MetaFrame *frame)
set_background_none (MetaFrame *frame,
int resize_gravity)
{
XSetWindowAttributes attrs;
@ -269,6 +271,7 @@ set_background_none (MetaFrame *frame)
void
meta_frame_sync_to_window (MetaFrame *frame,
int resize_gravity,
gboolean need_move,
gboolean need_resize)
{
@ -283,7 +286,7 @@ meta_frame_sync_to_window (MetaFrame *frame,
/* set bg to none to avoid flicker */
if (need_resize)
set_background_none (frame);
set_background_none (frame, resize_gravity);
if (need_move && need_resize)
XMoveResizeWindow (frame->window->display->xdisplay,