aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorPo Lu2022-05-19 03:43:39 +0000
committerPo Lu2022-05-19 03:43:39 +0000
commit4dfaefcffc987400a317b5ccf0c9bf00f7c84134 (patch)
tree590fe0f71a6fae3fdec4d64fa80e20875f136be9 /doc
parentbc604417f87f9fce865e70b3bc88b6bf2a8fd415 (diff)
downloademacs-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')
-rw-r--r--doc/lispref/frames.texi14
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
1735This parameter specifies whether to maximize the frame's width, height 1735This parameter specifies whether to maximize the frame's width, height
1736or both. Its value can be @code{fullwidth}, @code{fullheight}, 1736or 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
1739effect.} A @dfn{fullwidth} frame is as
1740wide as possible, a @dfn{fullheight} frame is as tall as possible, and 1738wide as possible, a @dfn{fullheight} frame is as tall as possible, and
1741a @dfn{fullboth} frame is both as wide and as tall as possible. A 1739a @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
1743keeps its title bar and the buttons for resizing 1741usually keeps its title bar and the buttons for resizing and closing
1744and closing the frame. Also, maximized frames typically avoid hiding 1742the frame. Also, maximized frames typically avoid hiding any task bar
1745any task bar or panels displayed on the desktop. A ``fullboth'' frame, 1743or panels displayed on the desktop. A ``fullboth'' frame, on the
1746on the other hand, usually omits the title bar and occupies the entire 1744other hand, usually omits the title bar and occupies the entire
1747available screen space. 1745available screen space.
1748 1746
1749Full-height and full-width frames are more similar to maximized 1747Full-height and full-width frames are more similar to maximized