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 :

x11 et modification de fenêtre


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut x11 et modification de fenêtre
    Bonjour,

    j'essaie de travailler avec la librairie x11 sous linux et j'ai un problème (enfin plusieurs en fait).

    Je voudrais travailler sur une fenêtre (comme par exemple la fenêtre principale de acrobat reader). Je souhaiterais pouvoir modifier son parent, sa taille, sa position,....

    Donc tout d'abord j'essaie de récupérer cette fenêtre (avec les méthodes du type (XQueryTree, XGetWMName,...).
    Premier problème, il y a plusieurs fenêtres avec le même nom, du coup je ne sais pas laquelle est la bonne.
    Et en plus, quand j'essaie d'appliquer mes modifications sur une fenêtre (déplacement par exemple), la fenêtre ne bouge pas (même pas un peu!!!!!).

    Quelqu'un saurait-il de quoi ça vient?

    Sauriez-vous aussi s'il est possible de lancer une application (type acrobat reader) avec une fonction de la librairie et pouvoir récupérer directement son window Id? (j'ai cherché mais pas trouvé).

    Cdlt

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par piou1234 Voir le message
    Bonjour,

    j'essaie de travailler avec la librairie x11 sous linux et j'ai un problème (enfin plusieurs en fait).

    Je voudrais travailler sur une fenêtre (comme par exemple la fenêtre principale de acrobat reader). Je souhaiterais pouvoir modifier son parent, sa taille, sa position,....

    Donc tout d'abord j'essaie de récupérer cette fenêtre (avec les méthodes du type (XQueryTree, XGetWMName,...).
    Premier problème, il y a plusieurs fenêtres avec le même nom, du coup je ne sais pas laquelle est la bonne.
    Si il y en a plusieurs, c'est qu'il y en a plusieurs

    Normalement, c'est celle de rang le plus élevé (le plus proche de la RootWindow)

    Citation Envoyé par piou1234 Voir le message
    Et en plus, quand j'essaie d'appliquer mes modifications sur une fenêtre (déplacement par exemple), la fenêtre ne bouge pas (même pas un peu!!!!!).

    Quelqu'un saurait-il de quoi ça vient?
    Parce qu'il faut le faire avec les coordonnées absolues dans la root window.

    Pour cela il y une fonction XTranslateCoordinates


    Citation Envoyé par piou1234 Voir le message
    Sauriez-vous aussi s'il est possible de lancer une application (type acrobat reader) avec une fonction de la librairie et pouvoir récupérer directement son window Id? (j'ai cherché mais pas trouvé).

    Cdlt

    Le Window Id tu peux le récupérer avec le XQueryTree, mais lancer, non, cela dépend du système, mais tu peux le faire en C avec l'appel à la fonction system().

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Rebonjour,

    merci beaucoup pour la réponse et pour les éclaircissements apportés.

    Citation Envoyé par souviron34 Voir le message
    Si il y en a plusieurs, c'est qu'il y en a plusieurs

    Normalement, c'est celle de rang le plus élevé (le plus proche de la RootWindow)
    Je n'ai pas trouver l'indice qui indique la profondeur (ou le rang) de chaque fenetre. Existe-t-il ou faut-il se débrouiller?

    Citation Envoyé par souviron34 Voir le message

    Parce qu'il faut le faire avec les coordonnées absolues dans la root window.

    Pour cela il y une fonction XTranslateCoordinates
    Meme pour déplacer une fenetre sur la root window, il faut utiliser cette méthode? ou juste quand on change le parent de la fenetre?


    Citation Envoyé par souviron34 Voir le message
    Le Window Id tu peux le récupérer avec le XQueryTree, mais lancer, non, cela dépend du système, mais tu peux le faire en C avec l'appel à la fonction system().
    Oui c'est comme ca que je faisais. Je me demandais si il existait un moyen plus simple et plus direct. La réponse est donc non.

    Cdlt

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par piou1234 Voir le message
    Rebonjour,

    merci beaucoup pour la réponse et pour les éclaircissements apportés.



    Je n'ai pas trouver l'indice qui indique la profondeur (ou le rang) de chaque fenetre. Existe-t-il ou faut-il se débrouiller?
    Faut se debrouiller. Mais si tu pars de la root, tu le sais tout de suite


    Citation Envoyé par piou1234 Voir le message
    Meme pour déplacer une fenetre sur la root window, il faut utiliser cette méthode? ou juste quand on change le parent de la fenetre?
    Dans tous les cas, car les coordonnees fournies par XQueryPosition ou bien XQueryPointer ou bien les window coordinates sont unique;ent par rapport au parent.




    Citation Envoyé par piou1234 Voir le message
    Oui c'est comme ca que je faisais. Je me demandais si il existait un moyen plus simple et plus direct. La réponse est donc non.

    Cdlt
    oui pour une raison simple :

    la fenetre est une representation graphique du logiciel (binaire) lance. X11 n'est qu'un gestionnaire de fenetres 9des rectangles sur l'ecran). Il ne connait rien et ne veut rien connaitre au systeme...

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Rebonjour,

    Citation Envoyé par souviron34 Voir le message
    Faut se debrouiller. Mais si tu pars de la root, tu le sais tout de suite
    Pourquoi je le saurais de suite? Puisque un appel à XqueryTree donne les enfants mais aussi les petits enfants,... avec un seul appel. Non?

    Citation Envoyé par souviron34 Voir le message
    Dans tous les cas, car les coordonnees fournies par XQueryPosition ou bien XQueryPointer ou bien les window coordinates sont unique;ent par rapport au parent.
    J'ai pas XQueryPosition dans la doc que j'ai. C'est normal?
    Et je pensais que la RootWindow était la mère de la plupart des fenetres (en gros la mere de toutes les applis qui tournent, acrobat, eclipse). Mais je me trompe peut être?

    Une autre question : mon but est d'intégrer le reader d'acrobat dans une fenetre que je crée, ca vous parait faisable?

    Encore merci de votre temps

    Cdlt

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par piou1234 Voir le message
    Rebonjour,


    Pourquoi je le saurais de suite? Puisque un appel à XqueryTree donne les enfants mais aussi les petits enfants,... avec un seul appel. Non?
    NON, elle donne les enfants (children)..

    Pour les petites enfants, il faut re-faire un QueryTree sur chacun des enfants, etc...


    Citation Envoyé par piou1234 Voir le message
    J'ai pas XQueryPosition dans la doc que j'ai. C'est normal?
    Et je pensais que la RootWindow était la mère de la plupart des fenetres (en gros la mere de toutes les applis qui tournent, acrobat, eclipse). Mais je me trompe peut être?
    Oui, c'est XQueryPointer que je voulais dire...

    Oui c'est la mere, mais comme dit plus haut, il y a en general une multitude de couches (en particulier le Window Manager (sur unixoide, Gnome, KDE, Motif, etc..)) qui s'intercalent entre la root window et la fenetre que tu crees avec X.

    Citation Envoyé par piou1234 Voir le message
    Une autre question : mon but est d'intégrer le reader d'acrobat dans une fenetre que je crée, ca vous parait faisable?

    Encore merci de votre temps

    Cdlt
    oui c'est sans doute possible, mais sans doute avec un "reparentWindow" ...

Discussions similaires

  1. Modification des fenêtres
    Par cheikhoufia dans le forum WinDev
    Réponses: 4
    Dernier message: 11/09/2012, 15h49
  2. Réponses: 1
    Dernier message: 12/12/2008, 17h20
  3. [Débutant] Modification de fenêtre
    Par Sunchaser dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/11/2007, 15h26
  4. Modification de la fenêtre d'affichage (position et dimension)
    Par DangerousBowlOfJelly dans le forum SDL
    Réponses: 8
    Dernier message: 21/11/2006, 07h57
  5. [JDialog] Modification dans une fenêtre
    Par cefabien dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 01/10/2003, 13h18

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