X Concepts

Goals of X Window System:

X Protocol: Client-Sever Communication
X protocol specifies the pachaging of information between server and Xlib, even when the server and application program is running on the same machine.  

There are 4 types of packets:



 
 

Buffering


 

Resources:
So that large data structures are not transmitted over the web, many data structures are kept with the server

For example requise to make a window is illustrated below:


 
 

Propeties: Client - client communication
So that clients can communicate artibrary data, properties are packets of information associated with a window.  Client and Window Manager communicate using properties.  



 
 

Window Manger: A special client


 
 

Windows:  Rectangular objects 

Windows in X windowing is a rectanglar object on the screen.  

Characteristics:


 

Window Hiearchy: window tree


 
 

Window Visible?

  1. Must be mapped with XMapWindow()
  2. All ancestors must be mapped
  3. Must not be obscured by siblings or ancestors siblings
  4. Buffer must be flushed
  5. Top level window must be Expose


Events:

Event Loop:


 

Propagation of envents:

Events propagate up the window until the first window that has selected the event or a window that has set do_not_propagate.