From 17480a55ebee5e7843c644c9a1d66985519e3e04 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 19 Dec 2022 13:40:54 +0800 Subject: [PATCH] Improve earlier changes to xterm.c * etc/PROBLEMS: Update for renamed variable. * src/xterm.c (x_make_frame_visible): Better respect `x-lax-frame-positioning'. --- etc/PROBLEMS | 2 +- src/xterm.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index b6d2d63660c..f1140499859 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -1725,7 +1725,7 @@ which can be carried out at the same time: 8) If creating or resizing frames is slow, turn off `frame-resize-pixelwise' (this will not take effect until you - create a new frame); then, enable `x-lax-frame-geometry'. This + create a new frame); then, enable `x-lax-frame-positioning'. This means frame placement will be less accurate, but makes frame creation, movement, and resize visibly faster. diff --git a/src/xterm.c b/src/xterm.c index a120eae26cb..a1acfa80744 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -28329,6 +28329,7 @@ x_make_frame_visible (struct frame *f) && !FRAME_ICONIFIED_P (f) && !FRAME_X_EMBEDDED_P (f) && !FRAME_PARENT_FRAME (f) + && NILP (Vx_lax_frame_positioning) && f->win_gravity == NorthWestGravity && previously_visible) { @@ -28357,7 +28358,8 @@ x_make_frame_visible (struct frame *f) } /* Try to wait for a MapNotify event (that is what tells us when a - frame becomes visible). */ + frame becomes visible). Unless `x-lax-frame-positioning' is + non-nil: there, that is a little slow. */ #ifdef CYGWIN /* On Cygwin, which uses input polling, we need to force input to @@ -28375,7 +28377,8 @@ x_make_frame_visible (struct frame *f) poll_suppress_count = old_poll_suppress_count; #endif - if (!FRAME_VISIBLE_P (f)) + if (!FRAME_VISIBLE_P (f) + && NILP (Vx_lax_frame_positioning)) { if (CONSP (frame_size_history)) frame_size_history_plain -- 2.39.2