diff options
| author | Po Lu | 2022-05-19 03:43:39 +0000 |
|---|---|---|
| committer | Po Lu | 2022-05-19 03:43:39 +0000 |
| commit | 4dfaefcffc987400a317b5ccf0c9bf00f7c84134 (patch) | |
| tree | 590fe0f71a6fae3fdec4d64fa80e20875f136be9 /doc/lispref/frames.texi | |
| parent | bc604417f87f9fce865e70b3bc88b6bf2a8fd415 (diff) | |
| download | emacs-4dfaefcffc987400a317b5ccf0c9bf00f7c84134.tar.gz emacs-4dfaefcffc987400a317b5ccf0c9bf00f7c84134.zip | |
Fix race conditions processing frame fullscreen state on Haiku
* doc/lispref/frames.texi (Size Parameters): Remove note saying
Haiku doesn't support `fullwidth' and `fullboth'.
* src/haiku_support.cc (subset_windows, class EmacsWindow)
(Unparent, ParentTo): Stop calling old fullscreen functions.
(ClearFullscreen, FullscreenRectForMode, SetFullscreen): New
functions. Completely rewrite old zoom and fullscreen handling
code.
(Zoom): Send a ZOOM_EVENT and don't actually zoom.
(BWindow_zoom, EmacsWindow_make_fullscreen, EmacsWindow_unzoom):
Delete functions.
(be_set_window_fullscreen_mode): New function.
* src/haiku_support.h (struct haiku_zoom_event): Remove
`zoomed_p' parameter.
(enum haiku_fullscreen_mode): New enum. Update prototypes.
* src/haikufns.c (Fx_display_pixel_height): Return height
instead of width.
* src/haikuterm.c (haiku_make_fullscreen_consistent)
(haiku_read_socket, haiku_fullscreen): Adjust to always set zoom
and fullscreen in the main thread instead of the UI threads.
* src/haikuterm.h (struct haiku_output): Remove flag `zoomed_p'
and add field `fullscreen_mode'.
Diffstat (limited to 'doc/lispref/frames.texi')
| -rw-r--r-- | doc/lispref/frames.texi | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 5853c45b79e..5ea060871f4 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -1734,16 +1734,14 @@ fit will be clipped by the window manager. | |||
| 1734 | @item fullscreen | 1734 | @item fullscreen |
| 1735 | This parameter specifies whether to maximize the frame's width, height | 1735 | This parameter specifies whether to maximize the frame's width, height |
| 1736 | or both. Its value can be @code{fullwidth}, @code{fullheight}, | 1736 | or both. Its value can be @code{fullwidth}, @code{fullheight}, |
| 1737 | @code{fullboth}, or @code{maximized}.@footnote{On Haiku, setting | 1737 | @code{fullboth}, or @code{maximized}. A @dfn{fullwidth} frame is as |
| 1738 | @code{fullscreen} to @code{fullwidth} or @code{fullheight} has no | ||
| 1739 | effect.} A @dfn{fullwidth} frame is as | ||
| 1740 | wide as possible, a @dfn{fullheight} frame is as tall as possible, and | 1738 | wide as possible, a @dfn{fullheight} frame is as tall as possible, and |
| 1741 | a @dfn{fullboth} frame is both as wide and as tall as possible. A | 1739 | a @dfn{fullboth} frame is both as wide and as tall as possible. A |
| 1742 | @dfn{maximized} frame is like a ``fullboth'' frame, except that it usually | 1740 | @dfn{maximized} frame is like a ``fullboth'' frame, except that it |
| 1743 | keeps its title bar and the buttons for resizing | 1741 | usually keeps its title bar and the buttons for resizing and closing |
| 1744 | and closing the frame. Also, maximized frames typically avoid hiding | 1742 | the frame. Also, maximized frames typically avoid hiding any task bar |
| 1745 | any task bar or panels displayed on the desktop. A ``fullboth'' frame, | 1743 | or panels displayed on the desktop. A ``fullboth'' frame, on the |
| 1746 | on the other hand, usually omits the title bar and occupies the entire | 1744 | other hand, usually omits the title bar and occupies the entire |
| 1747 | available screen space. | 1745 | available screen space. |
| 1748 | 1746 | ||
| 1749 | Full-height and full-width frames are more similar to maximized | 1747 | Full-height and full-width frames are more similar to maximized |