[mutter] stack: Allow promoting transient windows to their parent's layer
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] stack: Allow promoting transient windows to their parent's layer
- Date: Fri, 29 Nov 2019 14:10:41 +0000 (UTC)
commit 1c89fce30e0f478f11f90221ddb6b831d7f0f5e8
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Nov 27 02:00:00 2019 +0100
stack: Allow promoting transient windows to their parent's layer
When a window that should be stacked above another one is placed in a lower
layer than the other window, we currently allow promoting it to the higher
layer when it has a "transient type". We should do the same when the window
is an actual transient of the other window.
This is particularly relevant for wayland windows, where types play a
much smaller role: Transient windows like non-modal dialogs (and since
commit 666bef7a, popup windows as well) currently end up underneath their
always-on-top parent.
https://gitlab.gnome.org/GNOME/mutter/issues/587
src/core/stack.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/core/stack.c b/src/core/stack.c
index 1279066ff..d7a0c9c67 100644
--- a/src/core/stack.c
+++ b/src/core/stack.c
@@ -859,8 +859,11 @@ static void
ensure_above (MetaWindow *above,
MetaWindow *below)
{
- if (WINDOW_HAS_TRANSIENT_TYPE(above) &&
- above->layer < below->layer)
+ gboolean is_transient;
+
+ is_transient = WINDOW_HAS_TRANSIENT_TYPE (above) ||
+ above->transient_for == below;
+ if (is_transient && above->layer < below->layer)
{
meta_topic (META_DEBUG_STACK,
"Promoting window %s from layer %u to %u due to contraint\n",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]