Je suis un débutant dans xlib et je veux attraper l'événement sur les changements de contenu de la fenêtre. Pour des exemples si une région a changé. J'ai lu que je dois utiliser Xdamage pour cela et c'est mon codeXdamage: obtenir l'événement sur les changements de contenu de la fenêtre
Display* display = XOpenDisplay(NULL);
Window root = DefaultRootWindow(display);
XWindowAttributes attributes = {0};
XGetWindowAttributes(display, root, &attributes);
int width, height;
width = attributes.width;
height = attributes.height;
//XDAMAGE INIT
int damage_event, damage_error, test;
test = XDamageQueryExtension(display, &damage_event, &damage_error);
Damage damage = XDamageCreate(display, root, XDamageReportNonEmpty);
while (true){
XEvent event;
XNextEvent(display,&event);
//HERE I GET EVENT
XDamageSubtract(display,damage,None,None);
}
XCloseDisplay(display);
Donc, j'ai un exemple de travail dans lequel je peux obtenir l'événement et ses types de type.The, comme je comprends sont les types xlib - https://tronche.com/gui/x/xlib/events/types.html. Mais comment puis-je savoir à partir de l'événement que la fenêtre a été modifiée.
vous souhaitez vérifier la valeur de retour de 'XDamageQueryExtension'. Il n'est pas garanti que l'extension est réellement chargée. – tofro