summaryrefslogtreecommitdiff
path: root/src/xterm.c
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-12-23 18:05:44 +0800
committerPo Lu <luangruo@yahoo.com>2022-12-23 18:22:54 +0800
commit6cf0784a0d6d1fc58a200aa8f8e14cef612cd68b (patch)
tree81b9400ee56f453a01945686e09a0ecae131e52d /src/xterm.c
parentdcc564415252c97f92c9a3afe306d515b0f0fd8c (diff)
downloademacs-6cf0784a0d6d1fc58a200aa8f8e14cef612cd68b.tar.gz
Speed up completion plugins over slow networks
* src/xterm.c (x_make_frame_invisible): Do not sync if `x-lax-frame-positioning' is enabled. (syms_of_xterm): Update doc string.
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 5947145ce06..c2bb1e2afe8 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -28471,7 +28471,10 @@ x_make_frame_invisible (struct frame *f)
error ("Can't notify window manager of window withdrawal");
}
- XSync (FRAME_X_DISPLAY (f), False);
+ /* Don't perform the synchronization if the network connection is
+ slow, and the user says it is unwanted. */
+ if (NILP (Vx_lax_frame_positioning))
+ XSync (FRAME_X_DISPLAY (f), False);
/* We can't distinguish this from iconification
just by the event that we get from the server.
@@ -28482,8 +28485,7 @@ x_make_frame_invisible (struct frame *f)
SET_FRAME_ICONIFIED (f, false);
if (CONSP (frame_size_history))
- frame_size_history_plain
- (f, build_string ("x_make_frame_invisible"));
+ frame_size_history_plain (f, build_string ("x_make_frame_invisible"));
unblock_input ();
}
@@ -32010,6 +32012,7 @@ too slow, which is usually true when the X server is located over a
network connection with high latency. Doing so will make frame
creation and placement faster at the cost of reducing the accuracy of
frame placement via frame parameters, `set-frame-position', and
-`set-frame-size'. */);
+`set-frame-size', along with the actual state of a frame after
+`x_make_frame_invisible'. */);
Vx_lax_frame_positioning = Qnil;
}