Die Operationen des X-Protokolls sind ziemlich primitiv. Einfache Grafikoperationen wie das Zeichnen von Punkten und Linien, sowie einfache geometrische Objekte wie Kreise und Rechtecke sind möglich. Dazu kommt natürlich auch noch die Darstellung von Zeichenketten. Daneben stellt das Protokoll auch Funktionen zur Verwaltung von Fenstern zur Verfügung. Im Prinzip sind Fenster Flächen, auf die sich bestimmte Ereignisse beziehen. Weitere Funktionen des Protokolls dienen zur Verwaltung der internen Organisation.
Schauen wir uns doch mal ein einfaches Beispiel an. Das Anwendungsprogram (X-Client) bietet ein Aufklappmenü an. Bewegt nun der Benutzer die Maus über das Aufklappmenü und betätigt dann die linke Maustaste, dann sendet der X-Server dieses Ereignis an das Anwendungsprogramm. Da nach einem Mausklick auf ein solches Menü weitere Menüpunkte in einem Menüfenster auftauchen soll, sendet der X-Client Anweisungen an den X-Server, wie dieses neue Menüfenster auszusehen hat. Jede weitere Mausbewegung wird vom X-Server an den X-Client weitergeleitet, der wiederum auf diese Ereignisse mit graphischen Darstellungen reagiert. Hat der Anwender endlich seinen Menüpunkt ausgewählt, dann wird der folgende Mausklick wieder vom X-Server an den X-Client übertragen. Das Anwendungsprogramm weiß nun, welche Aktion erfolgen soll und startet den entsprechenden Programmteil.