]> git.eshelyaron.com Git - emacs.git/commit
Fix and document frame parameters for text terminals and child frames
authorMartin Rudalics <rudalics@gmx.at>
Sat, 22 Mar 2025 08:34:53 +0000 (09:34 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sun, 23 Mar 2025 19:23:57 +0000 (20:23 +0100)
commit5a15c988c634aa038858056d6abc807a671f1a96
treef654e84764b68b794bf25a0fa2d1c282b8d6a93c
parent19877903b0ba93510d25252ad2653055530b372d
Fix and document frame parameters for text terminals and child frames

* src/frame.c (Fmake_frame_invisible): In doc-string describe
effect on text terminals.  Set FRAME correctly when called with
nil value.  Make frame invisible before calling mru_rooted_frame
or next_frame.
(Ficonify_frame): Make it work for child frames on text
terminals
(Fmodify_frame_parameters): Make value 'icon' for 'visibility'
work for child frames.
* src/dispnew.c (frame_ancestors_visible_p): New function.
(frames_with_root): If VISIBLE_ONLY is non-nil, return only
frames whose ancestors are all visible to avoid that redisplay
draws visibly orphaned child frames.
* doc/lispref/frames.texi (Frames): Move descriptions of top
frame and 'tty-top-frame' here.
(Frame Layout): Mention that on text terminals the outer border
can be emulated by setting the 'undecorated' frame parameter.
(Frame Position, Frame Parameters, Window Frame Parameters)
(Position Parameters, Size Parameters): Rewrite sections dealing
with the handling of frame parameters in text terminals.
(Layout Parameters): Move description of 'undecorated' parameter
here.  Clarify semantics of 'menu-bar-lines' parameter.
(Frame Interaction Parameters): Move description of 'visibility'
parameter here.  Mention which parameters are not implemented on
text terminals.
(Mouse Dragging Parameters): Describe how these work on text
terminals.
(Visibility of Frames): Rewrite section.
(Raising and Lowering): Describe for text terminals.
(Child Frames): Fix description of 'iconify-child-frame' option.

(cherry picked from commit 1ee2a921ad528e18cc68c594f4f2ffcb0599cfe7)
doc/lispref/frames.texi
src/dispnew.c
src/frame.c