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
This commit is contained in:
parent
0247d35e5a
commit
1c89fce30e
@ -859,8 +859,11 @@ static void
|
|||||||
ensure_above (MetaWindow *above,
|
ensure_above (MetaWindow *above,
|
||||||
MetaWindow *below)
|
MetaWindow *below)
|
||||||
{
|
{
|
||||||
if (WINDOW_HAS_TRANSIENT_TYPE(above) &&
|
gboolean is_transient;
|
||||||
above->layer < below->layer)
|
|
||||||
|
is_transient = WINDOW_HAS_TRANSIENT_TYPE (above) ||
|
||||||
|
above->transient_for == below;
|
||||||
|
if (is_transient && above->layer < below->layer)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_STACK,
|
meta_topic (META_DEBUG_STACK,
|
||||||
"Promoting window %s from layer %u to %u due to contraint\n",
|
"Promoting window %s from layer %u to %u due to contraint\n",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user