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

Bibliothèques Discussion :

[X11] Fenêtre de taille fixe


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 122
    Par défaut [X11] Fenêtre de taille fixe
    Bonjour à tous,

    je développe, à titre personnel, une petite application graphique sous Linux avec OpenGl. Pour le fenêtrage, j'ai fini par choisir GlX qui me convient très bien. Mon problème porte, je pense, plutôt sur la façon dont X s'occupe des fenêtres (d'où l'intitulé [X11]).

    J'aurais souhaité faire en sorte que me fenêtre principale ne puisse pas être redimensionnée (donc que l'utilisateur ne puisse ni la maximiser, ni en modifier la taille par le classique cliquer-glisser sur un bord). J'ai fait quelques recherches sur le net mais il ne semble pas très bavard sur le sujet

    Pour empêcher la fermeture de la fenêtre, j'ai compris que l'on pouvait utiliser les atoms (via le WM_DELETE_WINDOW). Malheureusement, il n'exsite pas d'atom WM_RESIZE_WINDOW... J'ai aussi vu que la Xlib propose un event ResizeRequest.

    Y a-t-il une façon d'utiliser les atoms pour arriver à mon but? Vaudrait-il mieux essayer de capter les ResizeRequest pour empêcher le redimensionnement de la fenêtre? Je suis un peu dans le flou et si quelqu'un a une idée pour me débloquer, je suis preneur!

    Merci à tous.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 122
    Par défaut
    Bon, je me réponds à moi-même puisque j'ai fini par comprendre comment faire pour créer une fenêtre qui ne soit pas redimensionnable. En fait, il n'est pas possible de signifier directement à une fenêtre si elle peut être redimensionné ou non... mais il est possible de lui donner une taille minimale et une taille maximale. Si on fixe ces deux extrêmes à la même taille la fenêtre se retrouve avec une taille fixe

    Pour cela, il faut utiliser XSizeHints lors du passage des propriétés de la fenêtre grâce à XSetStandardProperties ou à XSetWMProperties. Afin d'activer les tailles min et max, il faut aussi activer les flags associés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    XSizeHints * normal_hints = XAllocSizeHints();
     
    normal_hints->min_width = my_width;
    normal_hints->max_width = my_width;
    normal_hints->min_height = my_height;
    normal_hints->max_height = my_height;
    normal_hints->flags = PMaxSize | PMinSize;
    Si ça peut aider quelqu'un qui se poserait la même question que moi...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Taille fixe fenêtre Access
    Par paidge dans le forum IHM
    Réponses: 6
    Dernier message: 16/12/2010, 16h08
  2. Comment ouvrir une fentre avec une taille fixe en javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/07/2007, 16h54
  3. Taille fixe div css
    Par Jiraiya42 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 26/04/2006, 20h30
  4. ouvrir une fenêtre de taille inconnue au milieu de l'écran
    Par grinder59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/01/2006, 08h50

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