", Hyphenation = on, Consecutive Hyphens = 2, Vert. Just. = off> ", Level 1 Show = no, Level 2 Suffix = , Level 2 Starting Value = 0, Level 2 Show = no> ", Level 1 Show = no, Level 2 Suffix = "<#04>"> ", Level 1 Show = no, Level 2 Suffix = > ", Level 1 Show = no, Level 2 Suffix = "<#04>"> Displays ) (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066 667,6))> Displays ) (E10,0,0,0,1,1,0.053333,1,15,0,0,2,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066 667,6))> <|,"2<#1e>23"> DISPLAYS
) (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066 667,6))> ) (T8,2,12,0.026667,0.733333,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,10 2,1101,3, <"table"> ) (T8,3,12,0.066667,0.6,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,102,110 1,3, ) (g9,5,0 (p7,5,8,19 (g9,5,0 (g9,5,0 (v4,5,0,0.266667,0,1.6,0,17,1,0) (v4,6,0,1.6,0,1.6,0.933333,17,1,0) (v4,7,0,1.6,0.933333,0.266667,0.933333,17,1,0) (v4,8,0,0.266667,0.933333,0.266667,0,17,1,0)))) (g9,10,8 (p7,10,1032,13 (g9,10,0 (g9,10,0 (v4,10,0,1.461755,0.934813,1.461755,0.784691,17,1,0) (v4,11,0,1.461755,0.784691,1.124914,0.784691,17,1,0) (v4,12,0,1.124914,0.784691,1.461755,0.50321,17,1,0) (v4,13,0,1.461755,0.50321,1.461755,0.259256,17,1,0) (v4,14,0,1.461755,0.259256,1.327019,0.146667,17,1,0) (v4,15,0,1.327019,0.146667,1.012632,0.146667,17,1,0) (v4,16,0,1.012632,0.146667,0.877895,0.259256,17,1,0) (v4,17,0,0.877895,0.259256,0.877895,0.371848,17,1,0) (v4,18,0,0.877895,0.371848,1.08,0.371848,17,1,0) (v4,19,0,1.08,0.371848,1.08,0.296789,17,1,0) (v4,20,0,1.08,0.296789,1.25965,0.296789,17,1,0) (v4,21,0,1.25965,0.296789,1.25965,0.465676,17,1,0) (v4,22,0,1.25965,0.465676,0.877895,0.784691,17,1,0) (v4,23,0,0.877895,0.784691,0.877895,0.934813,17,1,0) (v4,24,0,0.877895,0.934813,1.461755,0.934813,17,1,0)))) (g9,25,2048 (v4,25,33,0.85544,1.159997,0.85544,1.159997,17,0,0) (v4,26,33,0.85544,0.146667,0.85544,0.146667,17,0,0) (v4,27,33,1.506667,0.146667,1.506667,0.146667,17,0,0) (v4,28,33,1.506667,1.159997,1.506667,1.159997,17,0,0)))) (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066 667,6))> Introduction2.1<#04>A particular X server, together with its screens and input devices, is called a display. The CLX display object contains all the information about the particular display and its screens, as well as the state that is needed to communicate with the display over a particular connection.<#04> Before your program can use a display, you must establish a connection to the X server driving your display. Once you have established a connection, you then can use the CLX macros and functions discussed in this section to return information about the display. This section discusses how to: wOpen (connect) a display wObtain information about a display wAccess and change display attributes wClose (disconnect) a display Opening the2.2<#04>The open<#1e>display function is used to open a connection to an X server. Display open<#1e>display host &key :display :protocol Functiondisplay", Sort String = "open<#1e>display"> Returns:
display <#1f> Type display. Returns a display that serves as the connection to the X server and contains all the information about that X server. host <#1f> Specifies the name of the host machine on which the server executes. A string must be acceptable as a host, but otherwise the possible types are not constrained and will likely be very system dependent. :display <#1f> An integer that specifies which display device on the host should be used for this connection. This is needed since multiple displays can be controlled by a single X server. The default is display 0 (zero). :protocol <#1f> A keyword argument that specifies which network protocol should be used for connecting to the server (for example, :tcp, :dna, or :chaos). The set of possible values and the default value are implementation specific. Authorization, if any, is assumed to come from the environment. After a successful call to open<#1e>display, all screens on the display can be used by the client application. <|,"2<#1e>24"> Display 2.3<#04>The complete set of display attributes is discussed in the following Attributesparagraphs. display<#1e>authorization<#1e>data displayFunction authorization<#1e>data", Sort String = "display<#1e>authorization<#1e>data"> Returns:
authorization<#1e>data <#1f> Type string. Returns the authorization data string for display that was transmitted to the server by open<#1e>display during connection setup. The data is specific to the particular authorization protocol that was used. The display<#1e>authorization<#1e>name function returns the protocol used. display <#1f> A display object. display<#1e>authorization<#1e>name displayFunction authorization<#1e>name", Sort String = "display<#1e>authorization<#1e>name"> Returns:
authorization<#1e>name <#1f> Type string. Returns the authorization protocol namestring for display that was transmitted by open<#1e>display to the server during connection setup. The authorization<#1e>name indicates what authorization protocol the client expects the server to use. Specification of valid authorization mechanisms is not part of the X protocol. A server that implements a different protocol than the client expects, or a server that only implements the host<#1e>based mechanism, can simply ignore this information. If both name and data strings are empty, this is to be interpreted as <#7f>no explicit authorization." display <#1f> A display object. display<#1e>bitmap<#1e>format displayFunctionbitmap<#1e>format", Sort String = "display<#1e>bitmap<#1e>format"> Returns:
bitmap<#1e>format <#1f> Type bitmap<#1e>format. Returns the bitmap<#1e>format information for the specified disp lay. display <#1f> A display object. display<#1e>byte<#1e>order displayFunctionbyte<#1e>order", Sort String = "display<#1e>byte<#1e>order"> Returns:
byte<#1e>order <#1f> Either :lsbfirst or :msbfirst. Returns the byte<#1e>order to be employed in communication with the server for the given display. The possible values are as follows: w:lsbfirst <#1f> Values are transmitted least significant byte first. w:msbfirst <#1f> Values are transmitted most significant byte first. Except where explicitly noted in the protocol, all 16<#1e>bit and 32<#1e>bit quantities sent by the client must be transmitted with this byte<#1e>order, and all 16<#1e>bit and 32<#1e>bit quantities returned by the server are transmitted with this byte<#1e>order. display <#1f> A display object. display<#1e>display displayFunctiondisplay", Sort String = "display<#1e>display"> Returns:
display<#1e>number <#1f> Type integer. Returns the display<#1e>number for the host associated with disp lay. display <#1f> A display object. <|,"2<#1e>25">display<#1e>error<#1e>handler displayFunction error<#1e>handler", Sort String = "display<#1e>error<#1e>handler"> Returns:
error<#1e>handler <#1f> Type function or sequence. Returns and (with setf) sets the error<#1e>handler function for the given display. CLX calls (one of) the display error handler functions to handle server errors returned to the connection. The default error handler, default<#1e>error<#1e>handler, signals conditions as they occur. See Section 16, Errors, for a list of the conditions that CLX can signal. For more information about errors and error handling, refer to the section entitled Common Lisp Condition System in the Lisp Reference manual. If the value of error<#1e>handler is a sequence, it is expected to contain a handler function for each specific error. The error code is used as an index into the sequence to fetch the appropriate handler function. If this element is a function, it is called for all errors. Any results returned by the handler are ignored since it is assumed the handler either takes care of the error completely or else signals. The arguments passed to the handler function are the display object, a symbol naming the type of error, and a set of keyword<#1e>value argument pairs that vary depending on the type of error. For all core errors, the keyword<#1e>value argument pairs are: :current<#1e>sequencecard16
:majorcard8
:minorcard16
:sequencecard16 For colormap, cursor, drawable, font, gcontext, id<#1e>choice, pixmap, and window errors, the keyword<#1e>value pairs are the core error pairs plus: :resource<#1e>idcard32 For :atom errors, the keyword<#1e>value pairs are the core error pairs plus: :atom<#1e>idcard32 For :value errors, the keyword<#1e>value pairs are the core error pairs plus: :valuecard32 display <#1f> A display object. display<#1e>image<#1e>lsb<#1e>first<#1e>p displayFunct ionimage<#1e>lsb<#1e>first<#1e>p", Sort String = "display<#1e>image<#1e>lsb<#1e>first<#1e>p"> Returns:
image<#1e>lsb<#1e>first<#1e>p <#1f> Type boolean. Although the server is generally responsible for byte swapping communication data to match the client, images (pixmaps/bitmaps) are always transmitted and received in formats (including byte order) specified by the server. Within images for each scan<#1e>line unit in bitmaps or for each pixel value in pixmaps, the leftmost bit in the image as displayed on the screen is either the least or most significant bit in the unit. For the given display, display<#1e>image<#1e>lsb<#1e>first<#1e>p returns non<#1e>nil if the leftmost bit is the least significant bit; otherwise, it returns nil. display <#1f> A display object. display<#1e>keycode<#1e>range displayFunctionkeycode<#1e>range", Sort String = "display<#1e>keycode<#1e>range"> Returns:
min<#1e>keycode, max<#1e>keycode <#1f> Type card8. Returns min<#1e>keycode and max<#1e>keycode as multiple values. See the display<#1e>max<#1e>keycode and display <#1e>min<#1e>keycode functions for additional information. <|,"2<#1e>26">display <#1f> A display object. display<#1e>max<#1e>keycode displayFunctionmax<#1e>keycode", Sort String = "display<#1e>max<#1e>keycode"> Returns:
max<#1e>keycode <#1f> Type card8. Returns the maximum keycode value for the specified display. This value is never greater than 255. Not all keycodes in the allowed range are required to have corresponding keys. display <#1f> A display object. display<#1e>max<#1e>request<#1e>length displayFunction max<#1e>request<#1e>length", Sort String = "display<#1e>max<#1e>request<#1e>length"> Returns:
max<#1e>request<#1e>length <#1f> Type card16. Returns the maximum length of a request, in four<#1e>byte units, that is accepted by the specified display. Requests larger than this generate a length error, and the server will read and simply discard the entire request. This length is always at least 4096 (that is, requests of length up to and including 16384 bytes are accepted by all servers). display <#1f> A display object. display<#1e>min<#1e>keycode displayFunctionmin<#1e>keycode", Sort String = "display<#1e>min<#1e>keycode"> Returns:
min<#1e>keycode <#1f> Type card8. Returns the minimum keycode value for the specified display. This value is never less than eight. Not all keycodes in the allowed range are required to have corresponding keys. display <#1f> A display object. display<#1e>motion<#1e>buffer<#1e>size displayFunction motion<#1e>buffer<#1e>size", Sort String = "display<#1e>motion<#1e>buffer<#1e>size"> Returns:
motion<#1e>buffer<#1e>size <#1f> Type card32. Returns the approximate size of the motion buffer for the specified displa y. The server can retain the recent history of pointer motion at a finer granularity than is reported by :motion<#1e>notify events. Such history is available through the motion<#1e>events function. display <#1f> A display object. display<#1e>p displayFunctionp", Sort String = "display<#1e>p"> Returns:
display<#1e>p <#1f> Type boolean. Returns non<#1e>nil if display is a display object; otherwise, returns nil. display<#1e>pixmap<#1e>formats displayFunctionpixmap<#1e>formats", Sort String = "display<#1e>pixmap<#1e>formats"> Returns:
pixmap<#1e>formats <#1f> Type list. Returns the list of pixmap<#1e>format values for the given display. This list contains one entry for each depth value. The entry describes the format used to represent images of that depth. An entry for a depth is included if any screen supports that depth, and all screens supporting that depth must support (only) the format for that depth. display <#1f> A display object. <|,"2<#1e>27">display<#1e>plist displayFunctionplist", Sort String = "display<#1e>plist"> Returns:
plist <#1f> Type list. Returns and (with setf) sets the property list for the specified display. This function provides a hook where extensions can add data. display <#1f> A display object. display<#1e>protocol<#1e>major<#1e>version displayFunction protocol<#1e>major<#1e>version", Sort String = "display<#1e>protocol<#1e>major<#1e>version"> Returns:
protocol<#1e>major<#1e>version <#1f> Type card16. Returns the major version number of the X protocol associated with the specified display. In general, the major version would increment for incompatible changes. The returned protocol version number indicates the protocol the server actually supports. This might not equal the version supported by the client. The server can (but need not) refuse connections from clients that offer a different version than the server supports. A server can (but need not) support more than one version simultaneously. display <#1f> A display object. display<#1e>protocol<#1e>minor<#1e>version displayFunction protocol<#1e>minor<#1e>version", Sort String = "display<#1e>protocol<#1e>minor<#1e>version"> Returns:
protocol<#1e>minor<#1e>version <#1f> Type card16. Returns the minor protocol revision number associated with the specified d isplay. In general, the minor version would increment for small upward compatible changes in the X protocol. display <#1f> A display object. display<#1e>protocol<#1e>version displayFunctionprotocol<#1e>version", Sort String = "display<#1e>protocol<#1e>version"> Returns:
protocol<#1e>major<#1e>version, protocol<#1e>minor<#1e>version <#1f> Type card16. Returns protocol<#1e>major<#1e>version and protocol<#1e>minor<#1e> version as multiple values. See the display<#1e>protocol<#1e>major<#1e> version and display<#1e>protocol<#1e>minor<#1e>version functions for additional information. display <#1f> A display object. display<#1e>resource<#1e>id<#1e>base displayFunctionid", "base of display">id", "base">resource<#1e>id<#1e>base", Sort String = "display<#1e>resource<#1e>id<#1e>base"> Returns:
resource<#1e>id<#1e>base <#1f> Type resource<#1e>id. Returns the resource<#1e>id<#1e>base value that was returned from the server during connection setup for the specified display. This is used in combination with the resource<#1e>id<#1e>mask to construct valid IDs for this connection. display <#1f> A display object. <|,"2<#1e>28">display<#1e>resource<#1e>id<#1e>mask displayFunction id", "mask of display">id", "mask">resource<#1e>id<#1e>mask ", Sort String = "display<#1e>resource<#1e>id<#1e>mask "> Returns:
resource<#1e>id<#1e>mask <#1f> Type resource<#1e>id. Returns the resource<#1e>id<#1e>mask that was returned from the server during connection setup for the specified display. The resource<#1e>id<#1e>mask contains a single contiguous set of bits (at least 18) which the client uses to allocate resource IDs for types window, pixmap, cursor, font , gcontext, and colormap by choosing a value with (only) some subset of these bits set, and oring it with the resource<#1e>id<#1e>base. Only values constructed in this way can be used to name newly created server resources over this connection. Server resource IDs never have the top three bits set. The client is not restricted to linear or contiguous allocation of server resource IDs. Once an ID has been freed, it can be reused, but this should not be necessary. An ID must be unique with respect to the IDs of all other server resources, not just other server resources of the same type. However, note that the value spaces of server resource identifiers, atoms, visualids, and keysyms are distinguished by context, and as such are not required to be disjoint (for example, a given numeric value might be both a valid window ID, a valid atom, and a valid keysym.) display <#1f> A display object. display<#1e>roots displayFunctionroots", Sort String = "display<#1e>roots"> Returns:
roots <#1f> A list of screens. Returns a list of all the screen structures available for the given display. display <#1f> A display object. display<#1e>vendor displayFunctionvendor", Sort String = "display<#1e>vendor"> Returns:
vendor<#1e>name, release<#1e>number <#1f> Type card32 . Returns vendor<#1e>name and release<#1e>number as multiple values. See the display<#1e>vendor<#1e>name and display<#1e>release<#1e>number functions for additional information. display <#1f> A display object. display<#1e>vendor<#1e>name displayFunctionvendor<#1e>name", Sort String = "display<#1e>vendor<#1e>name"> Returns:
vendor<#1e>name <#1f> Type string. Returns a string that provides some vendor identification of the X server implementation associated with the specified display. display <#1f> A display object. display<#1e>version<#1e>number displayFunctionversion<#1e>number", Sort String = "display<#1e>version<#1e>number"> Returns:
version<#1e>number <#1f> Type card16. Returns the X protocol version number for this implementation of CLX. display <#1f> A display object. display<#1e>xid displayFunctionxid", Sort String = "display<#1e>xid"> Returns:
resource<#1e>allocator <#1f> Type function. Returns the function that is used to allocate server resource IDs for this display. display <#1f> A display object. <|,"2<#1e>29">with<#1e>display display &body bodyMac rodisplay", Sort String = "with<#1e>display"> This macro is for use in a multi<#1e>process environment. with<#1e>display provides exclusive access to the local display object for multiple request generation. It need not provide immediate exclusive access for replies. That is, if another process is waiting for a reply (while not in a with<#1e>display), then synchronization need not (but can) occur immediately. Except where noted, all routines effectively contain an implicit with<#1e>display where needed, so that correct synchronization is always provided at the interface level on a per<#1e>call basis. Nested uses of this macro work correctly. This macro does not prevent concurrent event processing (see with<#1e>even t<#1e>queue). display <#1f> A display. Managing the 2.4<#04>Most CLX functions cause output requests to be generated to an X Output Bufferserver. Output requests are not transmitted immediately but instead are stored in an output buffer for the appropriate display. Requests in the output buffer are typically sent only when the buffer is filled. Alternatively, buffered requests can be sent prior to processing an event in the input event queue (see paragraph 12.3, Processing Events). In either case, CLX sends the output buffer automatically without explicit instructions from the client application. However, in some cases, explicit control over the output buffer is needed, typically to ensure that the X server is in a consistent state before proceeding further. The display<#1e>force<#1e>output and display<#1e>finish<#1e>output functions allow a client program to synchronize with buffered output requests. display<#1e>after<#1e>function displayFunctionafter<#1e>function", Sort String = "display<#1e>after<#1e>function"> Returns:
after<#1e>function <#1f> Type function or null. Returns and (with setf) sets the after<#1e>function for the given display. If after<#1e>function is non<#1e>nil, it is a function that is called after every protocol request is generated, even those inside an explicit with<#1e>disp lay, but never called from inside the after<#1e>function. The function is called inside the effective with<#1e>display for the associated request. The default value is nil. This can be set, for example, to #'display<#1e>force<#1e>output or #'display<#1e>finish<#1e>output. display <#1f> A display object. display<#1e>force<#1e>output displayFunctionforce<#1e>output", Sort String = "display<#1e>force<#1e>output"> Forces any buffered output to be sent to the X server. display <#1f> A display object. display<#1e>finish<#1e>output displayFunctionfinish<#1e>output", Sort String = "display<#1e>finish<#1e>output"> Forces any buffered output to be sent to the X server and then waits until all requests have been received and processed. Any errors generated are read and handled by the display error handler. Any events generated by output requests are read and stored in the event queue. display <#1f> A display object. Closing the2.5<#04>To close or disconnect a display from the X server, use close<#1e>display. <#04> Display <|,"2<#1e>30">close<#1e>display displayFunctiondisplay", Sort String = "close<#1e>display"> Closes the connection to the X server for the specified display. It destroys all server resources (window, font, pixmap , colormap, cursor, and gcontext), that the client application has created on this display, unless the close down mode of the server resource has been changed (see set<#1e>close <#1e>down<#1e>mode). Therefore, these server resources should never be referenced again. In addition, this function discards any output requests that have been buffered but have not yet been sent. display <#1f> A display object. .