Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. 1.1 Versions of X

    2. 1.2 X Window System Concepts

    3. 1.3 X Window System Software Architecture

    4. 1.4 Overview of Xlib

  2. Chapter 2 X Concepts

    1. 2.1 How Xlib Works

    2. 2.2 What are X Windows?

    3. 2.3 Introduction to X Graphics

    4. 2.4 More on Window Characteristics

    5. 2.5 Introduction to Events

    6. 2.6 How to Program with Xlib

  3. Chapter 3 Basic Window Program

    1. 3.1 Running the Program

    2. 3.2 The Main of basicwin

  4. Chapter 4 Window Attributes

    1. 4.1 Setting Window Attributes

    2. 4.2 The Window Attribute Structures

    3. 4.3 Settable Attributes

    4. 4.4 Information from the XWindowAttributes Structure

  5. Chapter 5 The Graphics Context

    1. 5.1 Creating and Setting a Graphics Context

    2. 5.2 Switching Between Graphics Contexts

    3. 5.3 Controlling Pixel Selection

    4. 5.4 Controlling Coloring and Patterning

    5. 5.5 Controlling Graphics Tricks

    6. 5.6 Graphics Exposure

    7. 5.7 Subwindow Mode

    8. 5.8 Sharing GCs Between Clients

    9. 5.9 GCs and Server Efficiency

    10. 5.10 Querying the Graphics Context

    11. 5.11 The Default GC Versus Default Values of a GC

  6. Chapter 6 Drawing Graphics and Text

    1. 6.1 Drawing

    2. 6.2 Fonts and Text

    3. 6.3 Regions

    4. 6.4 Images

    5. 6.5 Cursors

  7. Chapter 7 Color

    1. 7.1 Basic Color Terms and Concepts

    2. 7.2 Color Naming and Specification

    3. 7.3 Differences in Display Hardware

    4. 7.4 Allocating Shared Colors

    5. 7.5 Allocating Private Colors

    6. 7.6 Getting Complete Visual Information

    7. 7.7 The GrayScale Visual

    8. 7.8 Standard Colormaps

    9. 7.9 Device-independent Color and Xcms

    10. 7.10 Creating and Installing Colormaps

    11. 7.11 Miscellaneous Color-handling Functions

  8. Chapter 8 Events

    1. 8.1 Overview of Event Handling

    2. 8.2 Event Processing

    3. 8.3 Selecting Events

    4. 8.4 Sending Events

    5. 8.5 Where to Find More on Each Event

  9. Chapter 9 The Keyboard and Pointer

    1. 9.1 The Keyboard

    2. 9.2 The Pointer

    3. 9.3 Border Crossing and Keyboard Focus Change Events

    4. 9.4 Grabbing the Keyboard and Pointer

    5. 9.5 Keyboard Preferences

    6. 9.6 Pointer Preferences

    7. 9.7 X Input Extension

  10. Chapter 10 Internationalization

    1. 10.1 An Overview of Internationalization

    2. 10.2 Locale Management in X

    3. 10.3 Internationalized Text Output in X

    4. 10.4 String Encoding Changes for Internationalization

    5. 10.5 Internationalized Interclient Communication

    6. 10.6 Localization of Resource Databases

    7. 10.7 Summary: Writing an Internationalized Application

  11. Chapter 11 Internationalized Text Input

    1. 11.1 Issues of Internationalized Text Input

    2. 11.2 Overview of the X Input Method Architecture

    3. 11.3 XIM Programming Interface

    4. 11.4 XIM Functions

    5. 11.5 XIC Functions

    6. 11.6 Input Context Attributes

    7. 11.7 Negotiating Preedit and Status Area Geometries

    8. 11.8 Geometry, Preedit, and Status Callbacks

    9. 11.9 Filtering Events

    10. 11.10 Getting Composed Text

    11. 11.11 XIM Programming Checklist

  12. Chapter 12 Interclient Communication

    1. 12.1 Properties and Atoms

    2. 12.2 The Compound Text Encoding

    3. 12.3 Communicating with the Window Manager

    4. 12.4 Selections

    5. 12.5 Cut Buffers

  13. Chapter 13 Managing User Preferences

    1. 13.1 Using XGetDefault()

    2. 13.2 Using the Low-level Resource Manager Routines

    3. 13.3 Standard Geometry

    4. 13.4 Resource Specification and Matching

    5. 13.5 Other Resource Manager Routines

  14. Chapter 14 A Complete Application

    1. 14.1 Description of basecalc

    2. 14.2 Include Files

    3. 14.3 The Main of basecalc

    4. 14.4 Getting User Preferences

    5. 14.5 Printing a Usage Message

    6. 14.6 Initializing the Calculator

    7. 14.7 Making Windows

    8. 14.8 Selecting Events

    9. 14.9 Processing Events

    10. 14.10 Drawing a Pad

    11. 14.11 Routines Not Shown

  15. Chapter 15 Other Programming Techniques

    1. 15.1 Reading and Writing Properties

    2. 15.2 Screen Saver

    3. 15.3 Host Access and Security

    4. 15.4 Getting the Window Hierarchy

    5. 15.5 Close Down Mode

    6. 15.6 Connection Close Operations

    7. 15.7 Data Management

    8. 15.8 The After Function

    9. 15.9 Coordinate Transformation

    10. 15.10 ANSI-C and POSIX Portability

    11. 15.11 Porting Programs to X

    12. 15.12 Programming for Multiple X Releases

    13. 15.13 Using Extensions to X

  16. Chapter 16 Window Management

    1. 16.1 Layout Policy

    2. 16.2 Substructure Redirection

    3. 16.3 Reparenting

    4. 16.4 Window Save-set

    5. 16.5 Window Manager - Client Communications

    6. 16.6 Window Management Functions

    7. 16.7 A Basic Window Manager

  1. Appendix Specifying Fonts

    1. A.1 Font Specification

    2. A.2 Font Service

    3. A.3 Scalable Fonts

  2. Appendix X10 Compatibility

    1. B.1 XDraw and XDrawFilled()

    2. B.2 Association Tables

  3. Appendix Writing Extensions to XThis appendix is lightly edited and reformatted from the original MIT material. Before attempting to write extensions, you should be intimately familiar with the X Window System Protocol, Version 11, by Robert Scheifler and Ron Newman, and with the server code.Unfortunately, this appendix does not currently provide sufficient tutorial or contextual information to allow you to build an extension. We intend to provide a more helpful description of how to write extensions in a forthcoming book about the server. In the meantime, several sample extensions are provided with the X core distribution which can be used as examples.

    1. C.1 Basic Protocol Support Routines

    2. C.2 Hooking into Xlib

    3. C.3 GC Caching

    4. C.4 Graphics Batching

    5. C.5 Writing Extension Stubs

  4. Appendix The basecalc Application

  5. Appendix Event Reference

    1. E.1 Meaning of Common Structure Elements

  6. Appendix The Xmu Library

    1. F.1 Atom Functions

    2. F.2 Error Handler Functions

    3. F.3 System Utility Functions

    4. F.4 Window Utility Functions

    5. F.5 Cursor Utility Functions

    6. F.6 Color Utilities

    7. F.7 Pixmap Utilities

    8. F.8 Graphics Functions

    9. F.9 Selection Functions

    10. F.10 Character Set Functions

    11. F.11 Compound Text Functions

    12. F.12 CloseDisplay Hook Functions

    13. F.13 Display Queue Functions

    14. F.14 Standard Colormap Functions

  7. Appendix Sources of Additional Information

    1. G.1 Getting the X Software

    2. G.2 Netnews

    3. G.3 Training, Consulting, and Support

    4. G.4 The X Consortium

    5. G.5 Finding Out for Yourself

  8. Appendix Release Notes

    1. H.1 Changes from Release 4 to Release 5

    2. H.2 Miscellaneous Xlib Changes

    3. H.3 Changes from Release 3 to Release 4

  9. Glossary

  10. References