diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index 44396955ed0..a567ab163af 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -8762,6 +8762,20 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 8762 | goto OTHER; | 8762 | goto OTHER; |
| 8763 | 8763 | ||
| 8764 | case FocusIn: | 8764 | case FocusIn: |
| 8765 | /* Some WMs (e.g. Mutter in Gnome Shell), don't unmap | ||
| 8766 | minimized/iconified windows; thus, for those WMs we won't get | ||
| 8767 | a MapNotify when unminimizing/deconifying. Check here if we | ||
| 8768 | are deconizing a window (Bug42655). */ | ||
| 8769 | f = any; | ||
| 8770 | if (f && FRAME_ICONIFIED_P (f)) | ||
| 8771 | { | ||
| 8772 | SET_FRAME_VISIBLE (f, 1); | ||
| 8773 | SET_FRAME_ICONIFIED (f, false); | ||
| 8774 | f->output_data.x->has_been_visible = true; | ||
| 8775 | inev.ie.kind = DEICONIFY_EVENT; | ||
| 8776 | XSETFRAME (inev.ie.frame_or_window, f); | ||
| 8777 | } | ||
| 8778 | |||
| 8765 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); | 8779 | x_detect_focus_change (dpyinfo, any, event, &inev.ie); |
| 8766 | goto OTHER; | 8780 | goto OTHER; |
| 8767 | 8781 | ||