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 308322 - gtk_window_fullscreen + child window
gtk_window_fullscreen + child window
Product: metacity
Classification: Other
Component: general
Other Linux
: Normal normal
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on:
Reported: 2005-06-19 18:01 UTC by Cameron Harris
Modified: 2020-11-06 20:08 UTC
See Also:
GNOME target: ---
GNOME version: ---

Test case (591 bytes, text/plain)
2005-06-19 18:03 UTC, Cameron Harris

Description Cameron Harris 2005-06-19 18:01:14 UTC
If I create a window, gtk_window_fullscreen it, and then create a child window
and gtk_window_set_transient_for it, so that it is the child of the fullscreen
window, then show them, the child window will appear beneath the fullscreen
window, but it will have focus.

I'm not sure whether i should be posting this as a metacity bug, though.

Attaching an example...
Comment 1 Cameron Harris 2005-06-19 18:03:40 UTC
Created attachment 48007 [details]
Test case
Comment 2 Matthias Clasen 2005-06-20 03:13:22 UTC
Window manager issue
Comment 3 Elijah Newren 2005-07-15 00:02:24 UTC
Just found this bug, but gotta run, so here's description instead of patch:

We only apply constraints in ensure_above() if WINDOW_HAS_TRANSIENT_TYPE, which
strangely checks the window's _NET_WM_WINDOW_TYPE instead (!!!!!) of checking if
it has a transient.
Comment 4 Havoc Pennington 2005-07-16 18:01:34 UTC
HAS_TRANSIENT_TYPE means "has a wm_window_type that is typically transient" 

The idea here would be to keep dialogs and tear-off menus on top even if not
marked transient.

Which I think is fine but it sounds like we also need to consider a TYPE_NORMAL
with a transient parent.

I thought we had code to change the type to DIALOG if there's a transient
parent; we probably should, since TYPE_NORMAL with a transient parent doesn't
really make any sense. So that might be the right fix instead of special-casing
TYPE_NORMAL with a transient parent.

Comment 5 Elijah Newren 2005-07-16 20:57:10 UTC
Ah, that explains some annoying bugs that I thought were always due to the
application.  I didn't know it was our fault.  A particular example that bothers
me quite often:

In Mozilla window A, try to open a site that happens to be down
( worked really well the last few days until Luke fixed it) in a
tab.  While waiting, start doing stuff elsewhere.  Move to mozilla window B. 
Start doing stuff in it.  Suddenly notice that you have a dialog telling you
that some site (e.g. could not be found which is totally
irrelvant to everything you are doing but is stacked such to make you think it's
relevant to your current window instead of the other mozilla one.  This can
really trip you out the first time you see it, though you can get used to the
bug and if you keep the state of your machine in the back of your mind then you
can just deal with this.  Still sucks, though.
Comment 6 Elijah Newren 2006-07-14 14:43:53 UTC
See also bug 347217 which is related but looks to be a separate fullscreen interaction issue.
Comment 7 André Klapper 2020-11-06 20:08:13 UTC is being replaced by We are closing all old bug reports in Bugzilla which have not seen updates for many years.

If you can still reproduce this issue in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at

Thank you for reporting this issue and we are sorry it could not be fixed.