GNOME Bugzilla – Bug 308322
gtk_window_fullscreen + child window
Last modified: 2020-11-06 20:08:13 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...
Created attachment 48007 [details] Test case
Window manager issue
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.
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.
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 (gnomedesktop.org 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. gnomedesktop.org) 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.
See also bug 347217 which is related but looks to be a separate fullscreen interaction issue.
bugzilla.gnome.org is being replaced by gitlab.gnome.org. 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 https://gitlab.gnome.org/GNOME/metacity/-/issues/ Thank you for reporting this issue and we are sorry it could not be fixed.