Content-type: text/html
XMoveWindow(display, f, x, y)
Display *display;
Window f;
int x, y;
XResizeWindow(display, f, largeur, hauteur)
Display *display;
Window f;
unsigned int largeur, hauteur;
XMoveResizeWindow(display, f, x, y, largeur, hauteur)
Display *display;
Window f;
int x, y;
unsigned int largeur, hauteur;
XSetWindowBorderWidth(display, f, largeur_bordure)
Display *display;
Window f;
unsigned int largeur_bordure;
Si une fenêtre soeur est spécifiée sans stack_mode (mode d'empilement) ou si la fenêtre n'est pas en réalité une fenêtre soeur, une erreur BadMatch est générée. Noter que les calculs pour BottomIf, TopIf, et Opposite sont effectués selon la géométrie finale de la fenêtre (telle qu'elle est décrite par les autres arguments passés à XConfigureWindow), et non selon sa géométrie initiale. Les contenus mémorisés (backing store) de la fenêtre, de ses descendantes et de toute fenêtre nouvellement visible sont soit perdus soit modifiés pour refléter les contenus présents sur l'écran (selon l'implémentation).
XConfigureWindow peut générer les erreurs BadMatch, BadValue, et BadWindow.
La fonction XMoveWindow déplace la fenêtre spécifiée aux coordonnées x et y spécifiées, mais ne change ni sa taille, ni son statut d'affichage et ne modifie pas sa position dans la pile. Déplacer une fenêtre affichée peut éventuellement provoquer la perte de son contenu si elle est cachée par une fenêtre non fille et si aucun contenu mémorisé n'existe. Si le contenu de la fenêtre est perdu, le serveur X génère des événements Expose. Déplacer une fenêtre affichée provoque la génération d'événements Expose pour toute fenêtre précédemment cachée.
Si le flag override-redirect (NDT. « surcharge-de-la-redirection ») de la fenêtre est False et si un autre client a sélectionné SubstructureRedirectMask sur la fenêtre parente, le serveur X génère un événement ConfigureRequest et aucun traitement supplémentaire n'est réalisé. Sinon, la fenêtre est déplacée.
XMoveWindow peut générer une erreur BadWindow.
La fonction XResizeWindow modifie les dimensions intérieures de la fenêtre spécifiée, sans inclure ses bords. Cette fonction ne change pas les coordonnées du point supérieur-gauche ou l'origine et ne change pas le niveau de la fenêtre dans la pile. Modifier la taille d'une fenêtre affichée peut conduire à la perte de son contenu et générer des événements Expose. Si une fenêtre affichée est rendue plus petite, modifier sa taille génère des événements Expose sur les fenêtres qu'elle cachait précédemment.
Si le flag override-redirect de la fenêtre est False et si un autre client a sélectionné SubstructureRedirectMask sur la fenêtre parente, le serveur X génère un événement ConfigureRequest et aucun traitement supplémentaire n'est réalisé. Si la largeur ou la hauteur valent zéro, une erreur BadValue est générée.
XResizeWindow peut générer des erreurs BadValue et BadWindow.
La fonction XMoveResizeWindow modifie la taille et l'emplacement de la fenêtre spécifiée sans changer son niveau dans la pile. Déplacer et redimensionner une fenêtre affichée peut générer un événement Expose sur la fenêtre. Selon les nouvelles taille et position passées en paramètre, déplacer et redimensionner une fenêtre peut générer des événements Expose sur les fenêtres qu'elle cachait précédemment.
Si le flag override-redirect de la fenêtre est False et si un autre client a sélectionné SubstructureRedirectMask sur la fenêtre parente, le serveur X génère un événement ConfigureRequest et aucun traitement supplémentaire n'est réalisé. Sinon, la taille et la position de la fenêtre sont modifiées.
XMoveResizeWindow peut générer des erreurs BadValue et BadWindow.
La fonction XSetWindowBorderWidth change la largeur de la bordure de la fenêtre spécifiée en lui donnant la valeur spécifiée.
XSetWindowBorderWidth peut générer une erreur BadWindow.
/* Bits du masque de valeurs de configuration d'une fenêtre */
#define | CWX |
(1<<0)
|
#define | CWY |
(1<<1)
|
#define | CWWidth |
(1<<2)
|
#define | CWHeight |
(1<<3)
|
#define | CWBorderWidth |
(1<<4)
|
#define | CWSibling |
(1<<5)
|
#define | CWStackMode |
(1<<6)
|
/* Valeurs */ typedef struct { int x, y; int width, height; int border_width; Window sibling; int stack_mode; } XWindowChanges;
Les membres x et y sont utilisés pour modifier les coordonnées x et y de la fenêtre, qui sont relatives à l'origine de sa fenêtre parente et indiquent la position du coin extérieur supérieur-gauche de la fenêtre. Les membres width (largeur) et height (hauteur) sont utilisés pour modifier les dimensions intérieures de la fenêtre, sans inclure la bordure, et doivent être non nuls, sinon une erreur BadValue est générée. Une tentative de configuration de la fenêtre racine n'a aucun effet.
Le membre border_width est utilisé pour modifier la largeur de la bordure (exprimée en pixels). Noter que modifier uniquement la largeur de la bordure ne change pas la position du coin extérieur supérieur-gauche de la fenêtre mais change la position absolue de l'origine de la fenêtre. Si l'on essaie de fixer l'attribut border-width d'une fenêtre de classe InputOnly à une valeur non nulle, une erreur BadMatch est générée.
Le membre sibling (fenêtre soeur) est utilisé pour déterminer la fenêtre soeur de référence pour la modification de l'empilement. Le stack_mode (mode d'empilement) est utilisé pour déterminer comment l'empilement de la fenêtre sera modifié et peut valoir Above, Below, TopIf, BottomIf, ou Opposite.