diff options
| author | Martin Rudalics | 2018-07-01 10:22:59 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2018-07-01 10:22:59 +0200 |
| commit | 4e58ca87f99d08a91d37a41c2d18f7a1f23fa8c6 (patch) | |
| tree | 7943d527686bd823bb0ebb240e8b61e52f23bcbb | |
| parent | 4bd43b03526ae893609c7b54958fc332a1c81681 (diff) | |
| download | emacs-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.c | 22 | ||||
| -rw-r--r-- | src/xterm.c | 4 |
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 | */ |
| 2196 | static void | 2201 | static void |
| 2197 | x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) | 2202 | x_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 | */ | ||
| 7729 | void | 7749 | void |
| 7730 | w32_dialog_in_progress (Lisp_Object in_progress) | 7750 | w32_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 | */ |
| 10564 | void | 10568 | void |
| 10565 | x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) | 10569 | x_set_z_group (struct frame *f, Lisp_Object new_value, Lisp_Object old_value) |