Mercurial > emacs
view src/syswait.h @ 105693:964ff7cbc8a6
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.
| author | Jan Dj?rv <jan.h.d@swipnet.se> |
|---|---|
| date | Wed, 21 Oct 2009 18:29:46 +0000 |
| parents | e038c1a8307c |
| children | 1d1d5d9bd884 |
line wrap: on
line source
/* Define wait system call interface for Emacs. Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ /* Define the structure that the wait system call stores. On many systems, there is a structure defined for this. But on vanilla-ish USG systems there is not. */ #ifndef EMACS_SYSWAIT_H #define EMACS_SYSWAIT_H #include <sys/types.h> #ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */ #include <sys/wait.h> #endif /* !HAVE_SYS_WAIT_H */ #ifndef WCOREDUMP /* not POSIX */ #define WCOREDUMP(status) ((status) & 0x80) #endif #ifndef WEXITSTATUS #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) #endif #ifndef WIFEXITED #define WIFEXITED(status) (WTERMSIG(status) == 0) #endif #ifndef WIFSTOPPED #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) #endif #ifndef WIFSIGNALED #define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status)) #endif #ifndef WSTOPSIG #define WSTOPSIG(status) WEXITSTATUS(status) #endif #ifndef WTERMSIG #define WTERMSIG(status) ((status) & 0x7f) #endif #undef WRETCODE #define WRETCODE(status) WEXITSTATUS (status) #endif /* EMACS_SYSWAIT_H */ /* arch-tag: 7e5d9719-ec66-4b6f-89bb-563eea16a899 (do not change this comment) */
