8

What does the "+" in GTK+ mean and what is its history?

I read through https://www.gtk.org/overview.php but did not see mention of the "+" origin or meaning.

7

They've added the + when they redesigned the original GTK (the Gimp ToolKit based on Motif) to be object oriented (meaning something like GTK on steriods I guess...)
See also wikipedia page on GIMP version history.

3
  • Thank you! I also see this there > "The biggest change in the GIMP 0.99 release was in the GIMP toolkit (GTK). GTK was redesigned to be object oriented and renamed from GTK to GTK+." which is helpful. It is confusing because some information I have read, mainly here stackoverflow.com/questions/5830731/…, suggest it was always called GTK+. But after reading those answers more closely, they do mention that as early as 1.0 it was GTK+. – Elijah Lynn Mar 9 '18 at 22:56
  • 1
    @ElijahLynn - when I run a google search I (almost) always skip any results from stackoverflow ... – don_crissti Mar 9 '18 at 23:04
  • Not sure why you would do that, it is an amazingly resourceful aggregate of information across the brain power of the world. I almost always do not skip results from stackoverflow and prefer the presentation of the information here. – Elijah Lynn Aug 16 '18 at 17:01
8

I emailed Peter Mattis (co-creator of GTK/GTK+) with this question and his reponse was:

GTK was the first version of the toolkit used in pre-1.0 versions of the GIMP. At some point, the architectural limitations were revealed and I rewrote and renamed it as GTK+. This too was used in pre-1.0 versions of the GIMP. I don't believe any project outside of the GIMP used GTK-(no-plus). Why a "+" instead of a version number? No reason other than whim.

4

2019.02.06 - Announcement - Project rename GTK+ to GTK.

Hi all;

tl;dr: GTK is GTK, not GTK+. The documentation has been updated, and the pkg-config file for the future 4.0 major release is now called "gtk4"

over the years, we had discussions about removing the "+" from the project name. The "plus" was added to "GTK" once it was moved out of the GIMP sources tree and the project gained utilities like GLib and the GTK type system, in order to distinguish it from the previous, in-tree version. Very few people are aware of this history, and it's kind of confusing from the perspective of both newcomers and even expert users; people join the wrong IRC channel, the URLs on wikis are fairly ugly, etc.

With the move to Git, years ago, we had to add a couple of hacks to allow for the "plus" to stay in the repository browsing UI; those hacks were dropped once we moved to GitLab. We discussed again during IRC meetings and hackfests whether to drop the "plus", and we finally decided to do so.

With the work in the master branch towards the 4.0 release, it's finally time to say goodbye to the "plus" in "GTK+".

The documentation is updated so that the project in named consistently.

The removal of the plus has a side effect on the name of the pkg-config file for GTK 4; additionally, since we don't break API across the same major version, having a fully qualified major.minor version in the pkg-config file is redundant. This means that the pkg-config file for GTK 4 is going to be called "gtk4".

Incidentally, the IRC channel on irc.gnome.org is now called "#gtk"; there's a re-direct in place, so if you join "#gtk+" you'll end up in the right place.

Ciao,
Emmanuele.

source: https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00000.html

Thanks for moving this along! It's good to see the GTK name finally get less confusing and easier to talk about!

But to clarify the history, the "+" predates the point when GTK was moved out of the GIMP tree. Every single version of GTK with publicly released sources was called GTK+. As I understand it, Peter Mattis added the + to mark a change from a very early version that was structured more like Xt/Motif, to a version that had a fuller type system with inheritance.

Owen

source: https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00008.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.