GNOME Bugzilla – Bug 685064
some modal dialogs not properly attached
Last modified: 2021-07-05 14:44:37 UTC
Click on the network menu item for a enterprise wpa account that you don't have stored secrets for. The control center will be launched, with an enormous dialog on top of it. The dialog is transient for the control-center, has state modal and type dialog, yet I don't get the proper shading and move-together behaviour that other modals enjoy.
This happens because the code that's supposed to associate X window IDs with MetaWindows is completely fucking broken and doesn't do anything.
and has been since 2011 (!!!)
and has been since 2001 (!!!)
If you know the reason for the brokenness, can you provide a patch to fix it ?
I'm working on it.
Created attachment 225527 [details] [review] window: Make should_attach_to_parent public This makes debugging slightly easier, since you're now allowed to view these values from the looking glass.
Created attachment 225528 [details] [review] window: Recalc attached changes in recalc_window_changes If a window switches from non-modal to modal after construction, as with what happens with gnome-control-center, we won't pick up on it and convert it to an attached modal dialog. Do that.
Created attachment 225529 [details] [review] window-props: Don't care about unconstructed transient-for values at construct When we're constructing windows one at a time, we can't be picky, as windows other properties refer to may not exist yet. The proper way to do this is to construct all windows before fetching any properties, but that would require some code refactoring that can come later. This ensures that modal dialogs "stick" after a restart of gnome-shell.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/ Thank you for your understanding and your help.