After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 310170 - Dialog not kept above when it should
Dialog not kept above when it should
Status: RESOLVED WONTFIX
Product: gnome-vfs
Classification: Deprecated
Component: Other
2.14.x
Other All
: Normal normal
: 2.16
Assigned To: gnome-vfs maintainers
gnome-vfs maintainers
Depends on:
Blocks:
 
 
Reported: 2005-07-12 20:07 UTC by Christian Neumair
Modified: 2008-09-06 19:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
xprop output of to-be-kept above window (22.94 KB, text/plain)
2005-07-12 20:10 UTC, Christian Neumair
Details
xprop output of window which obscured KEEP_ABOVE window (4.57 KB, text/plain)
2005-07-12 20:11 UTC, Christian Neumair
Details

Description Christian Neumair 2005-07-12 20:07:08 UTC
From bug 163973:

Use "connect to server" to create a new server icon (I test with webdav). Drag a
file to it. When it asks for a password, wait. The copy/move progress window
will appear on top of the password dialog. This tends to disturb people who are
just trying to remember their password.

I've set the _KEEP_ABOVE flag on the password dialog, but the copy progress
dialog (which hasn't it set) obscures it if the latter pops up afterwards.

I'm on metacity 2.8.8.
Comment 1 Christian Neumair 2005-07-12 20:10:37 UTC
Created attachment 49053 [details]
xprop output of to-be-kept above window
Comment 2 Christian Neumair 2005-07-12 20:11:00 UTC
Created attachment 49054 [details]
xprop output of window which obscured KEEP_ABOVE window
Comment 3 Rob Adams 2005-07-12 20:19:11 UTC
Don't set ABOVE just make sure the transient relationships are represented
properly.  The password dialog in this case should be a transient child of the
copy progress dialog, so transient_for needs to be set to the window ID of the
copy progress dialog.  If you set STATE_ABOVE on a window the rest of the
windows in that group are also going to be promoted to the above layer.
Comment 4 Christian Neumair 2005-07-12 20:29:08 UTC
Rob: Thanks for the explanation. The EWMH spec [1] suggests:

" To obtain good interoperability between different Desktop Environments, the
following layered stacking order is recommended, from the bottom:

    *

      windows of type _NET_WM_TYPE_DESKTOP
    *

      windows having state _NET_WM_STATE_BELOW
    *

      windows not belonging in any other layer
    *

      windows of type _NET_WM_TYPE_DOCK (unless they have state
_NET_WM_TYPE_BELOW) and windows having state _NET_WM_STATE_ABOVE
    *"

The point is that IMHO we have at the moment no means to make a good guess the
transiency parent window, since the invocation authentication dialog invocation
is done through the VFS activation daemon, and the API doesn't have any window
parameter we could use as transiency target.

[1] http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#STACKINGORDER
Comment 5 Rob Adams 2005-07-12 20:56:03 UTC
The promotion of items in the same group as a STATE_ABOVE, DOCK, or FULLSCREEN
item is pretty important to ensure that these applications work correctly, such
as dialogs launched from fullscreen windows (clearly, these dialogs can't set
the fullscreen hint).  There's another bug in here somewhere about the full
reasons why we have to do it that way.

Sounds like an VFS API bug.  If it's going to be making popup windows, it is
absolutely crucial for window stacking that it set the transient hints
correctly.  Making this dialog STATE_ABOVE is a crude workaround that won't work
for a number of situations, such as a panel applet doing a gnome VFS-operation,
or a fullscreen window doing a gnome VFS operation similar to what you're doing.
 For the FULLSCREEN case, there is no hint you could set to try to work around it.
Comment 6 Havoc Pennington 2005-07-14 23:07:51 UTC
Rob is right on this, the API just has to have a transient parent argument.
There's no other way to fix it for all cases.
Comment 7 Christian Neumair 2005-07-14 23:10:49 UTC
Thanks for your explanations.
Comment 8 Christian Neumair 2006-04-09 10:21:31 UTC
Updating to 2.14, milestoning to 2.16 because the API is still not able to deal with transiency.
Comment 9 André Klapper 2008-09-06 19:10:34 UTC
gnome-vfs has been deprecated and superseded by gio/gvfs since GNOME 2.22, hence mass-closing many of the gnome-vfs requests/bug reports. This means that gnome-vfs is NOT actively maintained anymore, however patches are still welcome.

If your reported issue is still valid for gio/gvfs, please feel free to file a bug report against glib/gio or gvfs.

@Bugzilla mail recipients: query for gnome-vfs-mass-close to get rid of these notification emails all together.


General further information: http://en.wikipedia.org/wiki/GVFS 
Reasons behind this decision are listed at http://www.mail-archive.com/gnome-vfs-list@gnome.org/msg00899.html