aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Rudalics2017-10-01 10:17:17 +0200
committerMartin Rudalics2017-10-01 10:17:17 +0200
commitb03b4f6d79f1736f2455574aced92f89ed032d79 (patch)
treed1c6e321991f13f90b95dd2a90bded0263c7406c /doc
parentba9139c501ed8220980e898f127e293e8f263ea1 (diff)
downloademacs-b03b4f6d79f1736f2455574aced92f89ed032d79.tar.gz
emacs-b03b4f6d79f1736f2455574aced92f89ed032d79.zip
Improve handling of iconification of child frames (Bug#28611)
* src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option. (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible. (iconify_child_frame): New option. * lisp/cus-start.el (iconify-child-frame): Add customization properties. * doc/lispref/frames.texi (Child Frames): Describe new option `iconify-child-frame'. Don't index "top-level frame" twice.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/frames.texi30
1 files changed, 25 insertions, 5 deletions
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index f66ecee8e8e..07a8b825026 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -3076,15 +3076,14 @@ as long as the parameter is not changed or reset. Technically, this
3076makes the child frame's window-system window a child window of the 3076makes the child frame's window-system window a child window of the
3077parent frame's window-system window. 3077parent frame's window-system window.
3078 3078
3079@cindex top-level frame
3080@cindex reparent frame 3079@cindex reparent frame
3081@cindex nest frame 3080@cindex nest frame
3082 The @code{parent-frame} parameter can be changed at any time. Setting 3081 The @code{parent-frame} parameter can be changed at any time. Setting
3083it to another frame @dfn{reparents} the child frame. Setting it to 3082it to another frame @dfn{reparents} the child frame. Setting it to
3084another child frame makes the frame a @dfn{nested} child frame. Setting 3083another child frame makes the frame a @dfn{nested} child frame. Setting
3085it to @code{nil} restores the frame's status as a @dfn{top-level 3084it to @code{nil} restores the frame's status as a top-level frame---a
3086frame}---a frame whose window-system window is a child of its display's 3085frame whose window-system window is a child of its display's root
3087root window. 3086window.
3088 3087
3089 Since child frames can be arbitrarily nested, a frame can be both a 3088 Since child frames can be arbitrarily nested, a frame can be both a
3090child and a parent frame. Also, the relative roles of child and parent 3089child and a parent frame. Also, the relative roles of child and parent
@@ -3203,7 +3202,11 @@ a number of other ways as well. Here we sketch a few of them:
3203@item 3202@item
3204The semantics of maximizing and iconifying child frames is highly 3203The semantics of maximizing and iconifying child frames is highly
3205window-system dependent. As a rule, applications should never invoke 3204window-system dependent. As a rule, applications should never invoke
3206these operations for child frames. 3205these operations for on frames. By default, invoking
3206@code{iconify-frame} on a child frame will try to iconify the top-level
3207frame corresponding to that child frame instead. To obtain a different
3208behavior, users may customize the option @code{iconify-child-frame}
3209described below.
3207 3210
3208@item 3211@item
3209Raising, lowering and restacking child frames (@pxref{Raising and 3212Raising, lowering and restacking child frames (@pxref{Raising and
@@ -3259,6 +3262,23 @@ frame in the largest empty area of an existing window. This can be
3259useful to avoid that a child frame obscures any text shown in that 3262useful to avoid that a child frame obscures any text shown in that
3260window. 3263window.
3261 3264
3265Customizing the following option can be useful to tweak the behavior of
3266@code{iconify-frame} for child frames.
3267
3268@defvar iconify-child-frame
3269This option tells Emacs how to proceed when it is asked to iconify a
3270child frame. If it is @code{nil}, @code{iconify-frame} will do nothing
3271when invoked on a child frame. If it is @code{iconify-top-level}, Emacs
3272will try to iconify the top-level frame that is the ancestor of this
3273child frame instead. If it is @code{make-invisible}, Emacs will try to
3274make this child frame invisible instead of iconifying it.
3275
3276Any other value means to try iconifying the child frame. Since such an
3277attempt may not be honored by all window managers and can even lead to
3278making the child frame unresponsive to user actions, the default is to
3279iconify the top level frame instead.
3280@end defvar
3281
3262 3282
3263@node Mouse Tracking 3283@node Mouse Tracking
3264@section Mouse Tracking 3284@section Mouse Tracking