AIX® Version 6.1 Aixwindows Programming Guide About This Document
Total Page:16
File Type:pdf, Size:1020Kb
AIX® Version 6.1 AIXwindows Programming Guide AIX® Version 6.1 AIXwindows Programming Guide Note Before using this information and the product it supports, read the information in Appendix F, “Notices,” on page 121. This edition applies to AIX Version 6.1 and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright IBM Corporation 1997, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About This Document...............................v Content of This Document..............................v Highlighting ...................................v Case-Sensitivity in AIX ...............................v ISO 9000 ....................................v Related Documents ................................v Chapter 1. AIXwindows Overview for Programmers ...................1 Chapter 2. AIXwindows Window Manager Overview ...................3 Starting and Exiting X and the AIXwindows Window Manager.................3 Restoring Default Behavior .............................3 Chapter 3. Using the AIXwindows Customizing Tool ...................5 Using the Customizing Tool Introduction ........................5 Related Information ................................5 How to Start the Customizing Tool...........................5 Using the Customizing Tool Main Window ........................6 Using the Browsers................................10 Understanding the app-custom Files .........................14 Chapter 4. AIXwindows Xlib Library .........................19 Xlib Introduction .................................19 Suggested Reading................................21 Using Display Functions in AIXwindows ........................21 Graphical Overlay Planes .............................23 AIXwindows Globalization .............................24 Chapter 5. Using Extensions in AIXwindows .....................27 Extension Functions ...............................27 Dynamically Loadable X Server Extensions .......................35 AIXwindows Nonrectangular Window Shape Extension...................35 AIXwindows Screen Saver Extension .........................38 Using AIXwindows Input Device Functions .......................46 AIXwindows Input Extension Library .........................51 AIXwindows Input Extension Protocol Specification ....................62 AIXwindows Double Buffer Extension Specification ....................69 AIXwindows XTest Extension ............................79 Chapter 6. AIXwindows Font Enhancements .....................83 ISO9241 Compliant Bitmap Fonts ..........................83 TrueType Rasterizer ...............................83 Chapter 7. Reduced glyph subsets and complete sets .................85 Appendix A. Bidirectional Support in Xm (Motif 1.2) Library ...............87 Library Name ..................................87 Purpose ....................................87 Description ...................................87 Bidirectional Resources ..............................87 The Text Widget .................................89 The Text Field Widget ...............................89 The Label and Gadget Widget............................89 © Copyright IBM Corp. 1997, 2013 iii The List Widget .................................89 Effect of Layout Direction on Motif Widgets and Gadgets ..................89 Example of Localizing a Motif Application for Bidirectional Support ..............90 Appendix B. Font Utility .............................93 Font Utility Introduction ..............................93 Font Utility Limitations ...............................94 How to Use the Font Utility .............................94 Using the Font Utility Window ............................96 Using the Reference Font Window..........................100 Using the Raster Editor Window ..........................100 Using the Vector Editor Window...........................104 Appendix C. Display Power Management ......................109 Appendix D. Setting Up X11 Graphic Input Devices (LPFKeys, Dials, Tablet, Spaceball) ....111 Tablet ....................................111 Dials and LPFKeys ...............................111 Spaceball ...................................112 Appendix E. The X Virtual Frame Buffer .......................113 Overview ...................................113 Installing the XVFB ...............................113 Starting the XVFB ................................114 Testing the XVFB ................................116 Implementing XVFB in Application Code........................116 Working with the XVFB ..............................117 DirectSoft OpenGL and the XVFB ..........................118 CATweb and the XVFB ..............................119 Appendix F. Notices ..............................121 Trademarks ..................................123 Index ....................................125 iv AIX® Version 6.1 AIXwindows Programming Guide About This Document This document provides experienced C programmers with complete information about designing and writing graphical user interfaces for the AIX operating system. Programmers can use this document to gain knowledge of AIX window graphical user interfaces, either on a local system or across a network. Topics include tools, library, font utilities and graphic input devices. Content of This Document This edition of this document contains no technical changes. The content is identical to the previous edition. Highlighting The following highlighting conventions are used in this document: Bold Identifies commands, subroutines, keywords, files, structures, directories, and other items whose names are predefined by the system. Also identifies graphical objects such as buttons, labels, and icons that the user selects. Italics Identifies parameters whose actual names or values are to be supplied by the user. Monospace Identifies examples of specific data values, examples of text similar to what you might see displayed, examples of portions of program code similar to what you might write as a programmer, messages from the system, or information you should actually type. Case-Sensitivity in AIX Everything in the AIX operating system is case-sensitive, which means that it distinguishes between uppercase and lowercase letters. For example, you can use the ls command to list files. If you type LS, the system responds that the command is "not found." Likewise, FILEA, FiLea, and filea are three distinct file names, even if they reside in the same directory. To avoid causing undesirable actions to be performed, always ensure that you use the correct case. ISO 9000 ISO 9000 registered quality systems were used in the development and manufacturing of this product. Related Documents The following documents contains information about or related to programming the user interface: v The graPHIGS Programming Interface: Understanding Concepts © Copyright IBM Corp. 1997, 2013 v vi AIX® Version 6.1 AIXwindows Programming Guide Chapter 1. AIXwindows Overview for Programmers This topic describes AIXwindows, IBM's enhancements to X Window System and Motif. AIXwindows is a state-of-the-art graphical user interface environment that can be used by a wide range of end users and application developers to create graphical user interfaces, either on your system or across a network. The environment provides a graphical desktop that hides the low-level complexities of the operating system. The environment also supports Base 2-D as well as 3-D products. The Base 2-D products are X Window System and Motif. The application programming interfaces (APIs) that support 3-D are Graphics Library, and graPHIGS API. In addition, the AIX® Common Desktop Environment allows you to organize your online work much as you would organize work on your office desk. This overview summarizes the features of the AIXwindows environment comprised of: v X Window System, a network-transparent windowing system for creating and managing windows on bitmapped display screens. These windows enable you to show multiple work items simultaneously, much like working at an office desk. Because of its portability and network transparency, applications that run on AIXwindows look the same to the user and do not need to be rewritten by the programmer v Motif Environment (previously called AIXwindows), a set of guidelines and tools that specify how a user interface for graphical computers should look and feel. These specifications focus on the design of the objects that make up the user interface: the menus, buttons, dialog boxes, text entry, and display areas. X Window System consists of three components: the server, client programs, and the communications channel as shown in the following figure. Figure 1. X Window System Components The server distributes user input to and accepts output requests from various client programs (applications) located either on the same machine or elsewhere on the network. These applications use the low-level C-language Xlib library to interface with the window system through the communications channel. Although a client usually runs on the same machine as the X server to which it is talking, this need not be the case. © Copyright IBM Corp. 1997, 2013 1 The Xlib library is a layer on the X server and is a set of functions that are called by applications. These functions handle tasks such as adding a host, opening a display, manipulating windows, drawing, and handling events. Xlib calls are translated to protocol requests that are passed either to the local server or to