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.

#26 Le 03/08/2011, à 17:30

frafa

Re : Multisystem, discuter de son évolution ...

Salut smile
ça n'enlève rien aux qualitées de glade2script,
j'avait commencé a séparer pas mal de fonctions en vue de migrer sous glade2script
mais aux vues de l'enorme travail que cette migration représentait,
je t'avoue que ça m'enlève une grosse épine du pied....

je sait maintenant que gtjdialog3 est sur des rails
avec support de glade et de pleins de nouveaux widgets à venir,
et notament la possibilité d'appeler les onglets via une action,
du coup en masquant tous les onglets et en les appelant via une action
cela va permettre de faire des gui vraiment évolués.

Hors ligne

#27 Le 09/08/2011, à 18:27

AnsuzPeorth

Re : Multisystem, discuter de son évolution ...

ça n'enlève rien aux qualitées de glade2script,

C'est pas du tout la même approche, gtkdialog est uniquement en utilisation statique (on ne peut pas travailler dans le même environnement, on ne peut pas non plus modifier le gui depuis le bash)

je t'avoue que ça m'enlève une grosse épine du pied

C'est sur, mais ca t'aurais permis plus de chose ...

et notament la possibilité d'appeler les onglets via une action,
du coup en masquant tous les onglets et en les appelant via une action
cela va permettre de faire des gui vraiment évolués.

Mais il faudra tjrs une action user pour ça, avec g2s, on peut faire ça depuis bash ...

Frafa, mets toi au pygtk bon sang big_smile


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

Hors ligne

#28 Le 09/08/2011, à 20:33

frafa

Re : Multisystem, discuter de son évolution ...

@AnsuzPeorth
Salut smile

Action pour activer notebook va arriver:
http://code.google.com/p/gtkdialog/issues/detail?id=19
et widget terminal vte aussi:
http://code.google.com/p/gtkdialog/issues/detail?id=21
pas besoin de plus pour faire un gui sympas sans popup et xterm casse c******s
dans MultiSystem.

C'est un bon en "c" Thunor,
gtkdialog n'a plus grand chose à voir avec ce qu'il etait,
il à viré quasi tous les bugs chiants,
ajouté tout un tas d'actions signals indispensables qui n'existaient pas,
ajouté déjà pas mal de widgets vscale, hscale, separator,  ...
les menus ont grandement évolués, pareil pour les boutons et pixmaps
supportent changement d'inage sur refresh,
bref ce n'est plus du tout l'outil que l'on a connu...

Mais oui je finirait par me mettre à pygtk,
mais sur un autre projet je pense ...

Dernière modification par frafa (Le 09/08/2011, à 22:29)

Hors ligne

#29 Le 13/08/2011, à 17:23

frafa

Re : Multisystem, discuter de son évolution ...

Bonjour,
je vous détaille les modifs à venir dans multisystem,
je m'y met des que Thunor aura ajouté dans gtkdialog la possibilité
d'appeler un onglet masqué via un bouton avec action,
ainsi que le widget terminal VTE.

je vous liste ce que j'ai en tête comme modifs importantes:

-Faire un vrai Drag And Drop avec action
<action signal="changed">...</action>
(actuellement il faut bouger le pointeur ou cliquer)

-Virer tous les xterm, intégrer dans le gui principal un onglet terminal VTE masqué,
et rediriger chaque action vers le terminal VTE, puis revinir sur le gui preincipal après.

-Revoir les dimmensions de l'interface, je pense que la prochaine version sera rectangulaire,
genre 400x600.

-Voir éventuellement pour remettre les menus, car maintenant ils fonctionnent correctement.

-Profiter du scroll sur tous les hbox et vbox, car c'est maintenant possible

-Refaire le premier gui de détection avec un bouton refresh qui détecte les perifs USB.

-Nettoyer le code, y a du taf car certaines parties datent, et bon c'etait mes débuts en bash ...
y aura du taf pour les volontaires sur cette partie...

-En attandant que gtkdialog revienne dans ubuntu, debian, et cie,
maintenir les versions 32 et 64Bits dans mon depôt,
aide bienvenue sur cette partie, car packager, je n'ai pas vraiment l'habitude ...

-Si vous avez d'autres des suggestions, n'hésitez pas c'est le moment ...
François

Dernière modification par frafa (Le 13/08/2011, à 17:24)

Hors ligne

#30 Le 29/09/2011, à 16:21

frafa

Re : Multisystem, discuter de son évolution ...

Bonjour,
Pour info j'ai packagé en .deb la nouvelle version de gtkdialog "Gtkdialog 0.8.0 source package"
Post: http://forum.ubuntu-fr.org/viewtopic.ph … 1#p6334481

Sources par là: http://code.google.com/p/gtkdialog/downloads/list

Merci à Thunor pour tout le travail fait et à venir sur gtkdialog smile
il m'a promis pour la 0.8.1 l'ajout d'un widget terminal VTE
une fois cela fait à mon gout gtkdialog sera devenu un superbe outil.

Liste des widget dispo actuellement: http://code.google.com/p/gtkdialog/w/list
Quasi tous ont été reecrits, avec plein de nouvelles possibilitées,
sans oublier tous les nouveaux venus qui manquaient smile

Pour les curieux allez fouiller là:
http://www.murga-linux.com/puppy/viewtopic.php?t=69188
Et là:
http://www.murga-linux.com/puppy/viewtopic.php?t=38608

François

Dernière modification par frafa (Le 29/09/2011, à 16:27)

Hors ligne

#31 Le 03/10/2011, à 17:35

frafa

Re : Multisystem, discuter de son évolution ...

Bonjour,
Ce post juste pour vous signaler que la nouvelle version de gtkdialog 0.8.0 réalisée par Thunor
est maintenant disponible .deb dans mon dépôt.

gtkdialog: http://code.google.com/p/gtkdialog/downloads/list

## Depôt MultiSystem
deb http://liveusb.info/multisystem/depot all main
#deb-src http://liveusb.info/multisystem/depot all main
#wget -q http://liveusb.info/multisystem/depot/multisystem.asc -O- | sudo apt-key add -

Dernière modification par frafa (Le 04/10/2011, à 11:26)

Hors ligne

#32 Le 04/10/2011, à 10:34

YannUbuntu

Re : Multisystem, discuter de son évolution ...

salut
peut-etre devrais-tu creer une nouvelle discussion intitulee "Reprise du developpement de gtkdialog" ...


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

Hors ligne

#33 Le 05/10/2011, à 19:00

Tomzz

Re : Multisystem, discuter de son évolution ...

Bonjour,
@frafa
Existe t'il quelque part une description de l’évolution de la syntaxe de Gtkdialog, parce que mes scripts ne marchent plus avec la nouvelle version sad

Je soupçonne une différence dans l'utilisation de variables dans la génération des boites de dialogue exemple:

<hbox>
                                            <text>
                                                <label>Nom du serveur</label>
                                            </text>
                                            <entry>
                                                <variable>choix</variable>
                                                <default>'${choix}'</default>
                                            </entry>
                                        </hbox>

La valeur de ${choix} (idem pour les autres variables) reste inchangée malgré cette boucle:

while [ "${EXIT}" = "closewindow" ]
        do

            ## Si on a recherché dans le répertoire on récupère les variables
            [ -e "${rept}/serveurs/navigateur-tunnel.conf" ] && eval $(cat ${rept}/serveurs/navigateur-tunnel.conf)
            eval $(cat ${rept}/tmp/serveur.txt)
            [ -z "${nav}" ] && nav="Commande de votre navigateur"
            [ -z "${portw}" ] && portw="1234"



            export MAIN_DIALOG='<window title="Connectez-vous à un serveur SSH." decorated="true" window_position="1" icon-name="gtk-network">
                                    <vbox>
                                        <hbox>
                                            <button>
                                                <input file>"/usr/share/ssh-directory/log_ico.png"</input>
                                                <label>Serveurs dispos</label>
                                                <action>server-directory</action>
                                                <action type="closewindow">fermeture</action>
                                            </button>
                                            <text>
                                                <label>Commande navigateur tunnel Web</label>
                                            </text>
                                            <entry>
                                                <variable>nav</variable>
                                                <default>'${nav}'</default>
                                            </entry>
                                        </hbox>
                                        <hbox>
                                            <text>
                                                <label>Nom du serveur</label>
                                            </text>
                                            <entry>
                                                <variable>choix</variable>
                                                <default>'${choix}'</default>
                                            </entry>
                                        </hbox>
                                        <hbox>
                                            <text>
                                                <label>Nom d utilisateur</label>
                                            </text>
                                            <entry>
                                                <variable>nom</variable>
                                                <default>'${nom}'</default>
                                            </entry>
                                            <text>
                                                <label>Adresse IP ou nom de domaine</label>
                                            </text>
                                            <entry>
                                                <variable>ipdns</variable>
                                                <default>'${ipdns}'</default>
                                            </entry>
                                            <text>
                                                <label>Port utilisé</label>
                                            </text>
                                            <entry>
                                                <variable>port</variable>
                                                <default>'${port}'</default>
                                            </entry>
                                            
                                        </hbox>
                                        <hbox homogeneous="true">
                                            <text>
                                                <label>Port tunnel Web</label>
                                            </text>
                                            <entry>
                                                <variable>portw</variable>
                                                <default>'${portw}'</default>
                                            </entry>
                                            <text>
                                                <label>Type de connexion</label>
                                            </text>
                                            <combobox>
                                                <variable>type</variable>
                                                <item>Console</item>
                                                <item>Nautilus</item>
                                                <item>VNC</item>
                                                <item>Apps_graphiques</item>
                                                <item>Tunnel_Web</item>
                                            </combobox>
                                        </hbox>
                                        <hbox homogeneous="true">
                                            <button>
                                                <label>Connecter</label>
                                            </button>
                                            <button>
                                                <label>Enregistrer nouveau serveur</label>
                                            </button>
                                            <button>
                                                <label>Annuler</label>
                                            </button>
                                            <button>
                                                <label>Supprimer un serveur</label>
                                                <action>nautilus "'${rept}'/serveurs" &</action>
                                                <action type="closewindow">fermeture</action>
                                            </button>
                                        </hbox>
                                    </vbox>
                                </window>'

            eval $(gtkdialog --program=MAIN_DIALOG)
            
            [ "${nav}" == "Commande de votre navigateur" ] && nav="xdg-open http://www.2aide.fr"
            
            echo "nav=\"${nav}\"; portw=\"${portw}\"" > ${rept}/serveurs/navigateur-tunnel.conf

            
            if [ "${EXIT}" = "Enregistrer nouveau serveur" ]; then
                {
                    if [ ! -e "${rept}/serveurs/${choix}" ]; then
                        {
                            echo "choix=\"${choix}\"; nom=\"${nom}\"; ipdns=\"${ipdns}\"; port=\"${port}\"; portw=\"${portw}\"" > ${rept}/serveurs/${choix}
                            cp ${rept}/serveurs/${choix} ${rept}/tmp/serveur.txt
                            EXIT="closewindow"
                        }
                    else
                        {
                            zenity --question --ok-label="Annuler" --cancel-label="Remplacer" --title="Le serveur existe déjà" --text="Un serveur du même nom est déjà enregistré\nVoulez vous le remplacer ?."
                            if [ $? == "1" ]; then
                                {
                                    echo "choix=\"${choix}\"; nom=\"${nom}\"; ipdns=\"${ipdns}\"; port=\"${port}\"; portw=\"${portw}\"" > ${rept}/serveurs/${choix}
                                    cp ${rept}/serveurs/${choix} ${rept}/tmp/serveur.txt
                                    EXIT="closewindow"
                                }
                            fi
                        }
                    fi
                }
            fi
        done

Alors que cela marche parfaitement si je downgrade Gtkdialog.
Le soucis c'est que j'ai mis moi aussi Gtkdialog sur mon dépôt, j'ai laissé la vielle version mais quelqu'un qui a les deux dépôts activés se retrouve avec une m a j de Gtkdialog provenant de multisystem qui casse mes scripts.

J'ai donc intérêt à utiliser la même version que toi.


J'ai un autre soucis présent aussi avec la nouvelle version.
Dans un autre script j'ai une barre de menu et sous Unity cette barre de menu est réduite à un ou deux pixels d’épaisseur et est donc inutilisable.
Je rencontre ce problème uniquement avec Unity (sous 11.04), avec Xfce sur la même machine pas de soucis.

PS: Si un autre post a été crée spécifiquement pour Gtkdialog dites moi je déplacerai mes questions.

Hors ligne

#34 Le 05/10/2011, à 19:47

frafa

Re : Multisystem, discuter de son évolution ...

@Tomzz
Bonjour,

Normalement Thunor nous à garanti une compatibilité en upgrade de la syntaxe

Tu ne déclare pas certaines $VAR
choix/choix/ipdns/port
si je rajoute la declaration des var manquantes, le gui est ok pour moi avec gtkdialog 0.8.0 ...

[ -z "${choix}" ] && choix=test
[ -z "${nom}" ] && nom=test
[ -z "${ipdns}" ] && ipdns=test
[ -z "${port}" ] && port=test

Hors ligne

#35 Le 05/10/2011, à 20:51

Tomzz

Re : Multisystem, discuter de son évolution ...

Merci,
Oui, mes variables sont déclarées par cette ligne:

eval $(cat ${rept}/tmp/serveur.txt)

Le fichier serveur.txt contient soit les dernières valeurs choisies, soit des valeurs par défaut définies de cette façon:

        [ ! -e "${rept}/tmp/serveur.txt" ] && echo "choix=\"0\"; nom=\"0\"; ipdns=\"127.1.1.1\"; port=\"22\"; portw=\"1234\"" > ${rept}/tmp/serveur.txt

Bon, même si ce n'est pas vraiment l'endroit je colle la totalité du code pour aider a la compréhension:

#!/bin/bash
##


###################################################################################################################################################
## Copyright (C) 2010 www.2aide.fr                                                                                                               ##
##                                                                                                                                               ##
## Ce programme est un logiciel libre, vous pouvez le redistribuer et / ou le modifier selon les termes de la Licence Publique Générale GNU      ##
## telle que publiée par la Free Software Foundation; soit la version 2 de la Licence, ou (à votre choix) toute version ultérieure.              ##
##                                                                                                                                               ##
## Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE, sans même la garantie implicite de COMMERCIALISATION    ##
## ou D'ADAPTATION A UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU, disponible ici http://www.opensource.org/licenses/gpl-2.0.php  ##
## pour plus de détails.                                                                                                                         ##
##                                                                                                                                               ##
## Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec ce programme, sinon, écrivez à                                     ##
## Free Software Foundation, Inc, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA                                                          ##
##                                                                                                                                               ##
##                                                                                                                                               ##
##                                  En 2 mots, vous étes libre d'utiliser, de copier et de distribuer ce programme                               ##
##                                  à condition de soumettre votre copie à la même licence GPL v-2 ou ultérieure                                 ##
##                                                                                                                                               ##
###################################################################################################################################################

## Répertoire de travail, ce paramètre ne devrait pas être modifié
# /!\ pas de "/" à la fin du chemin
rept="$HOME/.ssh-directory"

## On vérifie qu'il n'y ai pas d'autre instance de ce script en cours, et on propose de la stopper le cas échéant
if [ -s /tmp/ssh-directory.LOCK ]; then
    {
        echo "#!/bin/bash
        ##

        rm /tmp/ssh-directory.LOCK ; rm ${rept}/tmp/stop.sh ; killall ssh-directory ; killall gtkdialog ; killall zenity ; exit 0" > ${rept}/tmp/stop.sh

        chmod +rx ${rept}/tmp/stop.sh
        zenity --question --ok-label="Réinitialiser" --timeout="20" --text="Une autre instance de l'application est déjà en cours\.\nVous pouvez tout réinitialiser manuellement." || exit 0
        zenity --question --ok-label="Stopper" --timeout="20" --text="Vous allez stopper toutes les instances de cette application.\nÊtes vous sûr?" || exit 0
        sh ${rept}/tmp/stop.sh
        exit 0
    }
fi

## Création du fichier de verrouillage ne permettant qu'une instance unique.
echo ";-)" > /tmp/ssh-directory.LOCK

## Vérification de l'existence des répertoires de configuration et création le cas échéant
if [ ! -d "${rept}" ]; then
    {
        mkdir "${rept}"
    }
fi
if [ ! -d "${rept}/tmp" ]; then
    {
        mkdir "${rept}/tmp"
    }
fi
if [ ! -d "${rept}/serveurs" ]; then
    {
        mkdir "${rept}/serveurs"
    }
fi

if [ ! -e "$HOME/.remmina/ssh-directory.remmina" ]; then
    {
        [ ! -d "$HOME/.remmina" ] && mkdir $HOME/.remmina
        cp "/usr/share/ssh-directory/ssh-directory.remmina" "$HOME/.remmina/ssh-directory.remmina"
    }
fi

while true
    do
        ## Si aucun choix précédent n'a été enregistré on prend un choix par défaut
        [ ! -e "${rept}/tmp/serveur.txt" ] && echo "choix=\"0\"; nom=\"0\"; ipdns=\"127.1.1.1\"; port=\"22\"; portw=\"1234\"" > ${rept}/tmp/serveur.txt

        ## Boucle pour relancer la fenêtre à chaque recherche dans le répertoire
        EXIT="closewindow"
        while [ "${EXIT}" = "closewindow" ]
        do

            ## Si on a recherché dans le répertoire on récupère les variables
            [ -e "${rept}/serveurs/navigateur-tunnel.conf" ] && eval $(cat ${rept}/serveurs/navigateur-tunnel.conf)
            eval $(cat ${rept}/tmp/serveur.txt)
            [ -z "${nav}" ] && nav="Commande de votre navigateur"
            [ -z "${portw}" ] && portw="1234"



            export MAIN_DIALOG='<window title="Connectez-vous à un serveur SSH." decorated="true" window_position="1" icon-name="gtk-network">
                                    <vbox>
                                        <hbox>
                                            <button>
                                                <input file>"/usr/share/ssh-directory/log_ico.png"</input>
                                                <label>Serveurs dispos</label>
                                                <action>server-directory</action>
                                                <action type="closewindow">fermeture</action>
                                            </button>
                                            <text>
                                                <label>Commande navigateur tunnel Web</label>
                                            </text>
                                            <entry>
                                                <variable>nav</variable>
                                                <default>'${nav}'</default>
                                            </entry>
                                        </hbox>
                                        <hbox>
                                            <text>
                                                <label>Nom du serveur</label>
                                            </text>
                                            <entry>
                                                <variable>choix</variable>
                                                <default>'${choix}'</default>
                                            </entry>
                                        </hbox>
                                        <hbox>
                                            <text>
                                                <label>Nom d utilisateur</label>
                                            </text>
                                            <entry>
                                                <variable>nom</variable>
                                                <default>'${nom}'</default>
                                            </entry>
                                            <text>
                                                <label>Adresse IP ou nom de domaine</label>
                                            </text>
                                            <entry>
                                                <variable>ipdns</variable>
                                                <default>'${ipdns}'</default>
                                            </entry>
                                            <text>
                                                <label>Port utilisé</label>
                                            </text>
                                            <entry>
                                                <variable>port</variable>
                                                <default>'${port}'</default>
                                            </entry>
                                            
                                        </hbox>
                                        <hbox homogeneous="true">
                                            <text>
                                                <label>Port tunnel Web</label>
                                            </text>
                                            <entry>
                                                <variable>portw</variable>
                                                <default>'${portw}'</default>
                                            </entry>
                                            <text>
                                                <label>Type de connexion</label>
                                            </text>
                                            <combobox>
                                                <variable>type</variable>
                                                <item>Console</item>
                                                <item>Nautilus</item>
                                                <item>VNC</item>
                                                <item>Apps_graphiques</item>
                                                <item>Tunnel_Web</item>
                                            </combobox>
                                        </hbox>
                                        <hbox homogeneous="true">
                                            <button>
                                                <label>Connecter</label>
                                            </button>
                                            <button>
                                                <label>Enregistrer nouveau serveur</label>
                                            </button>
                                            <button>
                                                <label>Annuler</label>
                                            </button>
                                            <button>
                                                <label>Supprimer un serveur</label>
                                                <action>nautilus "'${rept}'/serveurs" &</action>
                                                <action type="closewindow">fermeture</action>
                                            </button>
                                        </hbox>
                                    </vbox>
                                </window>'

            eval $(gtkdialog --program=MAIN_DIALOG)
            
            [ "${nav}" == "Commande de votre navigateur" ] && nav="xdg-open http://www.2aide.fr"
            
            echo "nav=\"${nav}\"; portw=\"${portw}\"" > ${rept}/serveurs/navigateur-tunnel.conf

            
            if [ "${EXIT}" = "Enregistrer nouveau serveur" ]; then
                {
                    if [ ! -e "${rept}/serveurs/${choix}" ]; then
                        {
                            echo "choix=\"${choix}\"; nom=\"${nom}\"; ipdns=\"${ipdns}\"; port=\"${port}\"; portw=\"${portw}\"" > ${rept}/serveurs/${choix}
                            cp ${rept}/serveurs/${choix} ${rept}/tmp/serveur.txt
                            EXIT="closewindow"
                        }
                    else
                        {
                            zenity --question --ok-label="Annuler" --cancel-label="Remplacer" --title="Le serveur existe déjà" --text="Un serveur du même nom est déjà enregistré\nVoulez vous le remplacer ?."
                            if [ $? == "1" ]; then
                                {
                                    echo "choix=\"${choix}\"; nom=\"${nom}\"; ipdns=\"${ipdns}\"; port=\"${port}\"; portw=\"${portw}\"" > ${rept}/serveurs/${choix}
                                    cp ${rept}/serveurs/${choix} ${rept}/tmp/serveur.txt
                                    EXIT="closewindow"
                                }
                            fi
                        }
                    fi
                }
            fi
        done

        if [ "${EXIT}" = "Connecter" ]; then
            {
                if [ $type = "VNC" ]; then
                {
                    remmina |
                    ( xterm -title 'Connexion VNC' -e ssh -L 5901:localhost:5900 -XC "${nom}"@"${ipdns}" -p "${port}" )
                }
                fi
                if [ $type = "Console" ]; then
                {
                    xterm -title 'Connexion console' -e ssh "${nom}"@"${ipdns}" -p "${port}"
                }
                fi
                if [ $type = "Nautilus" ]; then
                {
                    nautilus ssh://"${nom}"@"${ipdns}":"${port}"
                }
                fi
                if [ $type = "Apps_graphiques" ]; then
                {
                    ( xterm -title 'Tunnel_http' -e ssh -X "${nom}"@"${ipdns}" -p "${port}" )
                }
                fi
                if [ $type = "Tunnel_Web" ]; then
                {
                    eval "${nav}" |
                    ( xterm -title 'Tunnel Web' -e ssh -D "${portw}" "${nom}"@"${ipdns}" -p "${port}" )
                }
                fi
            }
        fi
        zenity --question --timeout="20" --text="La connection est interrompue" --ok-label="Nouvelle connexion" --cancel-label="Abandon" || break
    done
rm /tmp/ssh-directory.LOCK ; exit 0

Hors ligne

#36 Le 05/10/2011, à 21:39

frafa

Re : Multisystem, discuter de son évolution ...

@Tomzz
Re
Bon je ne comprend pas ou est ton souci réexplique, pour moi ton gui foncionne ...
si je teste dans un champs entry sa valeur est bien recupérable via: echo ${choix}
si je change sa valeur, je recupère bien la nouvelle valeur ...
Exemple:

choix="Mon choix"
GTKDIALOG=gtkdialog
export MAIN_DIALOG='<hbox>
<text>
<label>Nom du serveur</label>
</text>
<entry>
<variable>choix</variable>
<default>'${choix}'</default>
</entry>
<button ok></button>
</hbox>'
eval $($GTKDIALOG --program=MAIN_DIALOG)
echo ${choix}

Hors ligne

#37 Le 05/10/2011, à 21:59

Tomzz

Re : Multisystem, discuter de son évolution ...

Bon tu as raison le problème ne vient pas des variable mais du rafraîchissement de la boite de dialogue.

Le problème est sans doute ici:

<button>
                                                <input file>"/usr/share/ssh-directory/log_ico.png"</input>
                                                <label>Serveurs dispos</label>
                                                <action>server-directory</action>
                                                <action type="closewindow">fermeture</action>
                                            </button>

qui correspond aux serveurs dispo:
1317844298.png
Qui me lance le script server-directory:

#!/bin/bash
##

## Recherche dans le carnet d'adresses
cd $HOME/.ssh-directory/serveurs
serv=$(zenity --file-selection --title="Sélectionnez le destinataire") || exit 0

## On copie la fiche du serveur dans le répertoire temporaire du script pour reproposer le même serveur lors de la prochaine utilisation
cp "${serv}" $HOME/.ssh-directory/tmp/serveur.txt

exit 0

qui va me permettre de choisir un fichier contenant justement toutes les valeurs des variables.

Avec la vielle version de Gtkdialog, après la sélection je reviens sur la première boite (après que celle-ci ai disparue furtivement)  mais en affichant les valeurs du fichier sélectionné.

Avec la nouvelle version je reviens aussi sur la première boite (mais ce coup ci la boite ne disparaît ps furtivement) mais je garde les anciennes valeurs.

Hors ligne

#38 Le 05/10/2011, à 22:32

frafa

Re : Multisystem, discuter de son évolution ...

Re,
moi j'ai des erreurs dans mon bash avec ta syntaxe,
par exemple
ne passe pas chez moi si je met "" a droite il faut que je les mette aussi à gauche ...

passe pas:

if [ $type = "Apps_graphiques" ]; then

passe:

if [ "$type" = "Apps_graphiques" ]; then

if [ $type = "Apps_graphiques" ]; then
> {
>                     ( xterm -title 'Tunnel_http' -e ssh -X "${nom}"@"${ipdns}" -p "${port}" )
> }
> fi
bash: [: = : opérateur unaire attendu

Dernière modification par frafa (Le 05/10/2011, à 22:32)

Hors ligne

#39 Le 06/10/2011, à 00:01

Tomzz

Re : Multisystem, discuter de son évolution ...

if [ $type = "Apps_graphiques" ]; then

Ça effectivement c'est peut-être mieux comme ça : "${type}"

if [ $type = "Apps_graphiques" ]; then
> {
>                     ( xterm -title 'Tunnel_http' -e ssh -X "${nom}"@"${ipdns}" -p "${port}" )
> }
> fi
bash: [: = : opérateur unaire attendu

La tu l'as lancé directement dans un terminal non?
J'ai vu que Gtkdialog allait intégrer un terminal, je ne serai pas mécontent de me débarrasser d'Xterm, surtout si ce nouveau terminal gère correctement le copier/coller.   

Mais sinon, mon script marche avec Gtkdialog ancienne version et plus avec la nouvelle, peut-être est-ce a cause de mon "style peu académique" mais ce serai intéressant   de comprendre ou est le soucis avec la nouvelle version.

Je vais regarder ça plus en détail et si je trouve je le posterai ici.

As tu une idée pour le soucis de menu avec Unity ?
Je ne suis pas sur, mais tes script n'utilisent pas le widget menu il me semble.

Au fait, en parlant de tes scripts, encore merci pour ton boulot.


[edit}
Je crois que le problème vient d'ici:

<action>server-directory</action>
<action type="closewindow">fermeture</action>

On dirait que la nouvelle version n’exécute pas l'action "closewindows"
Je vais tester avec autre chose.

Dernière modification par Tomzz (Le 06/10/2011, à 00:15)

Hors ligne

#40 Le 06/10/2011, à 01:15

frafa

Re : Multisystem, discuter de son évolution ...

Re,
A mon avis c'est une couille dans une syntaxe...
launch/closewindow fonctionne sans souci dans cet exemple:

#!/bin/bash
GTKDIALOG=gtkdialog
export DIALOG='
<variable>DIALOG</variable>
<vbox>
<text>
<label>This is another dialog window.</label>
</text>
<button>
<label>Close</label>
<action type="closewindow">DIALOG</action>
</button>
</vbox>'

export MAIN_DIALOG='
<vbox>
<frame Button actions>
<hbox>
<button>
<label>launch</label>
<action type="launch">DIALOG</action>
</button>
<button>
<label>closewindow</label>
<action type="closewindow">DIALOG</action>
</button>
</hbox>
</frame>
</vbox>'
$GTKDIALOG --program=MAIN_DIALOG

Pas testé les menus dans 0.8.0 sous unity,
en effet j'ai viré de mes script tous les menus a cause de unity,
mais les bugs que j'avait je les avait sous 0.7.20, et pas eut le temps de retester depuis sortie de 0.8.0 ...

Dernière modification par frafa (Le 06/10/2011, à 01:16)

Hors ligne

#41 Le 06/10/2011, à 02:09

Tomzz

Re : Multisystem, discuter de son évolution ...

Bon, j'ai résolu mon soucis mais je n'ai pas tout saisi.
j'ai remplacé:

<action type="closewindow">fermeture</action>

par:

<action type="exit">closewindow</action>

Avec l’ancienne version avec <action type="closewindow">fermeture</action>, EXIT prenais la valeur "closewindow" je bouclais sur while [ "${EXIT}" = "closewindow" ]

Avec la nouvelle version EXIT prenais la valeur "fermeture".
Même en écrivant <action type="closewindow">closewindow</action> EXIT prenais bien la valeur "closewindow" mais je ne bouclais pas.

Je pense que mon script avait une erreur de syntaxe mais marchait quand même grâce un un bug de l’ancienne version.

Pour les menus je vais essayer de voir avec les attribut height et width si on peut faire quelque chose.
Sinon je vais essayer de remonter le problème (bug ? )

[edit] C'est moi qui buggue wink
Le menu va tout simplement se loger dans le tableau de bord Unity, comme tous les menus.

Dernière modification par Tomzz (Le 06/10/2011, à 03:46)

Hors ligne