]> git.eshelyaron.com Git - emacs.git/commitdiff
Handle screen size changes if the RandR library isn't available
authorPo Lu <luangruo@yahoo.com>
Mon, 23 May 2022 02:55:48 +0000 (10:55 +0800)
committerPo Lu <luangruo@yahoo.com>
Mon, 23 May 2022 02:55:48 +0000 (10:55 +0800)
* src/xterm.c (handle_one_xevent): [!HAVE_XRANDR]: Store
MONITORS_CHANGED_EVENT upon root window reconfiguration.

src/xterm.c

index 2465dbd863a3441bb05fa068cc0a77a407f34996..dc1daaf6e19b5fe16706584b3ada90aa251e59a6 100644 (file)
@@ -16653,6 +16653,17 @@ handle_one_xevent (struct x_display_info *dpyinfo,
          /* This function is OK to call even if the X server doesn't
             support RandR.  */
          XRRUpdateConfiguration (&configureEvent);
+#elif !defined USE_GTK
+         /* 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);
+
+         /* 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;