Chapter 12. User Interface

Table of Contents

12.1. Introduction
12.2. The Qt Application Framework
12.2.1. User Experience Considerations
12.2.2. Qt Creator
12.2.3. Source Code Overview
12.2.4. Coding Practices and Naming Conventions
12.2.5. Other Issues and Information
12.3. The GTK library
12.3.1. GTK Version 2.x
12.3.2. GTK Version 3.x
12.3.3. Compatibility GTK versions
12.3.4. GTK resources on the web
12.4. Human Interface Reference Documents
12.5. Adding/Extending Dialogs
12.6. Widget naming
12.7. Common GTK programming pitfalls
12.7.1. Usage of gtk_widget_show() / gtk_widget_show_all()

12.1. Introduction

Wireshark can be logically separated into the backend (dissecting protocols, file loading and saving, capturing, etc.) and the frontend (the user interface).

The following frontends are currently maintained by the Wireshark development team:

  • Wireshark, Qt based
  • Wireshark, GTK+ 2.x based
  • Wireshark, GTK+ 3.x based
  • TShark, console based

There are other Wireshark frontends which are not developed nor maintained by the Wireshark development team:

  • Packetyzer. Native Windows interface, written in Delphi and released under the GPL. Not actively maintained.
  • hethereal Web interface. Not actively maintained and not finished.

This chapter is focused on the Wireshark frontend, and especially on the Qt interface.