IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Position absolue d'une fenêtre avec X11 / Xlib


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de ZeRevo
    Inscrit en
    Avril 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 302
    Par défaut Position absolue d'une fenêtre avec X11 / Xlib
    Bonjour,

    Je cherche à récupérer la position d'une fenêtre existante. J'ai essayé tout ce que j'ai trouvé sur le net c'est à dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    printf("fenetre qui a le focus : %d\n",focus_courant);
    focus_return=focus_courant;
     
    if (XGetWindowAttributes(d, focus_courant, &windowattr) == 0) {
    	printf("impossible de récupérer les attributs de la fenêtre");
    	exit(-1);
    }
    printf("display_width = %d - ", windowattr.width);
    printf("display_height = %d \n", windowattr.height);
     
    printf("display_width = %d - ", DisplayWidth(d, s));
    printf("display_height = %d \n", DisplayHeight(d, s));
     
    if (XGetGeometry(d, focus_courant, &tmpwin, &x, &y, &width, &height, &border_width, &depth) != false) {
    	printf("display_width = %d - ", width);
    	printf("display_height = %d \n", height);
    }
    Mais j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    display_width = 1 - display_height = 1 
    display_width = 1920 - display_height = 1200 
    display_width = 1 - display_height = 1
    En utilisant la command xwininfo, j'obtiens les 2 coordonnées mais je voudrais avoir ces infos avec X11
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xwininfo -tree -root | grep Adobe
    0x3800003 "Adobe Flash Player 10": ("flashplayer" "Flashplayer")  746x604+4+23  +825+212
    Je suis sûr que ça existe mais j'arrive pas à mettre la main dessus

  2. #2
    Membre très actif Avatar de ZeRevo
    Inscrit en
    Avril 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 302
    Par défaut
    J'ai regardé directement le code source de xwininfo ce qui donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        if (XGetGeometry(dpy, child_list[i], &root_win,
    		     &rel_x, &rel_y, &width, &height, &border, &depth)) {
    	Window child;
     
    	printf (" %ux%u+%d+%d", width, height, rel_x, rel_y);
    	if (XTranslateCoordinates (dpy, child_list[i], root_win,
    				   0 ,0, &abs_x, &abs_y, &child)) {
    	    printf ("  +%d+%d", abs_x - border, abs_y - border);
    	}
        }
        printf("\n");
    Il faut donc utiliser la méthode XTranslateCoordinates pour récupérer la position relative d'une fenêtre

Discussions similaires

  1. Un lien ouvrant une fenêtre avec une taille et position précise
    Par Poisson59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/12/2009, 19h24
  2. Redimensionnement d'une fenêtre avec position absolue
    Par hugo123 dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 09/09/2009, 12h52
  3. [C#] Imprimer le contenu d'une fenêtre avec ascenseur
    Par biglong dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/08/2007, 23h29
  4. Taille et position initiale d'une fenêtre MDI fille
    Par nutsDz dans le forum C++Builder
    Réponses: 8
    Dernier message: 09/05/2005, 16h05
  5. [eclipse][plugin] Comment avoir une fenêtre avec focus
    Par relivio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2004, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo