Xlib
以下のプログラムは、ウィンドウを表示し、その中に小さな黒い四角形を描画するものである。
クライアントはXOpenDisplayを呼び出すことでサーバとのコネクションを生成する。そしてXCreateSimpleWindowでウィンドウ生成を要求する。XMapWindowを別途呼び出すことで、ウィンドウが画面上に見えるようになる。
四角形はXFillRectangle呼び出しで描画される。この操作はウィンドウが生成された後でないと実行できない。しかも、一回呼び出すだけでは十分ではない。前述したようにウィンドウの内容は常に保持されるとは限らない。例えば、ウィンドウが別のウィンドウの下に隠され、再び上に出てきたとき、再描画が必要な場合がある。このため、上記プログラムでは、Exposeイベントを受け取るたびに再描画を行っている。
したがって、ウィンドウの中身の描画はイベントループ内で行われる。ループに入る前に、アプリケーションは受け取りたいイベントを選択しており、上記の例ではXSelectInputでそれを行っている。イベントループは入って来るイベントを待ちうける。イベントがキー押下だった場合、このアプリケーションは終了する。exposeイベントなら、ウィンドウの中身を再描画している。XNextEventを呼び出すと、キュー上にイベントがなければoutput bufferがフラッシュされる。