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?
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?
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+![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
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![]()
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!![]()
C'est mal d'empêcher l'utilisateur de faire ce qu'il veut avec ses fenêtres de toute façon![]()
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?![]()
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".
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?
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![]()
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.
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.
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
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...![]()
Partager