X Toolkit Intrinsics

X Toolkit Intrinsics (also known as Xt, for X toolkit) is a library that implements an API to facilitate the development of programs with a graphical user interface (GUI) for the X Window System. It can be used in the C language (or any language that can use the C API, such as C++). Design took place late 1980s to early 1990s.[citation needed]

Xt (mint-green) in the X Window System graphics stack
Xt (mint-green) in the X Window System graphics stack

The low-level library Xlib is the client-side implementation of the X11 protocol. It communicates with an X server, but does not provide any function for implementing graphical control elements ("widgets"), such as buttons or menus. The Xt library provides support for creating widget types, but does not provide any itself. A programmer could use the Xt library to create and use a new type of widget. Xt implemented some object oriented concepts, such as inheritance (the user could make their own button by reusing code written for another type of button), events, and callbacks.

Since the graphical user interface of applications typically requires a number of widget types, most developers were reluctant to write their own, and instead prefer to use libraries such as Xaw, Motif and OLIT that provide a set of widgets.

Xt programs had a notorious problem of being unusable if the "app-defaults Xrm database", a text file describing all the widgets, could not be found.[citation needed] Most modern, widely-used toolkits such as GTK and Qt do not use the Xt library. Rather, they use Xlib or XCB directly.

External links

  • X Toolkit Intrinsics – C Language Interface (pdf), X.Org Foundation
  • "comp.windows.x.intrinsics Frequently Asked Questions". faqs.org. 1997-04-18. Retrieved 2008-07-13.
  • The place of Intrinsics in X11, Professor David Marshall, Cardiff School of Computer Science, Cardiff University
  • TestXt2, Example C program that creates a Menu Bar using just Xt/Xaw
  • McCormack, Joel; Asente, Paul (January 1988), "An overview of the X toolkit", UIST '88: Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software, pp. 46–55, doi:10.1145/62402.62407, S2CID 12924752
  • Nye, Adrian; O'Reilly, Tim (1990). X Toolkit Intrinsics Programming Manual. The Definitive Guides to the X Window System. Vol. 4. O'Reilly Media. ISBN 978-1-56592-003-3.[discuss]
  • O'Reilly, Tim; Langley, Mark (1990). X Toolkit Intrinsics Reference Manual. The Definitive Guides to the X Window System. Vol. 5. O'Reilly Media. ISBN 978-0-937175-35-4.[discuss]
  • v
  • t
  • e
X Window System
Architecture
ExtensionsComponents
and notable
implementations
Display servers
Client libraries
Display managers
Session managers
Window managers
(comparison)
Compositing
Stacking
Tiling
StandardsApplications
  • v
  • t
  • e
Low-level
On AmigaOS
  • Intuition
On Classic Mac OS, macOS
On Windows
On Unix,
under X11
On BeOS, Haiku
Cross-platform
CLI
C
Java
On Android
CLI
  • Xamarin.Android
High-level, platform-specific
On AmigaOS
On Classic Mac OS, macOS
Object Pascal
Objective-C, Swift
C++
CLI
On Windows
CLI
C++
Object Pascal
On Unix,
under X11
On Android
High-level, cross-platform
C
C++
Objective-C
CLI
Adobe Flash
Go
  • Fyne
Haskell
Java
JavaScript
Common Lisp
Lua
  • IUP
Pascal
Object Pascal
Perl
PHP
Python
Ruby
Tcl
  • Tcl/Tk
XML
shell
  • Newt
  • CDK
  • Dialog
Dart
  • Flutter