Erreurs lors du lancement d'un programme GTK - C++ - Programmation
Marsh Posté le 16-04-2003 à 15:30:07
Le Sot Zi a écrit : Voilà, je dois programmer une application avec GTKmm 1.2 (obligatoirement, je peux utiliser gdk, etc etc, mais il faut que ce soit réalisé en C++). Dans cette application, j'ai besoin de cacher les décorations du windowmanager. Est-ce que qqn sait comment faire ? |
Salut,
Je crois que tu peux tu peux changer le style des widgets en utilisant un fichier gtkrc que tu charge dans l'application.
http://www.linux-france.org/articl [...] ut-18.html
http://linuxmag.linuxmag-france.or [...] thems.html
Sinon, tu peux redéfinir les styles directement à l'aide de la class Gtk::Style.
http://gtkmm.sourceforge.net/docs/gtk/Gtk::Style.html
Marsh Posté le 16-04-2003 à 15:33:07
oui, merci pour ta réponse, mais je ne veux pas les modifier, mais tout simplement les SUPPRIMER...
Marsh Posté le 16-04-2003 à 16:07:30
Le Sot Zi a écrit : oui, merci pour ta réponse, mais je ne veux pas les modifier, mais tout simplement les SUPPRIMER... |
C'est à dire tu veux le style gtk de base ?
Tu peux faire un gtk_rc_parse avec le fichier du theme par defaut :
/usr/share/themes/Default/gtk/gtkrc
Marsh Posté le 16-04-2003 à 16:19:05
Poireau a écrit : |
nan... Je ne veux plus les bordures des fenetres, style gkrellm... Ou xmms... Il n'y a pas les décorations du window manager autour de ces programmes... Bah, là, je veux la même chose...
Marsh Posté le 16-04-2003 à 17:19:02
Le Sot Zi a écrit : nan... Je ne veux plus les bordures des fenetres, style gkrellm... Ou xmms... Il n'y a pas les décorations du window manager autour de ces programmes... Bah, là, je veux la même chose... |
Je viens de trouver ça :
http://mail.gnome.org/archives/gtk [...] 00158.html
Marsh Posté le 16-04-2003 à 17:37:01
Merci bcp !! ça roule, mais je veux mettre une fenetre par dessus, et je peux pas la voir car elle est tt le temps au dessus... Comment on change les focus ?
Marsh Posté le 16-04-2003 à 17:56:48
Le Sot Zi a écrit : Merci bcp !! ça roule, mais je veux mettre une fenetre par dessus, et je peux pas la voir car elle est tt le temps au dessus... Comment on change les focus ? |
C'est plutôt la fenêtre qui est modale nan ?
Essaye le flag GTK_WINDOW_POPUP au lieu de GTK_WINDOW_TOPLEVEL...
Marsh Posté le 16-04-2003 à 18:34:15
Poireau a écrit : |
bah en fait... La fenetre n'a plus ses bordures grace au flag GTK_WINDOW_POPUP. Donc ce pb est résolu. MAIS mon application possède une autre fenetre qui doit s'afficher au dessus de celle qui n'a pas de bordure. Et là, pb, la fenetre s'ouvre bien, mais se place en dessous de la fenêtre sans bordure... Et moi je veux qu'elle soit au dessus...
Marsh Posté le 16-04-2003 à 19:04:09
Le Sot Zi a écrit : bah en fait... La fenetre n'a plus ses bordures grace au flag GTK_WINDOW_POPUP. Donc ce pb est résolu. MAIS mon application possède une autre fenetre qui doit s'afficher au dessus de celle qui n'a pas de bordure. Et là, pb, la fenetre s'ouvre bien, mais se place en dessous de la fenêtre sans bordure... Et moi je veux qu'elle soit au dessus... |
La 3ème réponse de la page dont je t'ai donné le lien dit ca :
> Usually when you create your main window, you do something like:
> window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
> change that to
> window = gtk_window_new(GTK_WINDOW_POPUP);
>
This is bad, it turns off window management.
In GTK 2, use gtk_window_set_decorated()
In 1.2, use:
gtk_widget_realize (window);
gdk_window_set_decorations (window->window, 0);
Havoc
Marsh Posté le 16-04-2003 à 20:21:33
quand je fais le gdk_window_set_decorations (window->window, 0); il ne veut pas compiler... Il me dit qu'il ne veut pas de ->window car pour lui ça n'existe pas !!! je ne comprends pas pk... Si tu veux le message d'erreur exact, dis-le moi, mais comme c au boulot que j'ai ce pb, je ne peux pas te le donner maintenant...
Merci pour ton aide précieuse
Marsh Posté le 16-04-2003 à 21:25:05
Le Sot Zi a écrit : quand je fais le gdk_window_set_decorations (window->window, 0); il ne veut pas compiler... Il me dit qu'il ne veut pas de ->window car pour lui ça n'existe pas !!! je ne comprends pas pk... Si tu veux le message d'erreur exact, dis-le moi, mais comme c au boulot que j'ai ce pb, je ne peux pas te le donner maintenant... |
Je pense que c'est parce que c'est du code de Gtk et non Gtkmm...
Donc faut voir par là.
Code :
|
Donc, je suppose qu'en remplaçant decorations par 0, ca doit mettre aucune décorations...
Marsh Posté le 17-04-2003 à 07:31:58
Poireau a écrit :
|
elle vient pas de GTKmm 2 cette énumération ?
Marsh Posté le 17-04-2003 à 09:10:02
en plus c de Gdk, et non pas de Gtk !!!! Le window de Gdk est différent du window de Gtk... :'(
Marsh Posté le 17-04-2003 à 09:20:55
Alors vala, j'ai réussi à compiler l'application en faisant ça :
Code :
|
sachant que mainwindow hérite de Gtk::Window. Ca compile, mais j'ai tjs mes saloperies des bordures que je ne veux pas
Marsh Posté le 17-04-2003 à 10:05:29
ha non c bon ça marche maintenant
merci bcp !!!
bon, encore à jarter la capture du focus quand on clique dessus... et pk quand je supperpose une image au dessus d'une autre, la plus petite est virée, et comment éviter ce genre de pbs...
Marsh Posté le 16-04-2003 à 14:31:00
Voilà, je dois programmer une application avec GTKmm 1.2 (obligatoirement, je peux utiliser gdk, etc etc, mais il faut que ce soit réalisé en C++). Dans cette application, j'ai besoin de cacher les décorations du windowmanager. Est-ce que qqn sait comment faire ?
Merci d'avance !!!