Fix resize due to font change on a maximized/xmonad-controlled frame.
authorJan Djärv <jan.h.d@swipnet.se>
Wed, 21 Oct 2009 18:29:46 +0000 (18:29 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Wed, 21 Oct 2009 18:29:46 +0000 (18:29 +0000)
commit5c646d5a31903acabeb267a69f6fa7d1f21dcad7
treea1bd8fb98d92ac18f6d3584817c02f78807cac67
parent8d106ea001f5a258da2a36a70587cc8fc9695b1c
Fix resize due to font change on a maximized/xmonad-controlled frame.

* xterm.h (x_wait_for_event): Declare it.

* xterm.c (pending_event_wait): New variable.
(handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
see pending_event_wait.eventtype.
(handle_one_xevent): Don't change gravity when parent changes.
(x_new_font): Call change_frame_size with new rows/columns before we try
to resize the frame.
(x_wait_for_event): New function.
(x_set_window_size_1): Don't change gravity unless change_gravity is set.
Call XResizeWindow with FRAME_OUTER_WINDOW.  If we are visible,
don't change frame size, instead wait for the ConfigureNotify.
(x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
(x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
(x_initialize): Initialize pending_event_wait.

* xmenu.c (set_frame_menubar): Add internal border width to menu bar
size.

* widget.c (EmacsFrameSetValues): Add comment.
(EmacsFrameSetCharSize): Just call x_set_window_size.

* gtkutil.c (xg_frame_set_char_size): Flush events and call
x_wait_for_event.
(flush_and_sync): Removed again.
(xg_get_font_name): Suggest monospace if no previous font is known.
src/ChangeLog
src/gtkutil.c
src/widget.c
src/xmenu.c
src/xterm.c
src/xterm.h