Boîte à outils graphique
La bibliothèque de boutons, menus, barres de défilement et champs de texte prêts à l'emploi, avec la boucle d'événements et les règles de mise en page qui les tiennent ensemble, pour qu'un programme n'ait jamais à bâtir son interface avec des traits et des rectangles.
Un système de fenêtres fournit un rectangle et un flux de clics de souris. Tout ce qui ressemble à une interface vient de la couche au-dessus. Le Macintosh a mis la sienne en ROM en 1984 sous le nom de Toolbox ; Windows a intégré la sienne à USER. X11, fidèle à son principe de ne pas dicter l'apparence, a fait de la boîte à outils un produit séparé et un champ de bataille : Xt apportait le cadre, Athena l'option libre et laide, Motif et XView les deux camps commerciaux. Le mot « widget » lui-même vient de Xt, qui distinguait les widgets, dotés de leur propre fenêtre X, des gadgets, qui n'en avaient pas.
La deuxième vague a été écrite en C++ et en C pour les bureaux libres : Qt en 1995, GTK en 1997, FLTK en 1998, avec Tk que tous les langages de script ont emprunté. La ligne de partage sépare les boîtes à outils qui dessinent tout elles-mêmes et ont donc le même aspect partout, comme Qt, GTK et Swing de Java, de celles qui enveloppent les contrôles natifs de la plateforme, comme wxWidgets et SWT. Cocoa est celle d'Apple, héritée de NeXT. Depuis les années 2010, les appels cèdent la place à des descriptions déclaratives en QML, SwiftUI et Compose, et une bonne part des logiciels de bureau utilise à la place un navigateur web comme boîte à outils.