summaryrefslogtreecommitdiff
path: root/src/core/window-private.h
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-08-22 00:58:06 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-08-22 01:15:21 +0200
commit6b90b1df0695c0faa1d5e1c8d3ca9b7cba13d650 (patch)
treee5c6177a7fa484a712ffe6df1266340260a12d4b /src/core/window-private.h
parente741adb82e18fff557cb95185756f56ca7afcf3d (diff)
downloadmutter-6b90b1df0695c0faa1d5e1c8d3ca9b7cba13d650.tar.gz
core: Preserve focus across decoration changeswip/carlosg/issue-273
Changes in window decoration result in the window being reparented in and out its frame. This in turn causes unmap/map events, and XI_FocusOut if the window happened to be focused. In order to preserve the focused window across the decoration change, add a flag so that the focus may be restored on MapNotify. Closes: #273
Diffstat (limited to 'src/core/window-private.h')
-rw-r--r--src/core/window-private.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 8eb462be3..ea3353506 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -408,6 +408,9 @@ struct _MetaWindow
/* whether or not the window is from a program running on another machine */
guint is_remote : 1;
+ /* whether focus should be restored on map */
+ guint restore_focus_on_map : 1;
+
/* if non-NULL, the bounds of the window frame */
cairo_region_t *frame_bounds;