Appeller une fonction en gtkdialog ??

Fermé
marchepas(){} - 15 mai 2010 à 18:52
 marchepas(){} - 16 mai 2010 à 09:44
Bonjour,
voila, mon probleme est que je n'arrive pas à appeler une fonction en gtkdialog ; )

j'ai un script de la forme :

#!/bin/bash

ma_func () {

func_danslafonc () {

instruction

}

fun_dslafunc () {

instruction

}

}

export MAIN_DIALOG='
<window window_position="1" resizable="false" title="Montitre" icon-name="Monicone">
<vbox>
<button>
<input file>Monimage</input>
<label>Monlabel</label>
<action>ma_func &</action>
<action type="exit">restart</action>
</button>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG

mais lorsque je le lançe a partir du terminal, j'obtiens cette erreur :

sh: ma_func: not found
EXIT="restart"

il semble que je ne soit pas le seul à avoir ce probleme, mais certains pretendent avoir trouver une solution pour y palier, si quelqu'un a une idee qui me permettrait d'appeler n'importe quelle fonctions dans une balise <action> d'un bouton, ce serait VACHEMENT GENTIL de sa part de me la faire connaitre ; )

Merci d'avance !
A voir également:

8 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
15 mai 2010 à 19:09
Salut,

Et si tu débutais ton script par :

#! /usr/bin/gtkdialog -e

Plutôt que par "#! /bin/bash", non ?

Source ;-))
0
marchepas(){}
15 mai 2010 à 19:23
La coloration syntaxique de mon editeur a disparue et le script ne se lançe plus du tout, j'ai remis l'ex shebang en attendant ; ) dommage ça aurait été bien
si tu as d'autres idées je prends !
; )
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
15 mai 2010 à 19:39
Mets les deux :

#! /bin/bash
#! /usr/bin/gtkdialog -e
0
marchepas(){}
15 mai 2010 à 19:42
le script se lançe bien, la gui principale est là, mais l'interpreteur ne trouve toujours pas la fonction du début ; )
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
15 mai 2010 à 19:49
T'as essayé sans le "&" ?
0
marchepas(){}
15 mai 2010 à 20:18
Ben justement, quand j'enleve le & , la fonction n'est plus exécutée en arriere plan et la gui principale devient noire et ne repond plus ; )
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
15 mai 2010 à 20:19
Alors il serait peut être temps et intéressant de nous mettre le contenu des fonctions, non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marchepas(){}
15 mai 2010 à 20:33
HAHAHA, ne pas rire :


#!/bin/bash
ma_func () {


perl /opt/scripts/perl/noproco.pl


other_func () {


directory='zenity --file-selection'

}

last_func () {

if test -e $directory

then

ma_func

else

echo "Doesn't exist !"

fi

}

other_func
last_func

}

export MAIN_DIALOG='
<window window_position="1" resizable="false" title="OpenPNG" icon-name="gtk-info">
<vbox>
<button>
<input file>/mon/image</input>
<label>Ouvrir maintenant :</label>
<action>ma_func &</action>
<action type="exit">restart</action>
</button>
</vbox>
</window>
'
gtkdialog --program=MAIN_DIALOG
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
15 mai 2010 à 20:38
Et si tu appelles "ma_func" toute seule sans gtkdialog, ça passe ?
0
marchepas(){}
15 mai 2010 à 20:49
oui, ça passe, sinon, je viens de tomber sur "zenitor" qui est ecrit en gtkdialog/bash par hizoka ( cf Ubuntu.fr ) et à l'interieur du script il arrive a appeller des fonctions a partir de gtkdialog, mais je n'y comprends pas grand chose : ça donne ;

function Largeur_gtk()
{
cat << EOF
<frame Largeur de la fenêtre :>
<hbox>
<entry tooltip-text=" Indiquez une largeur maximale en px pour la fenêtre. ">
<variable>width</variable>
</entry>
<text>
<label>px</label>
</text>
</hbox>
</frame>
EOF
}

Pour une fonction qui est appelée par un export plus loin, tu peus m'eclairer ? ; )
0
marchepas(){}
15 mai 2010 à 21:02
Bon, je dois y aller, je cherche de mon coté, sinon, merci beaucoup du coup de main, peut être à demain !
0
marchepas(){}
16 mai 2010 à 09:44
Salut, je ne trouve pas ; )

meme probleme ici :

http://forum.ubuntu-fr.org/viewtopic.php?id=240576

pour palier au probleme :

<action>/chemin/du/script/contenant/la/fonction</action>

; )

Merci quand meme !
0