<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - wayland: dialog stacking without parents (RFC)"
href="https://bugzilla.gnome.org/show_bug.cgi?id=759161">759161</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>wayland: dialog stacking without parents (RFC)
</td>
</tr>
<tr>
<th>Classification</th>
<td>Platform
</td>
</tr>
<tr>
<th>Product</th>
<td>gtk+
</td>
</tr>
<tr>
<th>Version</th>
<td>3.19.x
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>Normal
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: Wayland
</td>
</tr>
<tr>
<th>Assignee</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ofourdan@redhat.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>gtk-bugs@gtk.org
</td>
</tr>
<tr>
<th>CC</th>
<td>rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>GNOME version</th>
<td>---
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=316915" name="attach_316915" title="Attaching simple program to demonstrate the issue">attachment 316915</a> <a href="attachment.cgi?id=316915&action=edit" title="Attaching simple program to demonstrate the issue">[details]</a></span>
Attaching simple program to demonstrate the issue
Description:
Some applications use the type hint "dialog" without specifying a transient.
On X11, most fine window managers like mutter will treat the dialog window as a
"transient for the group" and keep the dialog above the other windows of the
same group.
On Wayland, xdg-shell features the set_parent() [1] method to specify that a
dialog is related to a parent window, but unfortunately there is no such thing
as "transient for group" in Wayland.
On wayland-devel mailing list [2], I was told that "the client must have
absolute final control, with no ambiguity, over the stacking order and
visibility of every surface" (unfortunately th reply does not show in the ML
archives so I cannot link it...).
So that means if we want to replicate the behaviour with dialogs without
transient (parent) in Wayland, we have to manage the stacking in the
applications, thus gtk+.
I reckon that would add some complexity to gtk+/gdk and its Wayland back-end.
So. is this something we want for gtk+?
Steps to reproduce:
1. Save and build the attach program
2. Run it on X11 and on Wayland
Actual result:
On X11, the dialog type window is kept above the two other windows.
On Wayland, all windows and can be raised independently.
Expected result:
Consistent stacking between Wayland and X11.
Additional info:
[1]
<a href="http://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-shell/xdg-shell-unstable-v5.xml#n171">http://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-shell/xdg-shell-unstable-v5.xml#n171</a>
[2]
<a href="http://lists.freedesktop.org/archives/wayland-devel/2015-November/025726.html">http://lists.freedesktop.org/archives/wayland-devel/2015-November/025726.html</a></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>