#76 Le 23/05/2010, à 00:31
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Bug confirmé, lorsqu'on lance une nouvelle fenêtre faisant partie du même glade, en lui indiquant une position (mouse, center...), ca plante !
Pour pouvoir lancer une fenêtre sans bug, 2 solutions:
-laisser la position sur none et déplacer la fenêtre (window.move)
-lancer une nouvelle instance de glade2script.
Je ne peux rien faire contre ce bug, ca ne viens pas de moi !
MISE A JOUR : http://gwebradio.googlecode.com/files/glade2script.0.1e.tar.gz
Commande:
TREE@CELL => modifier une cellule du treeview
TREE@PROG => modifier progressbar du treeview
callback:
on_menu => lance un menu-contextuel via clic-droit
en vrac:
-modification de couleur des cellules textes (background, foreground)
-progressbar dans treeview
-menu-contextuel sur clic-droit (item,check,radio)
à venir: (mais bon, ca commence à grossir, ca risque de faire peur, alors que ...!)
-copie du treeview dans un fichier (ca peut servir selon utilisation)
-un callback personnel, pour appeler une fonction avec le widget comme argument, en plus d'autres callbacks ???
-systray icon
-notification
Après, ben .... Je vois pas, on à presque tout !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#77 Le 23/05/2010, à 10:44
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Bon, finalement après de long test, le bug n'est pas présent en python, donc cela vient de moi ...!
A la recherche du bug perdu ....! Ca risque d'être galère ....!
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#78 Le 23/05/2010, à 11:14
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Ca été vite fait finalement ... J'ai résolu le bug ... 2 callbacks supplémentaires ! (on_show, on_hide, à utiliser pour les window)
20 mn pour régler le bug, maintenant il me faudra je sais pas combien pour modifier la doc et faire un exemple ....
A suivre !
PS: Pour les qqles users, un petit retour serait pas mal, niveau bug ou général ! Que je saches si je suis sur la bonne route !!!
La mise en place n'est pas trop complexe, idées pour la syntaxe des commandes, autres callabcks ..???
Dernière modification par AnsuzPeorth (Le 23/05/2010, à 11:20)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#79 Le 23/05/2010, à 13:43
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Salut,
je vais faire quelques tests, nottement sur les clck droit et te dit ce qu'il en ai.
En tout cas, pour moi, ca va dans le bon sens.
Maintenant pour ce qui est des suggestions, ca viendra au fur et à mesure, je ne me considère pas encore familier avec l'outil donc j'y vais petit à petit.
Je comprend ta déception pour le peu d'intéret que semble susciter un outil attendu depuis si longtemp, mais laisse le temps au gens de se rendre compte qu'il s'agit d'une alternative crédible et glade2script devrait vite devenir un incontournable pour les afficionnados des script avec gui
Hors ligne
#80 Le 23/05/2010, à 13:49
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
bon bah déja le click-droit fonctionne nickel sous lucid
Hors ligne
#81 Le 23/05/2010, à 14:37
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
Le click-droit est-il censé fonctionner sur un treeview en l'état actuel?
Hors ligne
#82 Le 23/05/2010, à 14:54
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
Le click-droit est-il censé fonctionner sur un treeview en l'état actuel?
J'ai pas essayé mais logiquement oui.
Il faut renseigner dans les signaux du treeview, pour un signal, par exemple, button-press-event, le callback on_menu avec comme données utilisateurs le nom du menu à afficher.
Si tu n'y arrive pas je ferais des test, en ce moment je suis sur le systray, c'est ok, je fais des exemples, ensuite je m'attaque à la notification et j'upload une mise a jour.
Je comprend ta déception pour le peu d'intéret que semble susciter un outil attendu depuis si longtemp
Pas déçu, mais étonné ! Je sais bien qu'il faut du temps.
Je dévellope ce truc pour moi aussi, ca me permet de découvrir plus profondement pygtk et je pense que j'utiliserais ce script également pour mes projets en python, ca mâche les 3/4 du travail .... Faut juste que je fasse l'équivalent de la boucle de fin en python pour se brancher sur le FIFO. On peut faire ça en n'importe quel langage
EDIT: je m'étais trompé dans le texte, j'avais noté on_entry, alors que c'était on_menu
Dernière modification par AnsuzPeorth (Le 23/05/2010, à 15:09)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#83 Le 23/05/2010, à 15:14
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Selon ton exemple, j'avais cru comprendre qu'il fallait renseigner le callback "on-menu" non?
quand je remplace mes "on_menu" par des "on_entry", j'obtiens en terminal :
AttributeError: 'gtk.Menu' object has no attribute 'get_text'
avec les "on_menu", aucun message;
J'ai essayer de passer par une boite d'évenement également, meme résultat, je vois plus trop ou chercher la.
voici le lien vers mon exemple, si tu a une suggestion :
ps : Aucun signal n'est renseigné pour le click ou le double-click sur le treeview : Ce n'est pas un oubli, je l'ai ai dégagé pour tester le click-droit.
EDIT : OK pour les "on_entry", c'est bien ce qui me semblait
Dernière modification par redisded (Le 23/05/2010, à 15:17)
Hors ligne
#84 Le 23/05/2010, à 15:22
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
arf,
bon, autant pour moi, j'ai bien télécharger et testé tes exemples, mais j'ai oublié de coller la derniere version du script dans mon /usr/bin... tout fonctionne nickel maintenant.
Quand on est c**, on est c**!
Du coup, question subsidiaire, y'a t'il moyen de récupérer la valeur du treeview? comme tu l'aura compris, je souhaite faire un menu contextuel pour pouvoir supprimer un élément du treeview.
EDIT : J'imagine qu'un
echo 'TREE@GET@montreeview'
devrait suffire, mais quel est le nom de la variable dans ce cas la?
Dernière modification par redisded (Le 23/05/2010, à 15:47)
Hors ligne
#85 Le 23/05/2010, à 15:53
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
peut-tu me confirmer que les treeview dont on doit récupérer la valeur n'ont pas besoin d'etre précédé par un "_" ?
Hors ligne
#86 Le 23/05/2010, à 16:03
- Hizoka
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
je confirme juste que ton logiciel m'intéresse beaucoup vraiment, mais actuellement je n'ai pas le temps de me pencher dessus...
mais promis, c'est le prochain truc sur lequel je me penche
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#87 Le 23/05/2010, à 16:04
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Humm, interessant ...
Bien sur il est possible via la commande que tu cite, la variable correspondante sera le nom du treeview, donc montreeview (ne pas oublier ITER@ pour agir avec cette variable).
Je pense qu'on pourrait faire autrement .... Comme il y a un callback pour les treeviews (on_treeview qui envoie en paramètre à la fonction la selection), on pourrait récupérer de suite cette selection, sans passer par GET@ et ITER@ ....
Tu dois avoir une fonction montreeview dans ton script associé où la selection passe lorsqu'on clic dans le treeview (signal cursor-changed), il suffit, au début de cette fonction de charger la selection dans une variable, elle sera accessible directement lorsque la fonction du menuitem sera appelée !
Suis-je clair !!!
De toute, la gestion du treeview risque encore d'être amélioré, modification d'une ligne entière, sauvegarde dans un fichier, glisser/déposer, édition de la cellule....j'en oublie surement, ces treeviews, c'est LE gros morceaux.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#88 Le 23/05/2010, à 16:06
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
peut-tu me confirmer que les treeview dont on doit récupérer la valeur n'ont pas besoin d'etre précédé par un "_" ?
Les treeviews, les windows, et les statusbars n'ont pas besoin d'être précédé par un _.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#89 Le 23/05/2010, à 16:18
- frafa
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
t'en fai po si tu tiens bon ton projet bougera du monde,
mais fo le temps, tu en est que au debut...
et ou les treeviews c'esr le gros morceau tres important,
pareil que Hizoka, je me met dessus des que Slitaz me casse plus les c******s.
Hors ligne
#90 Le 23/05/2010, à 16:31
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
bon en fait j'avait bien la bonne méthode mais il me semble qu'il y'a encore quelques bugs (cela dit, il est également possible que j'ai encore fait de la m*rde)
Déja, le click droit dans un "blanc" du treeview me fait bugger le script.
Ensuite, j'arrive bien en fait à récupérer le contenu du treeview, mais ca ne fonctionne jamais du premier coup, je dois toujours doubler le click droit sur l'item pour avoir le bon.
Je m'explique :
Lors du premier click droit sur un item, j'ai systematiquement une variable vide en retour, si je fais un click droit sur un 2eme item, c'est le premier qui est retourné dans la variable, si je click-droit sur un 3eme, c'est le 2eme qui est retourné dans la variable...
Pour que tu puisse mieux te rendre compte, voici mon script au complet :
http://dedisred.free.fr/tmp/compteur-series.tar.gz
Le probleme se situe dans l'interface principale.
Au premier lancement, le script de demandera de choisir un nom de série et un dossier contenant les episodes, et de les ranger dans l'ordre, ensuite, la lecture commence. attend que la premiere video soit en lecture, puis ferme totem.
relance le script, clic sur "ajouter une série" dans l'interface principale (pour avoir au moins 2 item dans la liste), puis renouvelle l'opération. relance une derniere fois le script, et amuse toi avec le clic droit sur les deux item pour te rendre compte de ce que je t'explique.
Le fichier à lancer est "compteur-series.sh".
glade2script doit être dans ton path, car je l'appel comme une commande.
sauf oubli de ma part, tout devrait fonctionner sous un ubuntu de base (avec glade et glade2script d'installé bien sur)
Apres tes essais, supprime simplement le dossier /home/$USER/.compteur_series pour effacer toute trace du script.
Hors ligne
#91 Le 23/05/2010, à 16:36
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
Bon oublie le précédent post, je ne passait pas par un ITER, le pb venait de la...
En revanche, le clic dans le blanc fait toujours planter le script;
Et si un item à été séléctionné auparavant, c'est celui-ci qui revient systematiquement dans la variable si je fais un clic droit sur le blanc (dans ce cas, ca ne plante plus)
une suggestion?
Hors ligne
#92 Le 23/05/2010, à 16:43
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
t'en fai po si tu tiens bon ton projet bougera du monde,
mais fo le temps, tu en est que au debut....
Je m'en fais pas
Et j'en suis qu'au début, mais c'est presque plié, j'en suis à ajouter des gadgets (progress dans treeview, systray, notification ...)
et ou les treeviews c'esr le gros morceau tres important,
Vivi, mais là y'a déjà de koi faire ... Après la mise ne place du systray, je m'attaque de nnouveau aux treeview (la notification ca sera après)
[nostalgie] Tu te souviens, y a un moment, qd on pestait sur les limitations d'autoglade et les bug de gtkdialog, combien de fois j'ai dit qu'il fallait que je mette à pygtk pour faire un outils qui rassemble les avantages des 2 ...? Ben ca y est, et au delà de mes espérances !!! [/nostalgie]
BON A SAVOIR:
Je me suis rendu compte d'un truc, l'utilsation des données utilsateurs dans glade permettent beaucoup de choses.
Lorsque c'est renseigné par le nom d'un widget, le callback est lancé comme si c'était le widget nommé qui lancé le callabck.
Donc, par exemple avec un treeview, nom=treeview_name, on pourrait récupérer la selection sans passer par GET@ depuis un bouton, simplement en indiquant le callbak du bouton sur on_treeview, user param treeview_name. C'est la fonction treeview_name qui sera lancé comme ci on avait cliqué dans le treeview.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#93 Le 23/05/2010, à 16:57
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
Bon oublie le précédent post, je ne passait pas par un ITER, le pb venait de la...
Tu as essayé en chargeant une variable avec la selection dans la fonction du treeview ? Comme ça elle sera accessible directement dans ta fonction de suppression (clic sur menuitem) !
En revanche, le clic dans le blanc fait toujours planter le script;
Et si un item à été séléctionné auparavant, c'est celui-ci qui revient systematiquement dans la variable si je fais un clic droit sur le blanc (dans ce cas, ca ne plante plus)
une suggestion?
Arff, normal, lorsque tu clic droit, il faut le widget d'où tu appelles, si clic dans le blanc, le widget n'est pas sélectionné (le treeview ici). Essais de mettre le treeview dans un event-box et appeler le menu de l'event-box. Ca devrait passer !
Si tu bloques, je regarderais tes exemples.
Dernière modification par AnsuzPeorth (Le 23/05/2010, à 17:04)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#94 Le 23/05/2010, à 17:04
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
J'ai pas fait d'essais, mais le clic droit ne devrait pas faire planter (car le treeview, même clic rien prends le focus) ... Ca ne serait pas ce qui est dans la fonction de ton treeview qui ferait planter le truc ??? Filtre l'argument, si il est vide, return !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#95 Le 23/05/2010, à 17:46
- redisded
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
en fait apres tests faisant suite à ta derniere suggestion, je me rend compte que c'est la ligne
echo 'TREE@GET@treeview_lire_serie'
qui fait planter le script en cas de click dans le blanc.
si je la vire ca fonctionne.
probleme: comment vérifier l'existence d'une valeur dans le treeview sans cette commande?
Dernière modification par redisded (Le 23/05/2010, à 17:47)
Hors ligne
#96 Le 23/05/2010, à 19:54
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
J'ai regardé vite fait ton script (main_window), tu fais un exit sur le treeview ...!
Tu utilises glade2script de façon statique, c'est dommage tu n'utilises pas son intêret premier !
Sinon, je vais mettre un controle pour éviter le plantage.
Je ne peux pas essayer tes scripts, je suis en live et ca plante facile, pas envie de rebooter et réinstaller glade & co (oui, mode persistant fonctionne po).
J'aurais procédé differemment pour ton projet, j'aurais mis le principale du code dans le script associé à la fenêtre principale, de là j'appellerais les autres.
Cela te permettrais de filtrer chaque action plus facilement et agir selon.
Je finis le systray, y a un bug, pareil pour show/hide sous lucid, je vais devoir ajouter des callbacks.
Pour show/hide depuis un sous-processus, faut agir depuis le process père pour pas de problème.
Ensuite, je regarderais de prêt tes scripts, il faut utiliser la possibilité de on_treeview.
Dernière modification par AnsuzPeorth (Le 23/05/2010, à 19:55)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#97 Le 23/05/2010, à 23:28
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
re,
MISE A JOUR: http://gwebradio.googlecode.com/files/glade2script.0.1f.tar.gz
callbacks:
on_show => pas de sortie, renseigner l'user data avec le nom du widget à modifier ( window )
on_hide => pas de sortie, renseigner l'user data avec le nom du widget à modifier ( window )
systray_show => pas de sortie
systray_hide => pas de sortie
A cause du bug apparu sous lucid, obliger de passer par des callbacks pour show/hide les windows si position renseignée (mouse, center...). Le même problème pour les systray. Surement tous les widgets avec leur propre fenêtre poseront problème.
Dommage, ca ne posait pas de problème sous hardy .... J'espère que cela ne s'aggravera pas avec les nouvelles versions de python-glade.
option de commande:
--systray="menu1@gtk-yes@Texte infobulle"
icon name ou fichier image comme icone.
Attention, lorsque l'option systray est renseignée, le systray est lancé au démarrage.
Pour ne pas l'afficher, renseigner le signal systray_hide lors de l'apparition de la window (voir exemple)
Clic-droit pour lancer le menu
Clic-gauche, appel de la fonction my_systray dans le script associé. Il faudra impérativement cette fonction, même si elle n'est pas utilisée, sinon, plantage lors du clic
La doc n'est pas actualisée dans cette mise à jour.
@redisded
Teste cette version, logiquement il n'y aura plus de bug, lorsqu'on clic dans un blanc d'un treeview, la valeur None est retournée.
Sinon, je ferais different pour ton script main_widow.compteur_series.sh (t'aime bien les points dans les noms ?:))
Si j'ai compris, tu veux supprimer la selection via le menu-contextuel.
Renseignes le treeview, signal cursor-changed => on_treeview, signal button_release_event => on_menu
la fonction sera lancée avec la sélection comme argument. Lors du clic dans menu, variable déjà chargée.
treeview_lire_serie () {
selection=$1
}
supprimer() {
if [ "$selection" != "None" ]; then
zenity --info --text="$selection"
fi
}
EDIT:
@ redisded: Vu la taille de tes GUI, je mettrais tout dans le même glade, et un seul script associé. Tu auras toutes les varaiables accéssibles dans le script. Faire ça plutot dynamiquement ! (ca sera plus simple, ici, tu fais comme-ci c'était zenity )
Dernière modification par AnsuzPeorth (Le 23/05/2010, à 23:46)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#98 Le 24/05/2010, à 00:34
- Hizoka
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Je vais faire mon mode neuneu...
Serait-possible de me faire un pas à pas pour un exemple assez complet afin que je puisse saisir le fonctionnement du logiciel ?
soit le glade : http://hizoka.funcenter.fr/glade.zip
J'ai essayé de regarder tes exemples afin de mettre les bonnes infos dans les différentes infos de glade.
1 - Comment lancer simplement le script pour faire apparaitre la gui ?
=> j'ai essayé pas mal de truc mais soit il attend et ne lance rien soit il plante...
2 - Pour bien comprendre
=> comment faire apparaitre dans le textview le choix des sélecteurs de fichiers ?
=> Retourner la valeur des boutons à 2 choix
3 - Pour compliquer un peu les choses : retourner le résultat de "mkvmerge -I fichier_mkv" dans le textview
4 - Retourner le résultat modifié d'un "mkvmerge -I fichier_mkv" dans le tree
Les autres questions viendront apres...
Vraiment désolé d'être aussi lourd mais j'ai un peu de mal à saisir comment ça fonctionne vu que mes tests ne se lancent pas...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#99 Le 24/05/2010, à 00:54
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Serait-possible de me faire un pas à pas pour un exemple assez complet afin que je puisse saisir le fonctionnement du logiciel ?
Dans la doc y a un petit exemple ! Mais je ferais un how-to (j'essaierais, suis pas doué pour ça ...!)
J'ai essayé de regarder tes exemples afin de mettre les bonnes infos dans les différentes infos de glade.
Ca l'air bon, il manque juste qqles callbacks sur les boutons.
1 - Comment lancer simplement le script pour faire apparaitre la gui ?
=> j'ai essayé pas mal de truc mais soit il attend et ne lance rien soit il plante....
Comme les exemples, les go_*.sh
Dans ton glade, la window est réglé sur invisible, donc ton script se lance mais la window est cachée.
2 - Pour bien comprendre
=> comment faire apparaitre dans le textview le choix des sélecteurs de fichiers ?.
Le textview affiche un texte depuis un fichier. Il faut donc remplir se fichier et utiliser la commande TEXT@LOAD
=> Retourner la valeur des boutons à 2 choix
toggled => on_toggled. Lance la fonction correspondante au nom avec True ou False en argument.
3 - Pour compliquer un peu les choses : retourner le résultat de "mkvmerge -I fichier_mkv" dans le textview
Comme plus haut, c'est un fichier à afficher.
4 - Retourner le résultat modifié d'un "mkvmerge -I fichier_mkv" dans le tree
Ca dépends, soit tu modifie une cellule
TREE@CELL
ou tu modifie le fichier et recharge le tree (si tu es passé par un fichier pour charger le tree !)
TREE@LOAD
Vraiment désolé d'être aussi lourd mais j'ai un peu de mal à saisir comment ça fonctionne vu que mes tests ne se lancent pas...
Utilise le Test.glade dans présentation, ajoute widget par widget en testant à mesure, c'est fait pour
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#100 Le 24/05/2010, à 01:25
- AnsuzPeorth
Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.
Je vais essayer de détailler un peu (ce fera une ébauche pour le how-to).
Pour récupérer la valeur d'un filechooserbutton et l'envoyer dans un textview:
glade:
_filechooser, signal selection-changed => on_clicked
_textview1
scrip associé:
function _filechooser()
{
echo "GET@_filechooser.get_filename()"
echo "ITER@AfficheTextView"
}
function AfficheTextView()
{
echo $_filechooser_get_filename > /tmp/fichier.txt
echo "TEXT@LOAD@ _textview1@/tmp/fichier.txt"
}
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne