[Gambas-user] GTK+ 3, the library that is a full mess at each new minor release
Adrien Prokopowicz
adrien.prokopowicz at ...626...
Sun Sep 3 00:26:09 CEST 2017
Le Sat, 02 Sep 2017 21:28:25 +0200, Benoît Minisini via Gambas-user
<gambas-user at lists.sourceforge.net> a écrit:
> Hi,
>
> <rant>
>
> I have just noticed that GTK+ 3 has changed its internal drawing model
> (for the n-th time) since 3.20 (I think).
>
> And, as usual, this new drawing model is not API backward-compatible,
> and so now the Gambas Style drawing methods do not work anymore in
> Gambas.
>
> At the moment, I have no idea how to draw the widgets components with
> the new GTK+3, and if it is possible outside of the library.
>
> Really, I would not like to be in the brain of a GTK+ library
> developer... Someone should explain them what a "minor release" really
> is some day...
>
> </rant>
>
I found this blog post to be somewhat informative on how the GTK devs think
about versioning :
https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/
From what I understood : GTK does not use SemVer. At all. Assuming X.Y.Z
versions,
a .Y release IS a breaking change.
If you want stability (API or ABI-wise), use the previous major version.
Only when GTK4 will come out, you will have a stable GTK3 (which means :
make a gb.gtk4 component only when GTK5 is out).
They also want to have a stricter release schedule : a minor release every
six months, and a major release every two years.
This is a versioning scheme I completely agree with. I too would use this
scheme, if I wasn't able to design APIs without breaking everything every
time
I wanted to add something in.
(Yes, this is sarcasm.)
So, long story short : if you want to use GTK, either you rewrite your code
every six months whenever a minor release comes out, or you wait two years
for a new major release to bring you new features (and rewrite literally
everything this time).
As for your issues, I think it may be related to how they broke themes in
recent
releases, but I can't remember exactly when. I only remember they broke it
at
least in two GTK3 versions, and 3.20 is definitely one of them.
--
Adrien Prokopowicz
More information about the User
mailing list