aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2018-07-01 10:22:59 +0200
committerMartin Rudalics2018-07-01 10:22:59 +0200
commit4e58ca87f99d08a91d37a41c2d18f7a1f23fa8c6 (patch)
tree7943d527686bd823bb0ebb240e8b61e52f23bcbb
parent4bd43b03526ae893609c7b54958fc332a1c81681 (diff)
downloademacs-4e58ca87f99d08a91d37a41c2d18f7a1f23fa8c6.tar.gz
emacs-4e58ca87f99d08a91d37a41c2d18f7a1f23fa8c6.zip
Document internal use of 'above-suspended' z-group frame parameter
* src/w32fns.c (w32_dialog_in_progress, x_set_z_group): * src/xterm.c (x_set_z_group): Clarify the internal use of 'above-suspended' when setting a frame's 'z-group' parameter.
-rw-r--r--src/w32fns.c22
-rw-r--r--src/xterm.c4
2 files changed, 25 insertions, 1 deletions
diff --git a/src/w32fns.c b/src/w32fns.c
index e50b7d5c3c3..1b199bf54f1 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -2192,6 +2192,11 @@ x_set_no_accept_focus (struct frame *f, Lisp_Object new_value, Lisp_Object old_v
2192 * 2192 *
2193 * Some window managers may not honor this parameter. The value `below' 2193 * Some window managers may not honor this parameter. The value `below'
2194 * is not supported on Windows. 2194 * is not supported on Windows.
2195 *
2196 * Internally, this function also handles a value 'above-suspended'.
2197 * That value is used to temporarily remove F from the 'above' group
2198 * to make sure that it does not obscure the window of a dialog in
2199 * progress.
2195 */ 2200 */
2196static void 2201static void
2197x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) 2202x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value)
@@ -7726,12 +7731,27 @@ file_dialog_callback (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
7726 return 0; 7731 return 0;
7727} 7732}
7728 7733
7734/**
7735 * w32_dialog_in_progress:
7736 *
7737 * This function is called by Fx_file_dialog and Fx_select_font and
7738 * serves to temporarily remove any Emacs frame currently in the
7739 * 'above' z-group from that group to assure that such a frame does
7740 * not hide the dialog window. Frames that are temporarily removed
7741 * from the 'above' group have their z_group bit-field set to
7742 * z_group_above_suspended. Any such frame is moved back to the
7743 * 'above' group as soon as the dialog finishes and has its z_group
7744 * bit-field reset to z_group_above.
7745 *
7746 * This function does not affect the z-order or the z-group state of
7747 * the dialog window itself.
7748 */
7729void 7749void
7730w32_dialog_in_progress (Lisp_Object in_progress) 7750w32_dialog_in_progress (Lisp_Object in_progress)
7731{ 7751{
7732 Lisp_Object frames, frame; 7752 Lisp_Object frames, frame;
7733 7753
7734 /* Don't let frames in `above' z-group obscure popups. */ 7754 /* Don't let frames in `above' z-group obscure dialog windows. */
7735 FOR_EACH_FRAME (frames, frame) 7755 FOR_EACH_FRAME (frames, frame)
7736 { 7756 {
7737 struct frame *f = XFRAME (frame); 7757 struct frame *f = XFRAME (frame);
diff --git a/src/xterm.c b/src/xterm.c
index 496effaf42a..a5646910334 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10560,6 +10560,10 @@ x_set_skip_taskbar (struct frame *f, Lisp_Object new_value, Lisp_Object old_valu
10560 * windows that do not have the `below' property set. 10560 * windows that do not have the `below' property set.
10561 * 10561 *
10562 * Some window managers may not honor this parameter. 10562 * Some window managers may not honor this parameter.
10563 *
10564 * Internally, this function also handles a value 'above-suspended'.
10565 * That value is used to temporarily remove F from the 'above' group
10566 * to make sure that it does not obscure a menu currently popped up.
10563 */ 10567 */
10564void 10568void
10565x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) 10569x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value)