Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1401 Le 12/08/2011, à 18:09

YannUbuntu

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ok, merci !


à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison

Hors ligne

#1402 Le 14/08/2011, à 16:11

redisded

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Bonjour à tous.

Après plusieurs mois d’absence, je me décide à retenter de prendre en main glade2script (en fait j'avais pas mal avancé au début, mais avec toutes les modifications faites, plus aucun de mes scripts ne fonctionne).

J'ai donc entrepris de recommencer un petit script simple pour me faire la main.

Le script fonctionne comme je le souhaite, par contre, je ne récupère jamais la main dans le terminal, a moins d’enchaîner un CTRL+C et un CTRL+Z.

Je vous livre les deux scripts, au besoin j'uploaderais le glade, mais je ne pense pas que cela ai de lien.

Les deux scripts sont vraiment basiques, pour infos, ils servent simplement à afficher diverses infos sur un film.


Le script de base d'abord (celui qui lance l'interface) :

#!/bin/bash

echo $1 >/tmp/details_film
glade2script.py -g ./main_window.glade
exit

Puis le script associé au glade :

#!/bin/bash
PID=$$
FIFO=/tmp/FIFO${PID}
mkfifo $FIFO
##########################################################################################

nom_fichier=$(basename "$(cat /tmp/details_film)")
source "/home/red/raid/.Synopsis/$nom_fichier.syn"
echo -e "$details" >/tmp/details
echo -e "$synopsis" >/tmp/synopsis
echo "SET@_label1.set_markup(' <b> $titre </b> ')"
echo "TEXT@@LOAD@@_textview1@@/tmp/details"
echo "IMG@@_image1@@"/home/red/raid/.Synopsis/$nom_fichier.jpg"@@200@@200"
echo "TEXT@@LOAD@@_textview2@@/tmp/synopsis"

##########################################################################################
while read ligne; do
    if [[ "$ligne" =~ GET@ ]]; then
       eval ${ligne#*@}
       echo "DEBUG => in boucle bash :" ${ligne#*@}
    else
       echo "DEBUG=> in bash NOT GET" $ligne
       $ligne
   fi 
done < <(while true; do
    read entree < $FIFO
    [[ "$entree" == "QuitNow" ]] && break
     echo $entree   
done)
exit

Merci d'avance à tous ceux qui pourraient m'aider à comprendre mon erreur.

Cordialement,

Redisded.

Hors ligne

#1403 Le 14/08/2011, à 18:38

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ouais upload le tout qu'on teste ce que ça donne smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1404 Le 14/08/2011, à 18:53

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Bjr,
Pour que le terminal rendre la main, il faut que tu quitte ton appli (close la window). Si tu n'as mis aucun signal/callabck pour cela, c'est normal que cela ne rende pas la main.

Tu peux soit utiliser la callback on_clicked sur le signal clicked d'un bouton, dans la fonction associer, appeler la commande G2S EXIT@@.
Si tu ne veux pas passer par ton script en quittant, tu peux utiliser directement le callback gtk_widget_destroy sur le signal destroy de la window (il sera appelé lors du clic sur la croix de fermeture), ou alors le mettre sur le signal clicked d'un bouton.

Sinon, autant prendre de bonne habitude, dans ton exemple ce n'est pas primordial, mais il est préférable de lancer les fonctions de démarrage en arrière plan, pour que ton script se bloque sur la boucle de fin ce qui lui permettra de récup les infos venant du gui.

#!/bin/bash
PID=$$
FIFO=/tmp/FIFO${PID}
mkfifo $FIFO
##########################################################################################
start() 
{
nom_fichier=$(basename "$(cat /tmp/details_film)")
source "/home/red/raid/.Synopsis/$nom_fichier.syn"
echo -e "$details" >/tmp/details
echo -e "$synopsis" >/tmp/synopsis
echo "SET@_label1.set_markup(' <b> $titre </b> ')"
echo "TEXT@@LOAD@@_textview1@@/tmp/details"
echo "IMG@@_image1@@"/home/red/raid/.Synopsis/$nom_fichier.jpg"@@200@@200"
echo "TEXT@@LOAD@@_textview2@@/tmp/synopsis"
}
start &
##########################################################################################
while read ligne; do
    if [[ "$ligne" =~ GET@ ]]; then
       eval ${ligne#*@}
       echo "DEBUG => in boucle bash :" ${ligne#*@}
    else
       echo "DEBUG=> in bash NOT GET" $ligne
       $ligne
   fi 
done < <(while true; do
    read entree < $FIFO
    [[ "$entree" == "QuitNow" ]] && break
     echo $entree   
done)
exit

Si tu pose un callback on_clicked sur le bouton btn_quit pour le signal clicked par exemple, il faudra ajouter la fonction suivante pour quitter

btn_quit()
{
    echo 'EXIT@@'
}

Merci d'avoir répondu Hizo wink


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#1405 Le 14/08/2011, à 19:38

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

je voulais voir comme tu le dis, les signaux du glade.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1406 Le 16/08/2011, à 18:55

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Salut les gars

y a pas un probleme avec la version 3.8.0 de glade ?
j'arrive pas à passé le nom par exemple pour un on_hide ... sa ecrit et des que je passe au widget suivant et que je revient dessus le nom du widget a disparu...

suis je seul ?


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1407 Le 17/08/2011, à 08:31

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

non, ca vient bien de glade, il faut se taper les modifs à la main.

tres galere ca...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1408 Le 17/08/2011, à 08:51

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

ah oui c'est exactement ce que j'ai mai c'est pas aisé de naviguer dans les balise xml. encore pire j'ai mis à gnome (donc 3. quelques chose ) via un ppa et la glade n'ouvre meme plus les ancien projet...


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1409 Le 17/08/2011, à 09:49

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

va y avoir des probleme avec les futur version de glade, il ne donne plus le choix entre gtkbuilder et glade ...
j'ai créer vite fait une interface avec la version 3.10 de glade et g2s ne pas pu la lancé... j'ai eu le meme message que quand j'avais créer une interface en gtkbuilder au lieu libglade.

voici le message de la console.

glade2script 2.2.1 , Copyright (C) 2010-2011 , mars 2011

(glade2script.py:6181): libglade-WARNING **: Expected <glade-interface>.  Got <interface>.

(glade2script.py:6181): libglade-WARNING **: did not finish in PARSER_FINISH state
Traceback (most recent call last):
  File "./glade2script.py", line 2048, in <module>
    m=Gui()
  File "./glade2script.py", line 541, in __init__
    else: self.widgets = gtk.glade.XML( f_glade ) 
RuntimeError: could not create GladeXML object

voila si sa peut aider pour le futur de g2s...


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1410 Le 17/08/2011, à 16:31

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Si c'est un bug glade, ca va s'arranger, les devs ont bien du s'en apercevoir !

Sinon, pour le soucis gtkbuilder, g2s est compatible, suffit d'ajouter l'option gtkbuilder au lancement (cf doc ...)
Mais comme on n'a plus le choix, pour la prochaine MAJ, je mettrais gtkbuilder par defaut, une option pour libglade (qui de toute façon va disparaitre)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#1411 Le 17/08/2011, à 20:33

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

si si, on a le choix...

nouveau projet
=> édition => préférences
et là tu as l'ancienne fenêtre.

Pour ceux qui veulent la v 3.8 : http://pkgs.org/package/glade

et la 3.10 : https://launchpad.net/ubuntu/oneiric/+s … 0-3ubuntu1

Peut-on utiliser la version gtk3 avec g2s ?

Si c'est un bug glade, ca va s'arranger, les devs ont bien du s'en apercevoir !

je pense pas vu que ce bug est present depuis quelques versions et que la 2.8 est la derniere pour gtk2

Dernière modification par Hizoka (Le 17/08/2011, à 21:55)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1412 Le 18/08/2011, à 11:57

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Peut-on utiliser la version gtk3 avec g2s ?

Non, pas pour l'instant. Quel distrib utilise deja gtk3 ? Que j'essaie en live.

Sinon, il y a un script de conversion gtk2>gtk3 http://git.gnome.org/browse/pygobject/t … convert.sh mais le git ne répond pas aujourd'hui.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#1413 Le 18/08/2011, à 12:07

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

AnsuzPeorth a écrit :

Quel distrib utilise deja gtk3 ? Que j'essaie en live.

Fedora je crois ? ...

sinon pour filechoose "d'enregistrement" il faut rajouté un signal pour qu'une saisie manuelle soit recuperé j'imagine... mais ou faut le placer et quel callback ? (j'ai essayer on_entry mais sa fonctionne pas)


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1414 Le 18/08/2011, à 12:14

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

yakusa77 a écrit :

sinon pour filechoose "d'enregistrement" il faut rajouté un signal pour qu'une saisie manuelle soit recuperé j'imagine... mais ou faut le placer et quel callback ? (j'ai essayer on_entry mais sa fonctionne pas)

Pas compris !


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#1415 Le 18/08/2011, à 12:26

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

un filechooser reglé sur enregistrement de fichier y a un champ en haut pour saisir un nom manuellement, et bien pour recupéré cette valeur le callback on_filechoose sur selection-changed ne suffit pas...


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1416 Le 18/08/2011, à 12:31

frafa

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Bonjour,
tu as Gentoo qui est aussi sous Gnome 3.0
http://distrowatch.com/?newsid=06830

Dernière modification par frafa (Le 18/08/2011, à 12:32)

Hors ligne

#1417 Le 18/08/2011, à 19:14

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

yakusa77 => normalement ça passe...

perso :

on_filechoose sur selection-changed de la fenetre du filechoose
on_hide sur clicked du bouton valider
on_clicked sur clicked du bouton valider

la fonction en lien avec la fenetre :

function _selection_fichier { [[ ${@} =~ clicked ]] && echo 'GET@_selection_fichier.get_uris()' || adresse=${@}; }

la fonction en lien avec le bouton valider envoie l'info dans une entry afin que l'user voit le resultat.

function confirmation_choix
{
[[ -z ${adresse} ]] && adresse="${sortie_fichier%.*}"
[[ -z ${adresse} ]] && adresse="${HOME}/Screencastor.${sortie_extension_video}"

if [[ ${video_no} != True ]]
then
    echo "SET@_sortie_fichier.set_text('${adresse}.${sortie_extension_video}')"
else
    echo "SET@_sortie_fichier.set_text('${adresse}.${sortie_extension_audio}')"
fi
}

voila... à toi de voir, si ca passe pas, envoie ton script avec le glade


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1418 Le 18/08/2011, à 19:36

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

Merci pour ta proposition hizoka. Je vais tester sa mais apparament ansuz a chercher et il qu'il trouve pas alors. Ba je vais tenter ta proposition quand meme .


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1419 Le 18/08/2011, à 19:39

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

sinon, tu envoie le tout et tu dis ce que tu veux faire exactement smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1420 Le 18/08/2011, à 20:39

AnsuzPeorth

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

@Frafa
Thx pour l'info, mais Gentoo, avant qu'il y ai un truc utilisable, il me faudra 3 plombe smile

@yakusa77
Ce que propose Hizoka, c'est ce qu'il y a déjà dans ton script. Pour avoir ce que tu souhaite (avoir la modif de l'entry), je suis un con, en fermant l'ordi tout à l'heure ca m'est revenu (manque de pratique g2s...) .Suffit d'ajouter le callback on_filechoose sur le bouton valider de la filechooserdialog avec le nom de la boite en user_data, passer le callback on_clicked en connect_after (petit case a cocher), comme ca, lorsque tu clic, c'est bien le fichier avec le nom l'entry modifié qui sera utilisé.

@Hizoka
thx wink

Dernière modification par AnsuzPeorth (Le 18/08/2011, à 20:40)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#1421 Le 18/08/2011, à 21:07

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

@Ansuz: ok alors sa fonctionne mais pas du premier coup ! je t'envoie pour que tu comprenne:rolleyes:


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1422 Le 18/08/2011, à 23:04

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

pas tout suivit là...

Soit 3 widgets :
1) le filechooser nommé : _filechooser
2) la boite d'entrée qui affiche le retour nommé : _entry
3) le bouton valider du filechooser nommé : btn_valide

il faut donc donner les call back suivants :
1) on_filechoose sur selection-changed du widget _filechooser
2) on_hide liant vers _filechooser sur clicked du bouton btn_valide
3) on_filechoose liant vers _entry sur clicked du bouton btn_valide avec connect_after

c'est bien ça ?
Si oui, j'y arrive pas, sinon alors c'est moi (comme svt...)

Dernière modification par Hizoka (Le 18/08/2011, à 23:06)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1423 Le 18/08/2011, à 23:23

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

c'est bien sa hizo


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne

#1424 Le 18/08/2011, à 23:51

Hizoka

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

non pas tout à fait smile

1) on_filechoose sur selection-changed du widget _filechooser

=> plus besoin en fait

2) on_hide liant vers _filechooser sur clicked du bouton btn_valide

oui

3) on_filechoose liant vers _entry sur clicked du bouton btn_valide avec connect_after

non, il faut lier vers _filechooser et non _entry, et pas de connect after
donc ca donne :

on_filechoose liant vers _filechooser sur clicked du bouton btn_valide

et il faut mettre une action sur le bouton btn_valide

on_clicked sur clicked du bouton btn_valide avec connect after

et les fonctions

function _filechooser { lien="$@" ; }
function btn_valide { echo "SET@_entry.set_text(${lien})" ; }

KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#1425 Le 20/08/2011, à 17:57

yakusa77

Re : [glade2script-GTK2] Interface graphique pour script bash ou autre.

bon encore un question stupîde :

y a t il un moyen pour que la fenetre revienne a sa taille initial apres une action sur un expander

voir image ci dessous
initial

expander

pour eviter sa en faite...
re-initial

Dernière modification par yakusa77 (Le 20/08/2011, à 18:00)


De vraies interfaces graphique pour vos scripts shell
"Précise 64" | AMD phenom II x4 black édition 965

Hors ligne