aboutsummaryrefslogtreecommitdiffstats
path: root/src/xterm.c
diff options
context:
space:
mode:
authorRichard M. Stallman1994-05-28 18:37:06 +0000
committerRichard M. Stallman1994-05-28 18:37:06 +0000
commitfd13dbb2270aeaa5bef4f84a7d04a5ead1af9ae3 (patch)
tree4958df31355439a2e886f91efc1b9b17bfdfaa64 /src/xterm.c
parent133c8e42b3d12875476829956fe5d2375bc8175b (diff)
downloademacs-fd13dbb2270aeaa5bef4f84a7d04a5ead1af9ae3.tar.gz
emacs-fd13dbb2270aeaa5bef4f84a7d04a5ead1af9ae3.zip
(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.
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 598e56c7a87..a6f572aa05c 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4156,6 +4156,13 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
4156 x_real_positions (f, &x, &y); 4156 x_real_positions (f, &x, &y);
4157 f->display.x->left_pos = x; 4157 f->display.x->left_pos = x;
4158 f->display.x->top_pos = y; 4158 f->display.x->top_pos = y;
4159 if (y != event.xconfigure.y)
4160 {
4161 /* Since the WM decorations come below top_pos now,
4162 we must put them below top_pos in the future. */
4163 f->display.x->win_gravity = NorthWestGravity;
4164 x_wm_set_size_hint (f, 0, 0);
4165 }
4159 } 4166 }
4160 } 4167 }
4161#endif /* not USE_X_TOOLKIT */ 4168#endif /* not USE_X_TOOLKIT */
@@ -5476,7 +5483,8 @@ XTframe_raise_lower (f, raise)
5476} 5483}
5477 5484
5478 5485
5479/* Change from withdrawn state to mapped state. */ 5486/* Change from withdrawn state to mapped state,
5487 or deiconify. */
5480 5488
5481x_make_frame_visible (f) 5489x_make_frame_visible (f)
5482 struct frame *f; 5490 struct frame *f;
@@ -5489,7 +5497,8 @@ x_make_frame_visible (f)
5489 { 5497 {
5490#ifdef HAVE_X11 5498#ifdef HAVE_X11
5491#ifndef USE_X_TOOLKIT 5499#ifndef USE_X_TOOLKIT
5492 x_set_offset (f, f->display.x->left_pos, f->display.x->top_pos, 0); 5500 if (! FRAME_ICONIFIED_P (f))
5501 x_set_offset (f, f->display.x->left_pos, f->display.x->top_pos, 0);
5493#endif 5502#endif
5494 5503
5495 if (! EQ (Vx_no_window_manager, Qt)) 5504 if (! EQ (Vx_no_window_manager, Qt))
@@ -5661,6 +5670,11 @@ x_iconify_frame (f)
5661 BLOCK_INPUT; 5670 BLOCK_INPUT;
5662 5671
5663#ifdef HAVE_X11 5672#ifdef HAVE_X11
5673 /* Make sure the X server knows where the window should be positioned,
5674 in case the user deiconifies with the window manager. */
5675 if (! FRAME_VISIBLE_P (f) && !FRAME_ICONIFIED_P (f))
5676 x_set_offset (f, f->display.x->left_pos, f->display.x->top_pos, 0);
5677
5664 /* Since we don't know which revision of X we're running, we'll use both 5678 /* Since we don't know which revision of X we're running, we'll use both
5665 the X11R3 and X11R4 techniques. I don't know if this is a good idea. */ 5679 the X11R3 and X11R4 techniques. I don't know if this is a good idea. */
5666 5680