Chapter 1. Introduction

Table of Contents
General Intro
Display buffers
General accumptions

$Id: intro.docb,v 1.2 2001/03/26 13:49:20 malekith Exp $

General Intro

There are several diffrent processes running in Y Window system. They can be divided into 4 categories.

Server and Window Manager should be connected with relativly fast link, possibly even running on the same machine, over loopback connection. Fast link is not required as much with display and regualar clients.

Client connects only to server, they can ask server to forward messages between them, but they mainly use their link to draw on their windows.

Server implements windows as rectangular, possibly overlapping, buffers. Server remebers what was written into the window, so it doesn't need to ask client to redisplay it when it's moved. However, server doesn't know anything about widgets, subwindows etc. It's much like X server, run xinit /usr/X11R6/bin/xterm and see what happens. Client shall nevertheless implement redraw method. It's issued when Display process type changes, and therefore some display capabilities could have been added or removed.

Display process is very simple, it's the only system depented thing, under linux it uses /dev/vcs* interface to be faster. It should be possible to easy reimplement it on other unices, possibly using X11 and even on those funky windowing "systems".

TCP/IP using Berkeley socket interface is used as transport layer. Server and clients implements custom RPC interface. Calls are distinguished by ASCII name.