Articles of xlib

Le cycle XPending rend le processeur à 100%

Bonne journée! J’ai un peu de mal à faire un projet xlib. Voici la structure de mon projet: [ Init ] [ Making some stuff ] [ Creating a timer thread (see code below) ] [ Main cycle (see code below) ] Lorsque l’utilisateur appuie sur un bouton, je mets l’indicateur dans le fil sur […]

Comment redimensionner une pixmap avec XLib?

J’utilise un pixmap comme sauvegarde d’une fenêtre afin de le restaurer sous les événements d’exposition. Lorsque la fenêtre est redimensionnée, dois-je redimensionner le pixmap de sauvegarde? Si oui, quel est le meilleur moyen? Créer un nouveau pixmap avec la nouvelle taille?

Pourquoi j’ai défini l’échec d’arrière-plan de la fenêtre xlib transparente?

J’utilise le code suivant pour obtenir une fenêtre transparente, mais le résultat est noir. Qu’est-ce qui ne va pas avec moi? Et est-ce que quelqu’un peut me donner un exemple simple pour créer une fenêtre avec un fond transparent? MERCI! #include #include int main(int argc, char* argv[]) { Display* display = XOpenDisplay(NULL); XVisualInfo vinfo; XMatchVisualInfo(display, […]

capture de souris avec Xlib

Je souhaite écrire un programme Xlib simple modifiant le comportement de la souris (pour donner un exemple, inverser le mouvement vertical) J’ai un problème avec la capture des événements. J’aimerais que le code capture des changements dans la position des contrôleurs (je déplace la souris vers le haut, MotionEvent ) calculer la nouvelle position du […]

Dans Xlib, comment puis-je animer jusqu’à ce qu’un événement se produise?

J’ai essayé d’animer un programme C avec Xlib et je veux faire quelque chose lorsqu’un événement se produit, sinon je veux continuer à animer. Voici un exemple d’extrait de code de ce que je fais actuellement: while( 1 ) { // If an event occurs, stop and do whatever is needed. // If no event […]

Problèmes de nom de fenêtre XLib

Depuis 4 jours, j’essaie de voir comment fonctionne XLib, et j’ai enfin compris. Si j’ai essayé de créer un programme court qui récupère le nom de la fenêtre ouverte. Pour cela, j’ai créé 2 fonctions: Window *list (Display *disp, unsigned long *len) { Atom prop = XInternAtom(disp,”_NET_CLIENT_LIST”,False), type; int form; unsigned long remain; unsigned char […]

Obtenir les coordonnées de souris avec Xlib

J’aimerais savoir comment obtenir les coordonnées x et y d’un clic de souris avec Xlib n’importe où sur l’écran. J’ai trouvé ce post qui obtient la position actuelle du pointeur Comment puis-je obtenir les coordonnées actuelles de la souris (pointeur) dans X , mais je ne sais pas comment le modifier pour qu’il obtienne les […]

Fenêtre vide ou transparente avec Xlib montrant uniquement les lignes de bordure

Est-il possible de créer une fenêtre avec Xlib qui affiche uniquement les lignes de bordure, le titre, le bouton de fermeture et que vous pouvez déplacer avec la souris? Le contenu de la fenêtre doit être vide (ou “totalement transparent”, bien que “transparence” sonne plus comme un effet dont je n’ai pas besoin). Fondamentalement, la […]

Xlib: la fenêtre est créée dans une mauvaise position

J’ai un programme xlib simple qui crée une fenêtre. Je pense qu’il doit afficher la fenêtre dans le coin supérieur gauche de l’écran car je passe 0, 0 à la fonction XCreateSimpleWindow, mais c’est en haut au milieu. Pourquoi ? #include #include #include int main(int argc, char* argv[]) { Display* display; int screen_num; Window win; […]

XEventsQueued équivalent dans xcb

J’ai lu ‘ Need for XEventsQueued (display, QueuedAfterReading) dans XCB ‘ mais la réponse spécifie une fonction ( xcb_poll_for_queued_event ) qui modifie la queue d’événements interne. J’ai besoin d’une fonction qui soit exactement l’équivalent de XEventsQueued(display, QueuedAfterReading) . La modification de la queue des événements annule le code que j’écris actuellement, le cas échéant, où […]