aboutsummaryrefslogtreecommitdiffstats
path: root/src/xterm.c
diff options
context:
space:
mode:
authorGlenn Morris2020-04-11 07:50:12 -0700
committerGlenn Morris2020-04-11 07:50:12 -0700
commit1988ffbaed709dfc71126efbf06644476830f07e (patch)
treefdc98855a3ab7bf6d6cb4c8826ec4a9dfc603d33 /src/xterm.c
parentb902d7c9d07b2cc951fa5c789d585d65366d19d2 (diff)
parentfd27685c1e68e742abf1698573dac53743f15e48 (diff)
downloademacs-1988ffbaed709dfc71126efbf06644476830f07e.tar.gz
emacs-1988ffbaed709dfc71126efbf06644476830f07e.zip
Merge from origin/emacs-27
fd27685c1e (origin/emacs-27) ; * doc/lispref/keymaps.texi (Extended M... 6057d79a4e * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :k... 17a1bb5a03 Fix redisplay when scrolling under redisplay-dont-pause 90321f595c Fix face extension in pulse.el 36c42d2a30 * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in ... d5750af151 Avoid assertion violation in intervals.c 18d1bc0a09 Improve documentation of 'jit-lock-contextually' 08486f4cae Speed up 'resize-mode' child frames a little f451ef9308 ; * etc/NEWS: Mention 'executing-macro' in removed vars. c49d379f17 Fix some problems with moving and resizing child frames # Conflicts: # etc/NEWS
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c43
1 files changed, 23 insertions, 20 deletions
diff --git a/src/xterm.c b/src/xterm.c
index bd9688fda81..ae5dad92897 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10613,26 +10613,29 @@ x_set_offset (struct frame *f, register int xoff, register int yoff, int change_
10613 modified_left, modified_top); 10613 modified_left, modified_top);
10614#endif 10614#endif
10615 10615
10616 x_sync_with_move (f, f->left_pos, f->top_pos, 10616 /* 'x_sync_with_move' is too costly for dragging child frames. */
10617 FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN); 10617 if (!FRAME_PARENT_FRAME (f))
10618 10618 {
10619 /* change_gravity is non-zero when this function is called from Lisp to 10619 x_sync_with_move (f, f->left_pos, f->top_pos,
10620 programmatically move a frame. In that case, we call 10620 FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN);
10621 x_check_expected_move to discover if we have a "Type A" or "Type B" 10621
10622 window manager, and, for a "Type A" window manager, adjust the position 10622 /* change_gravity is non-zero when this function is called from Lisp to
10623 of the frame. 10623 programmatically move a frame. In that case, we call
10624 10624 x_check_expected_move to discover if we have a "Type A" or "Type B"
10625 We call x_check_expected_move if a programmatic move occurred, and 10625 window manager, and, for a "Type A" window manager, adjust the position
10626 either the window manager type (A/B) is unknown or it is Type A but we 10626 of the frame.
10627 need to compute the top/left offset adjustment for this frame. */ 10627
10628 10628 We call x_check_expected_move if a programmatic move occurred, and
10629 if (change_gravity != 0 10629 either the window manager type (A/B) is unknown or it is Type A but we
10630 && !FRAME_PARENT_FRAME (f) 10630 need to compute the top/left offset adjustment for this frame. */
10631 && (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN 10631
10632 || (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A 10632 if (change_gravity != 0
10633 && (FRAME_X_OUTPUT (f)->move_offset_left == 0 10633 && (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN
10634 && FRAME_X_OUTPUT (f)->move_offset_top == 0)))) 10634 || (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A
10635 x_check_expected_move (f, modified_left, modified_top); 10635 && (FRAME_X_OUTPUT (f)->move_offset_left == 0
10636 && FRAME_X_OUTPUT (f)->move_offset_top == 0))))
10637 x_check_expected_move (f, modified_left, modified_top);
10638 }
10636 10639
10637 unblock_input (); 10640 unblock_input ();
10638} 10641}