Volume One: Xlib Programming Manual

for Version 11 of the X Window System

Front Matter

| List of Figures | List of Examples | List of Tables |


Table of Contents

Preface
About This Manual
Summary of Contents
How to Use This Manual
Getting the Example Programs
Compiling the Example Programs
Assumptions
Related Documents
Requests for Comments
Bulk Sales Information
Acknowledgements

1. Introduction
Versions of X
X Window System Concepts
X Window System Software Architecture
Overview of Xlib

2. X Concepts
How Xlib Works
What are X Windows?
Introduction to X Graphics
More on Window Characteristics
Introduction to Events
How to Program with Xlib

3. Basic Window Program
Running the Program
The Main of basicwin

4. Window Attributes
Setting Window Attributes
The Window Attribute Structures
Settable Attributes
Information from the XWindowAttributes Structure

5. The Graphics Context
Creating and Setting a Graphics Context
Switching Between Graphics Contexts
Controlling Pixel Selection
Controlling Coloring and Patterning
Controlling Graphics Tricks
Graphics Exposure
Subwindow Mode
Sharing GCs Between Clients
GCs and Server Efficiency
Querying the Graphics Context
The Default GC Versus Default Values of a GC

6. Drawing Graphics and Text
Drawing
Fonts and Text
Regions
Images
Cursors

7. Color
Basic Color Terms and Concepts
Color Naming and Specification
Differences in Display Hardware
Allocating Shared Colors
Allocating Private Colors
Getting Complete Visual Information
The GrayScale Visual
Standard Colormaps
Device-independent Color and Xcms
Creating and Installing Colormaps
Miscellaneous Color-handling Functions

8. Events
Overview of Event Handling
Event Processing
Selecting Events
Sending Events
Where to Find More on Each Event

9. The Keyboard and Pointer
The Keyboard
The Pointer
Border Crossing and Keyboard Focus Change Events
Grabbing the Keyboard and Pointer
Keyboard Preferences
Pointer Preferences
X Input Extension

10. Internationalization
An Overview of Internationalization
Locale Management in X
Internationalized Text Output in X
String Encoding Changes for Internationalization
Internationalized Interclient Communication
Localization of Resource Databases
Summary: Writing an Internationalized Application

11. Internationalized Text Input
Issues of Internationalized Text Input
Overview of the X Input Method Architecture
XIM Programming Interface
XIM Functions
XIC Functions
Input Context Attributes
Negotiating Preedit and Status Area Geometries
Geometry, Preedit, and Status Callbacks
Filtering Events
Getting Composed Text
XIM Programming Checklist

12. Interclient Communication
Properties and Atoms
The Compound Text Encoding
Communicating with the Window Manager
Selections
Cut Buffers

13. Managing User Preferences
Using XGetDefault()
Using the Low-level Resource Manager Routines
Standard Geometry
Resource Specification and Matching
Other Resource Manager Routines

14. A Complete Application
Description of basecalc
Include Files
The Main of basecalc
Getting User Preferences
Printing a Usage Message
Initializing the Calculator
Making Windows
Selecting Events
Processing Events
Drawing a Pad
Routines Not Shown

15. Other Programming Techniques
Reading and Writing Properties
Screen Saver
Host Access and Security
Getting the Window Hierarchy
Close Down Mode
Connection Close Operations
Data Management
The After Function
Coordinate Transformation
ANSI-C and POSIX Portability
Porting Programs to X
Programming for Multiple X Releases
Using Extensions to X

16. Window Management
Layout Policy
Substructure Redirection
Reparenting
Window Save-set
Window Manager - Client Communications
Window Management Functions
A Basic Window Manager

A. Specifying Fonts
Font Specification
Font Service
Scalable Fonts

B. X10 Compatibility
XDraw and XDrawFilled()
Association Tables

C. Writing Extensions to X
Basic Protocol Support Routines
Hooking into Xlib
GC Caching
Graphics Batching
Writing Extension Stubs

D. The basecalc Application

E. Event Reference
Meaning of Common Structure Elements

F. The Xmu Library
Atom Functions
Error Handler Functions
System Utility Functions
Window Utility Functions
Cursor Utility Functions
Color Utilities
Pixmap Utilities
Graphics Functions
Selection Functions
Character Set Functions
Compound Text Functions
CloseDisplay Hook Functions
Display Queue Functions
Standard Colormap Functions

G. Sources of Additional Information
Getting the X Software
Netnews
Training, Consulting, and Support
The X Consortium
Finding Out for Yourself

H. Release Notes
Changes from Release 4 to Release 5
Miscellaneous Xlib Changes
Changes from Release 3 to Release 4

Glossary

Index