aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Rudalics2025-11-02 09:24:05 +0100
committerMartin Rudalics2025-11-02 09:24:05 +0100
commit2c4e7a99cc161ed4ee246a698792feeff26d7b91 (patch)
tree802468fc5cbdcad795cd54f48d78a6ad8a1b6931 /doc
parentfae5ced1acaff0dcf8a2206272d7762612ea7289 (diff)
downloademacs-2c4e7a99cc161ed4ee246a698792feeff26d7b91.tar.gz
emacs-2c4e7a99cc161ed4ee246a698792feeff26d7b91.zip
Handle resizing of fullscreen frames more consistently (Bug#79704)
* src/frame.c (adjust_frame_size): Honor new option 'alter-fullscreen-frames'. (syms_of_frame) <alter-fullscreen-frames>: New option to maintain consistent state when attempting to resize fullscreen frames. Default to 'inhibit' for NS builds because these resized the frame while leaving the 'fullscreen' parameter alone (Bug#79704). (syms_of_frame) <Qinhibit>: Define symbol. * lisp/cus-start.el (standard): Add customization options for 'alter-fullscreen-frames' * doc/lispref/frames.texi (Frame Size): Describe new option 'alter-fullscreen-frames'. * etc/NEWS: Call out new option 'alter-fullscreen-frames'.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/frames.texi31
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 740ea43a90f..c053d8c5543 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1234,6 +1234,37 @@ bottom corner of the frame. The parameters @code{min-width} and
1234@code{min-height} (@pxref{Size Parameters}) can be used to obtain a 1234@code{min-height} (@pxref{Size Parameters}) can be used to obtain a
1235similar behavior when changing the frame size from within Emacs. 1235similar behavior when changing the frame size from within Emacs.
1236 1236
1237When a frame is in a fullscreen state (@pxref{Size Parameters}),
1238requests to change the frame size via one of these functions may be
1239supported or refused either by Emacs itself or by the window manager.
1240The following variable provides more control of the resulting behavior.
1241
1242@cindex altering the size of fullscreen frames
1243@cindex resizing fullscreen frames
1244@defopt alter-fullscreen-frames
1245This options controls how to handle requests to alter fullscreen frames.
1246Emacs consults it when asked to resize a fullscreen frame via functions
1247like @code{set-frame-size} or when setting the @code{width} or
1248@code{height} parameter of a frame. The following values are provided:
1249
1250@table @code
1251@item nil
1252This will forward the resize request to the window manager and leave it
1253to the latter how to proceed.
1254
1255@item t
1256This will first reset the fullscreen status and then forward the resize
1257request on to the window manager.
1258
1259@item inhibit
1260This will reject the resize request and leave the fullscreen status
1261unchanged.
1262@end table
1263
1264The default is @code{inhibit} on NS builds and @code{nil} everywhere
1265else.
1266@end defopt
1267
1237@cindex tracking frame size changes 1268@cindex tracking frame size changes
1238 The abnormal hook @code{window-size-change-functions} (@pxref{Window 1269 The abnormal hook @code{window-size-change-functions} (@pxref{Window
1239Hooks}) tracks all changes of the inner size of a frame including those 1270Hooks}) tracks all changes of the inner size of a frame including those