From 689be0bdd5ba0a619fd97c435f75d43c15b164e2 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 24 May 2022 08:30:51 +0800 Subject: [PATCH] Only send fallback MONITORS_CHANGED_EVENT when dimensions really changed * src/xterm.c (handle_one_xevent): Test that root window configure width and height are not the same as the previously recorded ones. --- src/xterm.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index dc1daaf6e19..f86ec0fad39 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -16657,13 +16657,17 @@ handle_one_xevent (struct x_display_info *dpyinfo, /* Catch screen size changes even if RandR is not available on the client. GTK does this internally. */ - inev.ie.kind = MONITORS_CHANGED_EVENT; - XSETTERMINAL (inev.ie.arg, dpyinfo->terminal); + if (configureEvent.xconfigure.width != dpyinfo->screen_width + || configureEvent.xconfigure.height != dpyinfo->screen_height) + { + inev.ie.kind = MONITORS_CHANGED_EVENT; + XSETTERMINAL (inev.ie.arg, dpyinfo->terminal); - /* Store this event now since inev.ie.type could be set to - MOVE_FRAME_EVENT later. */ - kbd_buffer_store_event (&inev.ie); - inev.ie.kind = NO_EVENT; + /* Store this event now since inev.ie.type could be set to + MOVE_FRAME_EVENT later. */ + kbd_buffer_store_event (&inev.ie); + inev.ie.kind = NO_EVENT; + } #endif dpyinfo->screen_width = configureEvent.xconfigure.width; -- 2.39.2