aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1994-05-28 18:37:06 +0000
committerRichard M. Stallman <[email protected]>1994-05-28 18:37:06 +0000
commitfd13dbb2270aeaa5bef4f84a7d04a5ead1af9ae3 (patch)
tree4958df31355439a2e886f91efc1b9b17bfdfaa64
parent133c8e42b3d12875476829956fe5d2375bc8175b (diff)
(x_iconify_frame): Call x_set_offset,
if x_make_frame_visible would do so. (x_make_frame_visible): Don't call x_set_offset if frame is iconic. (XTread_socket): For ConfigureNotify, if wm decorations exist, set NorthWestGravity.
-rw-r--r--src/xterm.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 598e56c7a8..a6f572aa05 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4156,6 +4156,13 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
x_real_positions (f, &x, &y);
f->display.x->left_pos = x;
f->display.x->top_pos = y;
+ if (y != event.xconfigure.y)
+ {
+ /* Since the WM decorations come below top_pos now,
+ we must put them below top_pos in the future. */
+ f->display.x->win_gravity = NorthWestGravity;
+ x_wm_set_size_hint (f, 0, 0);
+ }
}
}
#endif /* not USE_X_TOOLKIT */
@@ -5476,7 +5483,8 @@ XTframe_raise_lower (f, raise)
}
-/* Change from withdrawn state to mapped state. */
+/* Change from withdrawn state to mapped state,
+ or deiconify. */
x_make_frame_visible (f)
struct frame *f;
@@ -5489,7 +5497,8 @@ x_make_frame_visible (f)
{
#ifdef HAVE_X11
#ifndef USE_X_TOOLKIT
- x_set_offset (f, f->display.x->left_pos, f->display.x->top_pos, 0);
+ if (! FRAME_ICONIFIED_P (f))
+ x_set_offset (f, f->display.x->left_pos, f->display.x->top_pos, 0);
#endif
if (! EQ (Vx_no_window_manager, Qt))
@@ -5661,6 +5670,11 @@ x_iconify_frame (f)
BLOCK_INPUT;
#ifdef HAVE_X11
+ /* Make sure the X server knows where the window should be positioned,
+ in case the user deiconifies with the window manager. */
+ if (! FRAME_VISIBLE_P (f) && !FRAME_ICONIFIED_P (f))
+ x_set_offset (f, f->display.x->left_pos, f->display.x->top_pos, 0);
+
/* Since we don't know which revision of X we're running, we'll use both
the X11R3 and X11R4 techniques. I don't know if this is a good idea. */