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

GTK+ avec C & C++ Discussion :

Fixer une fenêtre dans l'écran


Sujet :

GTK+ avec C & C++

  1. #1
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut Fixer une fenêtre dans l'écran
    Bien le bonjour!

    Ca doit pas super compliqué mais je n'arrive pas à trouver quelque chose qui le fait.
    Je voudrais position ma fenêtre au centre de l'écran et qu'on ne puisse pas la déplacer.

    Un ptit coup d'pouce?

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Salut !


    Peut être en enlevant sa bordure gtk_window_set_decorated sinon je ne vois pas trop, peut être en faisant un SubClassing mais je ne sais pas si c'est possible en GTK+

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,

    Le fonction gtk_window_set_position propose une option GTK_WIN_POS_CENTER_ALWAYS je pense que ça devrais résoudre ton problème

  4. #4
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut
    Et malheuresement non.

    En fait ca dit qu'au chargement de ta fenêtre, elle ira toujours au centre de l'écran. Par contre après tu peux la bouger comme tu veux.

    Pourtant je pensais pas que c'était violent comme truc ca, finalement ca a l'air moins évident qu'il n'y parait!

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    C'est mal d'empêcher l'utilisateur de faire ce qu'il veut avec ses fenêtres de toute façon

  6. #6
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut
    Pas sympa comme réponse ca!

    Non mais moi j'en ai besoin vu que je récupère la position du clic dans l'image et dans l'écran, il faut que ca reste fixe tout le temps.

    Je viens d'y penser, j'ai lu un sujet un peu similaire sur une histoire de winamp. Franck parlait de récupérer la position de la fenêtre, à tout instant je suppose, et faire une différence des coordonnées avec le centre et si ya décalage -> repositionnement de la fenêtre au centre.

    C'est réalisable ce truc ou alors fanck a un imagination trop importante?

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 868
    Points : 1 022
    Points
    1 022
    Par défaut
    Il me semble que tous les gestionnaires de fenêtre sous Linux peuvent verrouiller l'emplacement d'une fenêtre, ça ne serait donc pas possible d'agir à ce niveau-là ? Parce que de toutes façons, si tu te bases sur une fonction gtk, ça va donner quoi quand un utilisateur utilisera ton application sous KDE ?
    J'espère que je ne confonds pas cela avec la fonction "toujours mettre au premier plan".

  8. #8
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut
    Euh... Si je ne m'abuse, gnome tourne sous KDE non? Gnome a pourtant été développé sous GTK.
    Attention, moi je ne veux pas rendre ma fenêtre modale (la laisser au premier plan) mais bien l'empecher de bouger. Tu penses donc qu'il faut remonter au-dessus de gtk?

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Pour la suggestion de Mark, je suggère de regarder http://burtonini.com/blog/computers/devilspie qui peut peut être te permettre de faire ce que ut veux, ou au moins te donner des idées.
    Et ton « Non mais moi j'en ai besoin vu que je récupère la position du clic dans l'image et dans l'écran, il faut que ca reste fixe tout le temps. » me donne l'impression que tu résouds le pb à l'envers, y a diverses fonctions gtk ou gdk (je sais plus) qui te donne la position absolue d'un widget à l'écran. A partir de ça et de la position absolue de ton curseur de souris, tu peux en déduire où il est relativement à ton image. A moins que je n'ai pas bien compris pourquoi tu veux fixer la position de la fenêtre

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 868
    Points : 1 022
    Points
    1 022
    Par défaut
    Ben on parle au niveau du gestionnaire de fenêtres là donc si ton application tourne sous KDE, je suis très tenté de dire qu'elle tournera donc avec le gestionnaire de fenêtres de KDE. Et je pense que c'est bien le cas puisque l'apparence des bordures des fenêtre reste bien celle de KDE quand je lance des applications, quelque soit l'API graphique derrière. Donc si ça se trouve, ce genre de fonctionnalité n'est pas forcément pris en compte dans Gtk, mais je dois tout de même avouer mon ignorance la plus complète du fonctionnement de ces trucs-là.
    Ce que je sais (enfin, j'espère ), c'est qu'au niveau des couches, c'est noyau, shell, X, gestionnaire de fenêtre, API graphique, application.

  11. #11
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    GTK+ est basé sur X donc le gestionnaire de fenêtre il ne connait pas. Si l'apparence des fenêtres est la même sous KDE c'est ce dernier qui s'en occupe.

    Il y a surement un moyen d'empêcher de déplacer une fenêtre (l'idée de Franck semble possible), mais c'est clair que tu prend le problème à l'envers.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Sisi, gtk+ sait que ses fenêtres sont gérées par un gestionnaire de fenêtre, il discute avec par l'intermédiaire de http://freedesktop.org/wiki/Specific...ards%2Fwm-spec

  13. #13
    Membre régulier Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Points : 83
    Points
    83
    Par défaut
    J'ai compris pourquoi vous dites que j'ai pris le problème à l'envers.
    Et je l'ai fait tout simplemen parce que je suis tombé sur une fonction qui me donnait directement la position du clic dans les deux repères. Donc j'ai pas eu à chercher la position du widget conteneur d'abord.

    Du coup c'est plutot par fénéantise que je cherche quelque chose qui immobilise ma fenêtre principale. Enfin si j'ai bien compris, je vais certainement devoir fournir un dernier effort quand même...

Discussions similaires

  1. afficher une fenêtre dans le thread
    Par LN(a) dans le forum Langage
    Réponses: 8
    Dernier message: 21/12/2005, 13h21
  2. Position d'une fenêtre sur l'écran (left, top)
    Par Daimonji dans le forum MFC
    Réponses: 9
    Dernier message: 18/12/2005, 14h57
  3. Comment ouvrir une fenêtre en plein écran ?
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/10/2005, 12h05
  4. Comment fixer une date dans un champ !
    Par LATHIOS dans le forum Access
    Réponses: 8
    Dernier message: 17/06/2005, 19h44
  5. fixer une valeur dans un menu deroulant
    Par donny dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/05/2005, 09h51

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