Develop a GNOME widgets library
The core widget machinery offered by GTK doesn't need to move as fast as the latest HIG fashion, this is a problem because it gives lots of work to the GTK team to work on both at the same time, and this slows down the availability of newer and more innovative process.
During many discussions over the previous years, the design team, the GTK devs and various app devs agreed that:
- GTK would benefit from being a bit more generic and less GNOME-centric
- GNOME would benefit from having a library helping to implement the latest GNOME HIG
Many libraries served that purpose over the history of GNOME 3 (libgd, libegg, libdazzle, libhandy), some were designed to be only used included as a submodule and never had releases (e.g. libgd), which causes a maintainance burden. A saner approach that should offer a healty balance of stability and innovation would be to offer a library:
- with a stable API and ABI,
- that is designed to be shipped by distributions as a shared library,
- releasing a new minor version for every new GNOME version,
- which doesn't hesitate to prototype new ideas,
- which doesn't shy away from deprecating things,
- which doesn't shy away from offering a new major version every ~2 years to clean its API up.
Currently the closest we have to that is libhandy so we could simply take it and decide it's that library, except there are a few things that should change in libhandy first:
- it should be a GTK 4 library from the beginning,
- the most generic widgets should move to GTK when possible,
- we need a library name without unfortunate meanings in English,
- we need a library name which reflects its goal of being the GNOME HIGimplementation helper library.
So we need to choose a name:
- libgnome isn't possible, it exists,
- libgnomeui existed in the GNOME 2 days,
- libhig is weird, it's not a library about guidelines per se and it doesn't denote it's for GNOME,
- …
Share your name ideas in comments!
Update
After discussion, the library will be named libadwaita and have the Adw namespace to further make Adwaita be the name of the visual and UX language of GNOME, completing the GTK them and the icon theme.
We need to make really clear what application developers and distributors can expect from the library when it comes to features, stability, lifetime, etc.
TODO
-
describe the scope of libadwaita, how it will be architectured, where it comes from, how it will evolve, what it means for app developers and distributors… (@aplazas) -
design a logo/icon to promote libadwaita (@bertob) -
clone libhandy at 1.0.0, merge the GTK 4 port, rename it to libadwaita (@aplazas, @exalm) -
present libadwaita on Discourse (@thibaultamartin) -
move libadwaita to https://gitlab.gnome.org/GNOME (anybody) -
promote libadwaita on Planet GNOME and social medias (some designer or dev + @thibaultamartin)