aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1997-05-28 04:54:48 +0000
committerRichard M. Stallman1997-05-28 04:54:48 +0000
commitdcb07ae9dc20c48dc4cd12a1e618e12ce6afa61a (patch)
treefb18935aff0b1dc564b8fae892e86b7f1d88dc10
parentf1e0f5469e1b46e0a4e39433d80ac6e3bd64a86c (diff)
downloademacs-dcb07ae9dc20c48dc4cd12a1e618e12ce6afa61a.tar.gz
emacs-dcb07ae9dc20c48dc4cd12a1e618e12ce6afa61a.zip
(XTread_socket) <ConfigureNotify>: Don't call
x_wm_set_size_hint if window has no parent yet. Simplify the call to x_real_positions. (x_make_frame_visible): Use win_gravity to decide whether to call XMoveWindow. Also, don't do it if frame already visible.
-rw-r--r--src/xterm.c35
1 files changed, 16 insertions, 19 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 5c1451e1745..b774a00be39 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4377,23 +4377,16 @@ XTread_socket (sd, bufp, numchars, expected)
4377 4377
4378 /* What we have now is the position of Emacs's own window. 4378 /* What we have now is the position of Emacs's own window.
4379 Convert that to the position of the window manager window. */ 4379 Convert that to the position of the window manager window. */
4380 { 4380 x_real_positions (f, &f->output_data.x->left_pos,
4381 int x, y; 4381 &f->output_data.x->top_pos);
4382 x_real_positions (f, &x, &y); 4382
4383 f->output_data.x->left_pos = x; 4383 if (f->output_data.x->parent_desc != FRAME_X_DISPLAY_INFO (f)->root_window)
4384 f->output_data.x->top_pos = y; 4384 {
4385#if 0 4385 /* Since the WM decorations come below top_pos now,
4386 if (y != event.xconfigure.y) 4386 we must put them below top_pos in the future. */
4387 { 4387 f->output_data.x->win_gravity = NorthWestGravity;
4388#endif 4388 x_wm_set_size_hint (f, (long) 0, 0);
4389 /* Since the WM decorations come below top_pos now, 4389 }
4390 we must put them below top_pos in the future. */
4391 f->output_data.x->win_gravity = NorthWestGravity;
4392 x_wm_set_size_hint (f, (long) 0, 0);
4393#if 0
4394 }
4395#endif
4396 }
4397 } 4390 }
4398 goto OTHER; 4391 goto OTHER;
4399 4392
@@ -5677,9 +5670,13 @@ x_make_frame_visible (f)
5677 5670
5678 /* Arriving X events are processed here. */ 5671 /* Arriving X events are processed here. */
5679 5672
5680 /* Now move the window back to where it was "supposed to be". */ 5673 /* Now move the window back to where it was "supposed to be".
5674 But don't do it if the gravity is negative.
5675 When the gravity is negative, this uses a position
5676 that is 3 pixels too low. Perhaps that's really the border width. */
5681 5677
5682 if (! (starting_flags & (XNegative | YNegative))) 5678 if (! FRAME_VISIBLE_P (f)
5679 && f->output_data.x->win_gravity == NorthWestGravity)
5683 { 5680 {
5684 BLOCK_INPUT; 5681 BLOCK_INPUT;
5685 5682