Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3129 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Erreurs lors du lancement d'un programme GTK

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreurs lors du lancement d'un programme GTK

n°363297
Profil sup​primé
Posté le 16-04-2003 à 14:31:00  answer
 

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 !!! :)
 
:hello:

mood
Publicité
Posté le 16-04-2003 à 14:31:00  profilanswer
 

n°363434
Poireau
Posté le 16-04-2003 à 15:30:07  profilanswer
 

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 ?
Merci d'avance !!! :)
 
:hello:


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

n°363441
Profil sup​primé
Posté le 16-04-2003 à 15:33:07  answer
 

oui, merci pour ta réponse, mais je ne veux pas les modifier, mais tout simplement les SUPPRIMER... :(

n°363533
Poireau
Posté le 16-04-2003 à 16:07:30  profilanswer
 

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

n°363562
Profil sup​primé
Posté le 16-04-2003 à 16:19:05  answer
 

Poireau a écrit :


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

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...

n°363757
Poireau
Posté le 16-04-2003 à 17:19:02  profilanswer
 

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

n°363799
Profil sup​primé
Posté le 16-04-2003 à 17:37:01  answer
 

Merci bcp !! :) :jap: ç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 ?

n°363855
Poireau
Posté le 16-04-2003 à 17:56:48  profilanswer
 

Le Sot Zi a écrit :

Merci bcp !! :) :jap: ç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...

n°363875
Profil sup​primé
Posté le 16-04-2003 à 18:34:15  answer
 

Poireau a écrit :


C'est plutôt la fenêtre qui est modale nan ?
Essaye le flag GTK_WINDOW_POPUP au lieu de GTK_WINDOW_TOPLEVEL...

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...

n°363898
Poireau
Posté le 16-04-2003 à 19:04:09  profilanswer
 

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


Message édité par Poireau le 16-04-2003 à 19:05:56
mood
Publicité
Posté le 16-04-2003 à 19:04:09  profilanswer
 

n°363944
Profil sup​primé
Posté le 16-04-2003 à 20:21:33  answer
 

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  
:hello:

n°363997
Poireau
Posté le 16-04-2003 à 21:25:05  profilanswer
 

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...
Merci pour ton aide précieuse  
:hello:


Je pense que c'est parce que c'est du code de Gtk et non Gtkmm...
Donc faut voir par là.

Code :
  1. void Gdk::Window::set_decorations (WMDecoration decorations) ;
  2. //--------------------
  3. enum   WMDecoration {
  4.   DECOR_ALL = 1 << 0,
  5.   DECOR_BORDER = 1 << 1,
  6.   DECOR_RESIZEH = 1 << 2,
  7.   DECOR_TITLE = 1 << 3,
  8.   DECOR_MENU = 1 << 4,
  9.   DECOR_MINIMIZE = 1 << 5,
  10.   DECOR_MAXIMIZE = 1 << 6
  11. }


Donc, je suppose qu'en remplaçant decorations par 0, ca doit mettre aucune décorations...
 

n°364189
Profil sup​primé
Posté le 17-04-2003 à 07:31:58  answer
 

Poireau a écrit :


Je pense que c'est parce que c'est du code de Gtk et non Gtkmm...
Donc faut voir par là.

Code :
  1. void Gdk::Window::set_decorations (WMDecoration decorations) ;
  2. //--------------------
  3. enum   WMDecoration {
  4.   DECOR_ALL = 1 << 0,
  5.   DECOR_BORDER = 1 << 1,
  6.   DECOR_RESIZEH = 1 << 2,
  7.   DECOR_TITLE = 1 << 3,
  8.   DECOR_MENU = 1 << 4,
  9.   DECOR_MINIMIZE = 1 << 5,
  10.   DECOR_MAXIMIZE = 1 << 6
  11. }


Donc, je suppose qu'en remplaçant decorations par 0, ca doit mettre aucune décorations...
 
 

elle vient pas de GTKmm 2 cette énumération ?

n°364278
Profil sup​primé
Posté le 17-04-2003 à 09:10:02  answer
 

en plus c de Gdk, et non pas de Gtk !!!! Le window de Gdk est différent du window de Gtk... :'(

n°364296
Profil sup​primé
Posté le 17-04-2003 à 09:20:55  answer
 

Alors vala, j'ai réussi à compiler l'application en faisant ça :
 

Code :
  1. mainwindow *mw=new mainwindow("pwet" );
  2.     gtk_widget_realize ((GtkWidget*)(mw->gtkobj()));
  3.     gdk_window_set_decorations (((GtkWidget*)(mw->gtkobj()))->window, (GdkWMDecoration)0 );


sachant que mainwindow hérite de Gtk::Window. Ca compile, mais j'ai tjs mes saloperies des bordures que je ne veux pas  
 :fou:

n°364371
Profil sup​primé
Posté le 17-04-2003 à 10:05:29  answer
 

ha non c bon ça marche maintenant :) :sarcastic:
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...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Erreurs lors du lancement d'un programme GTK

 

Sujets relatifs
Erreurs sur une classe CLed (celle de codeguru)bug dans mon programme vb.net besoin d'aide ( resolu)
traiter des erreurs accessErreur lors de l'execution d'un programme en Java
lancer un programme sur la machine clientTestez mon petit programme sous différent OS
comment fait on pour jouer du son dans un programme java sans utilisercomment faire pour sortir d'un programme en apuyant sur la touche q ?
lancer une application d'un un programme en CLancement d'une impression de la page en cours...
Plus de sujets relatifs à : Erreurs lors du lancement d'un programme GTK


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR