Make GTK4 adaptive
So in GTK3 we have a bunch of patches for adaptiveness.
Adapting dialogs:
-
GtkAboutDialog (AdwAboutWindow) -
GtkFileChooser (portal) -
GtkShortcutsWindow -
GtkPrintDialog (portal) -
GtkFontChooser -
GtkMessageDialog (AdwMessageDialog)
Modal window handling:
-
Back button in header bar (patch; replaced these with close buttons) -
Auto-maximizing modal windows (patch)
Misc:
-
GtkInfoBar
We also have a bunch of input-related patches, but those aren't needed in GTK4.
Most of these can be fixed by reimplementing the widget in question in libadwaita and/or apps need to use portals - thus getting rid of the technical debt entirely. Depending on how long it takes though, some of these will need to still be patches in the meantime.
The highest priority ones are about dialog and message dialog - almost every app uses those. Technically GtkShortcutsWindow too, but we usually hide those on moboile completely.
Another important one is handling modal windows. I do have a plan for how we could cleanly support that, but for now those will need to be patches.
The one thing I want to avoid is backporting parts of libadwaita to gtk, like we had for the file chooser and about dialog patches. That's incredibly messy and would be even more messy now as e.g. you would have to integrate the whole animation framework for AdwFlap (file chooesr) or AdwViewSwitcherTitle (about dialog).