|We have switched to Qt|
Wireshark’s default interface uses Qt. If you would like to add a new interface feature you should use it and not GTK+. The documentation below is primarily historical.
Wireshark was initially based on the GTK+ toolkit. See http://www.gtk.org for details. GTK+ is designed to hide the details of the underlying GUI in a platform independent way. As GTK is intended to be a multiplatform tool, there are some drawbacks, as the result is a somewhat "non native" look and feel.
GTK+ is available for many different platforms including, but not limited to: Unix/Linux, macOS and Win32. It’s the foundation of the famous GNOME desktop, so the future development of GTK should be certain. GTK is implemented in plain C (as is Wireshark itself), and available under the LGPL (Lesser General Public License), making it free to used by commercial and noncommercial applications.
There are other similar toolkits like wxWidgets which could also be used for Wireshark. There’s no "one and only" reason for or against any of these toolkits. However, the decision towards GTK was made a long time ago :-)
There are two major GTK versions available:
GTK 2.x depends on the following libraries:
Wireshark (as of version 1.10) has been ported to use the GTK3 library.
GTK 3.x depends on the following libraries:
(See GTK 2.x)
The GTK library itself defines some values which makes it easy to distinguish
between the versions, e.g.
GTK_MINOR_VERSION will be
set to the GTK version at compile time inside the gtkversion.h header.
You can find several resources about GTK.
First of all, have a look at http://www.gtk.org. This will be the first place to look at. If you want to develop GTK related things for Wireshark, the most important place might be the GTK API documentation at http://library.gnome.org/devel/gtk/stable/.
Several mailing lists are available about GTK development, see http://mail.gnome.org/mailman/listinfo, the gtk-app-devel-list may be your friend.
As it’s often done wrong: You should post a mail to help the developers there instead of only complaining. Posting such a thing like "I don’t like your dialog, it looks ugly" won’t be of much help. You might think about what you dislike and describe why you dislike it and provide a suggestion for a better way.