/* premier.c */ /* fenetre avec message */ #include <stdio.h> #include <X11/Xlib.h> GC gc; Display *display; int screen; Window win, root; unsigned long white_pixel, black_pixel; main() { if ((display = XOpenDisplay ("")) == NULL) { fprintf (stderr, "Can't open Display\n"); exit (1); } gc = DefaultGC (display, screen); screen = DefaultScreen (display); root = RootWindow (display, screen); white_pixel = WhitePixel (display, screen); black_pixel = BlackPixel (display, screen); win = XCreateSimpleWindow (display, root, 0, 0, 100, 90, 2, black_pixel, white_pixel); XSelectInput (display, win, ExposureMask); XStoreName (display, win, "premier"); XMapWindow (display, win); for (;;) { XEvent ev; XNextEvent (display, &ev); switch (ev.type) { case Expose : XDrawString (display, win, gc, 10, 30, "premier programme", 17); XDrawString (display, win, gc, 10, 50, "reussi sous X !", 15); break; default : break; } } }
Fonctionnement de ce programme
Généralités sur X-Window et la XLib
Dans une fenêtre Xterm, compilez le programme par la
ligne de commande : cx premier
Executez le programme en tapant la ligne de commande premier
Pour arrêter le programme, utilisez le bouton "stop"
en haut à gauche de sa fenêtre principale d'exécution.
Est-ce que la fenêtre est en (0,0) ?
Bougez la fenêtre, re-dimensionnez la, iconisez la, masquez
la, ... .
Le Window Manager intervient sur vos fenêtres. Essayez
:
a. Modifiez ce programme pour une autre taille de fenêtre,
idem pour l'épaisseur de bordure.
b. inversez la couleur de fond et celle de bordure.
c Que se passe-t'il en enlevant :
1. XDrawString
2. XStoreName
3. XSelectInput
4. XMapWindow
programme suivant | index général | fonctions de la XLib | événements | types dans XLib |