For GNOME 42, we want to adopt libadwaita for extension’s prefs dialogs so that we draw in the correct platform stylesheet and dark-mode support.
I opened a merge request for that earlier, but there are some bits that deserve some wider discussion:
dialogs are based on
AdwPreferencesWindowinstead of plain windows; that provides a convenient and standardized API for multi-page preferences, but also complicates some things extensions may want to do (namely put random things in the headerbar)
there’s a new alternative to the existing
buildPrefsWidget()API that gives extensions full access to the dialog:
fillPrefsWindow(). I belief that approach is better than the old pre-CSD one, but I’m not too excited about the name (bikeshed ahead!)