Better location for gcr-based widgets
gcr historically consisted of 2 high-level parts: gcr-base
and gcr-ui
. gcr-base
contains the core classes and interfaces to deal with crypto-related items (e.g. GcrCertificate
), while gcr-ui
contained GTK widgets to show those items (e.g. GcrCertificateWidget
).
Now: with the move to gcr4, it's becoming more and more clear to that this isn't really a path forward:
On one hand, GTK4 has transitioned from a platform toolkit (usually GNOME was the primary target) to one that allows you to build your platform on top (e.g. libadwaita, libgranite, or your very own). Kepeing that in mind, having "GTK-based" widgets for use in general purpose doesn't really make sense, since it will always look out touch on platforms
On the other hand, widgets are usually more faster-moving targets in both looks as well as API than an actual library, so in practice gcr-ui has a different lifecycle than gcr-base.
Finally, @tintou has been doing an awesome effort to implement an API that allows consumers to write their own widgets, without having to deal with asn1 decoding etc. At this point, I think the certificate widget is likely the only widget we're seeing interest in.
To solve this, I'd like to propose either of the following:
- we create a
gcr-adwaita
repository (we could ask if it makes sense to libadwaita itself, but I'm myself not sure of that tbh). Everyone can use gcr-adwaita, but it will of course follow the GNOME HIG and have a libadwaita dependency. People who want to have a different look, can write their own widgets (like we see with elementary/libgranite). - Everybody writes their own certificate widget since this is the only one that seems to be used. Writing/maintaining a library for that is overkill
Any major thoughts?
CC'ing a few people from involved parties
- Core contributors: @dueno, @tintou
- Design: @aday , @bertob
- libadwaita maintainers: @exalm
- elementary: @danrabbit
- Release team: @matthiasc
- Core consumers: @mcatanzaro (GNOME Web), @mcrha (E-D-S)