Chapter 3. Basic Window Program

Every Xlib program has a similar structure. This chapter shows a simple program that puts up a window and handles events in that window. You can use this simple application as a template for your own more complex applications.

This chapter presents a simple program that demonstrates the fundamentals of programming with the X library. All clients will use the techniques described and demonstrated here.

The basic program presented in this chapter fulfills all the requirements for a basic application outlined near the end of Chapter 2, and illustrates some of the most important X concepts and programming issues. You should have read Chapter 2 before proceeding.

The program will perform these operations:

  • Connect the client to an X server with XOpenDisplay(), and exit gracefully if the connection could not be made.

  • Get information about the physical screen, and use it to calculate the desired size of the window.

  • Create a window with XCreateSimpleWindow().

  • Set standard properties for the window manager.

  • Select the types of events it needs to receive.

  • Load the font to be used for printing text.

  • Create a graphics context to control the action of drawing requests.

  • Display the window with XMapWindow().

  • Loop for events.

  • Respond to the Expose event resulting from mapping the window (and any other Expose event that might come along later) by calling routines to draw text and graphics. If the window is too small to perform its intended function, it will display an appropriate ...

Get XLIB Programming Manual, Rel. 5, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.