Let extension preferences supply their own window widget
When libadwaita is included in GNOME, extensions developers may want to use a different top-level window than the one provided by the extensions service (I know I'd like to use an AdwPreferencesWindow to make use of its facilities).
That would need a change in the flow of the extensions service so that extensions providing a non-window preferences widget still work:
/* In OpenExtensionPrefsAsync */
try {
/* Get the prefs widget from the extension */
if ( widget instanceof Gtk.Window ) {
/* Show the window */
}
else {
/* Build a new window and set the widget as child */
}
} catch (e) {
/* Show the error window */
}
If that is something you are interested in, I can work to implement it.