#1 Le 24/12/2008, à 00:36
- Hizoka
[has been] Generateur de fenetres zenity
Une nouvelle version est dispo ici : http://doc.ubuntu-fr.org/zenitor_3
Mise à jour du 30/09/09.
Bonsoir.
La page de la doc se trouve ici : http://doc.ubuntu-fr.org/zenity_generator
Je voulais m'amuser un peu en scriptant et j'ai eu l'idée de créer un script qui génére des fenêtres zenity.
je n'ai utilisé uniquement que du bash et zenity lui même
Tous tests et remarques sont bonnes à prendre.
voila merci beaucoup et bonnes fêtes !
Installation :
1 - Téléchargement :
wget http://hizoka.funcenter.fr/linux/zenity_generator/zenity_generator.sh
En cas d'impossibilité de télécharger le fichier, réessayez plus tard (30 min max normalement)
2 - Le rendre exécutable :
chmod +x zenity_generator.sh
3 - Lancement :
./zenity_generator.sh
ou
bash zenity_generator.sh
ou
en cliquant sur le fichier.
En cas de probleme, voici le code entier, cela evite de perdre mon travail si mon serveur disparait :
#!/bin/bash
##############################################
##############################################
############## ZENITY GENERATOR ##############
##############################################
#####################################by Hizoka
# Script de génération de fenêtres graphiques réalisé uniquement avec Zenity et du bash
# Pour des questions ou des infos : http://forum.ubuntu-fr.org/viewtopic.php?id=280649
### Fonctions courantes ###
# Fonction cherchant l'emplacement du script (pour le .log)
function emplacement_script()
{
if [ "${0:0:1}" == "/" ];
then
emplacement_script=$(dirname "$0")
else
emplacement_script=$(pwd)
fi
}
# Fonction affichant le code final de la nouvelle fenêtre créée avec copie dans le log si besoin
function affichage_code()
{
zenity --text-info --title="Code de votre fenêtre :" --width="500" --height="400" --filename=".fenetre_zenity"
if [[ -n $(egrep "^choix_log=OUI$" "${emplacement_script}/zenity_generator.sh") ]]
then
(cat .fenetre_zenity && echo -e "\n") >> "${emplacement_script}/log_zenity_generator.log"
fi
rm .fenetre_zenity
}
# Fonction donnant la hauteur de la fenêtre
function hauteur_fenetre()
{
hauteur_fenetre="--height=\"$(zenity --width=300 --height=80 --title 'Choix de la hauteur' --text 'Indiquez la taille (en pixel) maximale de la hauteur de la fenêtre' --entry --width=400 --height=100)\""
}
# Fonction donnant l'Icône de la fenêtre
function icone_fenetre()
{
icone_fenetre="--window-icon=\"$(zenity --title 'Choix de l`icône' --filename=/home/$USER/ --file-selection --width=400)\""
}
# Fonction donnant la largeur de la fenêtre
function largeur_fenetre()
{
largeur_fenetre="--width=\"$(zenity --width=300 --height=80 --title 'Choix de la largeur' --text 'Indiquez la taille (en pixel) maximale de la largeur de la fenêtre' --entry --width=400 --height=100)\""
}
# Fonction donnant le texte avec couleur et gras
function texte()
{
echo -e "Vous pouvez maintenant taper le texte que vous souhaitez voir apparaître dans votre fenêtre.
Il est possible de faire des effets sur les polices, pour plus d'infos, regardez le menu 'exemples'.
Evitez les !!, cela provoque des erreurs.
Exemples de balises pour mettre en forme le texte interne de vos fenêtres (exceptées celles de saisie de texte) :
- Mise en gras : <b> texte </b>
- Mise en italique : <i> Texte </i>
- Mise en couleur : <span color=\\\"red\\\"> texte </span> (avec les anti-slashs)
##### MERCI DE SUPPRIMER CES INFOS AVANT DE CLIQUER SUR FERMER #####" > .texte
texte="--text=\"$(zenity --text-info --title='Tapez le texte de la fenêtre' --editable --filename='.texte' --width='550' --height='500')\""
rm .texte
}
# Fonction donnant le titre
function titre()
{
titre="--title=\"$(zenity --title 'Choix du titre' --text 'Tapez le nom de la fenêtre' --entry --width=400 --height=100)\""
}
# Fonction pour utilisation ou non d'un fichier log
function utilisation_log()
{
emplacement_script
if [[ -n $(egrep "^choix_log=OUI$" "${emplacement_script}/zenity_generator.sh") ]]
then
echo "Vous enregistrez vos fenêtres dans un fichier log disponible dans le même dossier que ce script.
Pour arrêter d'utiliser le fichier log :
sed -i 's/^choix_log=OUI$/choix_log=NON/' \"${emplacement_script}/zenity_generator.sh\""
elif [[ -n $(egrep "^choix_log=NON$" "${emplacement_script}/zenity_generator.sh") ]]
then
echo "Vous ne souhaitez pas enregistrer vos codes de fenêtres dans un fichier log.
Pour utiliser un fichier log de sauvegarde :
sed -i \"s/^choix_log=NON$/choix_log=OUI/\" \"${emplacement_script}/zenity_generator.sh\""
else
log=$(zenity --list --radiolist --title="Utilisation d'un .log ?" --text="Voulez-vous que vos créations soient sauvegardées dans un fichier log ?
Cette question ne vous sera posée qu'une seule fois.
Il vous sera possible de modifier ce choix en tapant la commande
qui s'affiche dans la console au démarrage du script." --column="Choix" --column="Réponse" \
FALSE "OUI" \
FALSE "NON")
if [[ -n ${log} ]]
then
sed -i "/^#### Choix log ####$/a choix_log=${log}" "${emplacement_script}/zenity_generator.sh"
fi
fi
#### Choix log ####
}
###############################################################
## Système pour la fenêtre Zenity affichant un fichier texte ##
###############################################################
# Permet également sauvegarder après.
function zenity_fichier_texte()
{
# Ouvre une fenêtre zenity demandant les differentes variables utilent à la creation de la fenêtre
MENU=$(zenity --title 'Que voulez vous modifier ?' --list --text 'Merci de choisir les différentes options à modifier ou à appliquer.' --checklist --column 'Choix' --column 'Action' --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du fichier texte à afficher" \
FALSE "Permettre l'édition du texte de la fenêtre" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre" )
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du fichier texte à afficher") ]]
then
fichier_texte="--filename=\"$(zenity --title 'Emplacement du fichier texte à afficher dans la fenêtre.' --filename=/home/$USER/ --file-selection)\""
fi
if [[ -n $(echo ${MENU} | grep "Permettre l'édition du texte de la fenêtre") ]]
then
edition="--editable"
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --text-info ${titre} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${fichier_texte} ${edition}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
###############################################
## Système pour la fenêtre Zenity calendrier ##
###############################################
# Fonction du format de la date
function date()
{
date="--date-format=\"$(zenity --title 'Choix du format de la date' --text 'Choisissez le format de date voulu en vous aidant des explications.
Jours --
%d : Jour du mois [ex : 12]
%a : 3 premières lettres du jour [ex : ven]
%A : Affiche le nom du jour [ex : vendredi]
%j : Numéro du jour depuis le debut d`année [ex : 286]
Semaines --
%V : Numéro de lasemaine [ex : 52]
Mois --
%m : Mois de l`année [ex: 10]
%b : 3 premières lettres du mois [ex : oct]
%B : Affiche le nom du mois [ex : octobre]
Années --
%y : Année, sur 2 chiffres [ex : 84]
%Y : Année, sur 4 chiffres [ex : 1984]
Formats --
%D : mois/jour/année [ex : 07/23/08]
%F : année-mois-jour [ex : 2008-07-21]
%x : jour.mois.année [ex : 21.07.2008]
%c : %a %d %b %Y heure [ex : lun 21 jui 2008 00:00:00]
Exemple : Nous sommes le %A %d %m %Y' --entry --width=400 --height=100)\""
}
function zenity_calendrier()
{
MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du texte à afficher dans la fenêtre" \
FALSE "Choix du jour de base" \
FALSE "Choix du mois de base" \
FALSE "Choix de l'année de base" \
FALSE "Choix du format de sorti de date" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
fi
if [[ -n $(echo ${MENU} | grep "Choix du jour de base") ]]
then
jour="--day=\"$(zenity --title 'Choix du jour' --text 'Choisissez le jour de base.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Choix du mois de base") ]]
then
mois="--month=\"$(zenity --title 'Choix du mois' --text 'Choisissez le mois de base.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Choix de l'année de base") ]]
then
annee="--year=\"$(zenity --title 'Choix de l`année' --text 'Choisissez l`année.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Choix du format de sorti de date") ]]
then
date
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --calendar ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${jour} ${mois} ${annee} ${date}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
#############################################
## Système pour la fenêtre Zenity messages ##
#############################################
# Fonction du type de fenêtre message
function type_fenetre()
{
type_fenetre=$(zenity --title="Quel type de fenêtre de message voulez-vous ?" --text="Veuillez choisir dans la liste suivante le type de fenêtre voulu." "Fenetre d'erreur" "Fenetre de confirmation" "Fenetre d'avertissement" --entry --entry-text="Fenetre d'information")
if [ "$type_fenetre" = "Fenetre d'information" ]
then
type_fenetre="--info"
elif [ "$type_fenetre" = "Fenetre d'erreur" ]
then
type_fenetre="--error"
elif [ "$type_fenetre" = "Fenetre de confirmation" ]
then
type_fenetre="--question"
elif [ "$type_fenetre" = "Fenetre d'avertissement" ]
then
type_fenetre="--warning"
fi
}
function zenity_messages()
{
MENU=$(zenity --title "Que voulez-vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du texte à afficher dans la fenêtre" \
TRUE "Choix du type de message" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
fi
if [[ -n $(echo ${MENU} | grep "Choix du type de message") ]]
then
type_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity ${type_fenetre} ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
####################################################################
## Système pour la fenêtre Zenity de sélection de fichier/dossier ##
####################################################################
function zenity_selection_fichier()
{
MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
FALSE "Désigner le dossier de base" \
FALSE "Sélectionner plusieurs fichiers" \
FALSE "Choix du séparateur -- si utilisation du mode multi fichier" \
FALSE "Mode enregistrement de fichier" \
FALSE "Obligation de sélection de dossiers et non de fichiers" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Designer le dossier de base") ]]
then
emplacement_defaut="--filename=\"$(zenity --title 'Choix du dossier' --filename=/home/$USER/ --file-selection --directory --width=400)\""
fi
if [[ -n $(echo ${MENU} | grep "Selectionner plusieurs fichiers") ]]
then
multi_fichier="--multiple"
fi
if [[ -n $(echo ${MENU} | grep "Choix du séparateur") ]]
then
separateur_fichier="--separator=\"$(zenity --title 'Choix du separateur' --text 'Choisissez le type de séparateur à utiliser pour delimiter les différentes adresses.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Mode enregistrement de fichier") ]]
then
sauvegarde="--save"
fi
if [[ -n $(echo ${MENU} | grep "Obligation de selection de dossiers et non de fichiers") ]]
then
dossier="--directory"
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --file-selection ${titre} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${dossier} ${sauvegarde} ${separateur_fichier} ${multi_fichier} ${emplacement_defaut}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
########################################################
## Système pour la fenêtre Zenity de boite de réponse ##
########################################################
function zenity_saisie()
{
MENU=$(zenity --title "Que voulez-vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du texte à afficher dans la fenêtre" \
FALSE "Pré-écrire une réponse dans la zone de texte" \
FALSE "Proposer une liste de réponses" \
FALSE "Remplacer les caracteres par des *" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
fi
if [[ -n $(echo ${MENU} | grep "Pré-écrire une réponse dans la zone de texte") ]]
then
pre_texte="--entry-text=\"$(zenity --title 'Texte pré écrit' --text 'Indiquez le texte qui doit être pré écrit dans la barre de texte.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Remplacer les caracteres par des *") ]]
then
motdepasse="--hide-text"
fi
if [[ -n $(echo ${MENU} | grep "Proposer une liste de réponses") ]]
then
liste_reponse=$(zenity --title 'Liste de choix' --text 'Ecrivez les différents choix que vous souhaitez proposer.
Il suffit d`éspacer les différentes réponses.
Si votre réponse contient plusieurs mots, il suffit de mettre des " à l`expression.
Si vous avez mis une réponse pré-écrite, il est inutil de la remettre ici.' --entry --width=400 --height=100)
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --entry ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${pre_texte} ${motdepasse} ${liste_reponse}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
###########################################################
## Système pour la fenêtre Zenity de barre de chargement ##
###########################################################
function texte_et_pourcentage()
{
nb_etape=$(zenity --title "Nombre d'étape" --text "Indiquez le nombre d'étape à realiser pour remplir la barre." --entry --width=400 --height=100)
etapes_pourcentages=$[100 / $nb_etape]
zenity --question --title="Choisir les pourcentages ?" --text="Souhaitez vous choisir les différents pourcentages des ${nb_etape} étapes ?
Si vous ne souhaitez pas choisir, les étapes iront de ${etapes_pourcentages}% en ${etapes_pourcentages}%."
question=$(echo $?)
for ((i=1; i<=$nb_etape; i++));
do
if [[ "${question}" == "1" ]]
then
pourcentage=$(zenity --title "Pourcentage de l'étape $i" --text "Indiquez le pourcentage n°$i" --entry)
elif [[ "${question}" == "0" ]]
then
pourcentage=$(($etapes_pourcentages * $i))
fi
texte_pourcentage=$(zenity --title "Texte associé à ${pourcentage}%" --text "Indiquer le texte à afficher quand la barre arrive à ${pourcentage}%" --entry)
if [[ -z ${texte_et_pourcentage} ]]
then
texte_et_pourcentage="echo \"# ${texte_pourcentage}\" ; sleep 1
echo \"${pourcentage}\" ; sleep 1"
else
texte_et_pourcentage="${texte_et_pourcentage}
echo \"# ${texte_pourcentage}\" ; sleep 1
echo \"${pourcentage}\" ; sleep 1"
fi
echo "${pourcentage}% a pour texte : ${texte_pourcentage}"
done
}
function zenity_barre_chargement()
{
MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du texte à afficher dans la fenêtre" \
FALSE "Fermer automatiquement la fenêtre" \
FALSE "Créer une barre allant et venant sans pourcentage" \
FALSE "Nombres d'étapes avant d'atteindre 100%" \
FALSE "Pourcentage de départ" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
texte_et_pourcentage="sleep $(zenity --entry --title='Combien de secondes avant le lancement ?' --text='Veuillez choisir le temps pendant lequel le texte de la fenêtre
doit être lisible avant que les textes de la barre n`apparraissent.') ${texte_et_pourcentage}"
fi
if [[ -n $(echo ${MENU} | grep "Fermer automatiquement la fenêtre") ]]
then
autoclose="--auto-close"
fi
if [[ -n $(echo ${MENU} | grep "Créer une barre allant et venant sans pourcentage") ]]
then
pulsate="--pulsate"
fi
if [[ -n $(echo ${MENU} | grep "Nombres d'étapes avant d'atteindre 100%") ]]
then
texte_et_pourcentage
fi
if [[ -n $(echo ${MENU} | grep "Pourcentage de départ") ]]
then
pourcentage_depart="--percentage=\"$(zenity --title 'Pourcentage de départ' --text 'Choisissez à combien de % la barre doit démarrer.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo "(${texte_et_pourcentage}) | zenity --progress ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${pourcentage_depart} ${pulsate} ${autoclose}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
#############################################
## Système pour la fenêtre Zenity de liste ##
#############################################
function nb_colonne()
{
nb_colonne=$(zenity --title "Nombre de colonne" --text "Indiquez le nombre de colonne à mettre.
Dans le cas ou il y a des boutons/cases,
ajoutez une colonne pour leur emplacement." --entry --width=400 --height=100)
for ((i=1; i<=$nb_colonne; i++));
do
colonne=$(zenity --title "Nom de la colonne n°$i" --text "Indiquez le nom que vous souhaitez attribuer à la colonne n°$i." --entry --width=400 --height=100)
if [[ -z ${noms_colonnes} ]]
then
noms_colonnes="--column=\"${colonne}\""
else
noms_colonnes="${noms_colonnes} --column=\"${colonne}\""
fi
done
}
function nb_reponses()
{
nb_reponses=$(zenity --title "Nombre de reponses" --text "Indiquez le nombre de reponses à proposer.
Cela équivaut au nombre de ligne que vous voulez proposer." --entry --width=400 --height=100)
for ((i=1; i<=$nb_reponses; i++));
do
if [[ "${type_fenetre}" == "--radiolist" ]]
then
reponse=$(zenity --title "Réponse n°$i" --text "Tapez le texte que doit prendre la ligne n°$i.
Votre ligne se sépare en ${nb_colonne} parties (le nombre de colonne).
Dans le cas d'une liste de bouton de choix,
vous pouvez indiquer la réponse de base par un TRUE,
pour les autres il faut mettre FALSE.
Dans le cas de 3 colonnes, il faudrait une réponse du genre :
FALSE \"Carottes\" \"Legumes\"." --entry --width=400 --height=100)
elif [[ "${type_fenetre}" == "--checklist" ]]
then
reponse=$(zenity --title "Réponse n°$i" --text "Tapez le texte que doit prendre la ligne n°$i.
Votre ligne se sépare en ${nb_colonne} parties (le nombre de colonne).
Dans le cas d'une liste avec cases à cocher,
vous pouvez indiquer les réponses de base par un TRUE,
pour les autres il faut mettre FALSE.
Dans le cas de 3 colonnes, il faudrait une réponse du genre :
FALSE \"Carottes\" \"Legumes\"." --entry --width=400 --height=100)
elif [[ "${type_fenetre}" == "--multiple" ]]
then
reponse=$(zenity --title "Réponse n°$i" --text "Tapez le texte que doit prendre la ligne n°$i.
Votre ligne se sépare en ${nb_colonne} partie (le nombre de colonne).
Dans le cas de 3 colonnes, il faudrait une réponse du genre :
\"Carottes\" \"Legumes\" \"En soupe\"." --entry --width=400 --height=100)
fi
if [[ -z ${choix_reponses} ]]
then
choix_reponses="\\
${reponse}"
else
choix_reponses="${choix_reponses} \\
${reponse}"
fi
done
}
function zenity_listes()
{
MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du texte à afficher dans la fenêtre" \
TRUE "Choix du type de liste à utiliser" \
TRUE "Nombres de colonnes" \
TRUE "Réponses à proposer" \
FALSE "Cacher des colonnes" \
FALSE "Choisir la colonne a retourner par la fenêtre" \
FALSE "Choix du séparateur de réponse -- liste avec cases à cocher" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
fi
if [[ -n $(echo ${MENU} | grep "Choix du type de liste à utiliser") ]]
then
type_fenetre=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --column "" --column "Type de liste" --hide-column="1" --width=400 --height=325 \
"radiolist" "Liste avec bouton de selection" \
"checklist" "Liste avec cases à cocher" \
"" "Liste simple" \
"multiple" "Liste simple avec selection multiple")
if [[ -n ${type_fenetre} ]]
then
type_fenetre="--${type_fenetre}"
fi
fi
if [[ -n $(echo ${MENU} | grep "Nombres de colonnes") ]]
then
nb_colonne
fi
if [[ -n $(echo ${MENU} | grep "Réponses à proposer") ]]
then
nb_reponses
fi
if [[ -n $(echo ${MENU} | grep "Cacher des colonnes") ]]
then
colonne_fantome="--hide-column=\"$(zenity --title 'Colonne fantome' --text 'Indiquez le numéro de la colonne à cacher.
Si vous en cachez plusieurs, séparez les chiffres d`une virgule.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Choisir la colonne a retourner par la fenêtre") ]]
then
colonne_retour="--print-column=\"$(zenity --title 'Colonne à retourner' --text 'L`interet de ce Système est de choisir quelle colonne
sera renvoyée par la fenêtre zenity apres la réponse,
c`est à dire ce que retourne : echo "$varible-de-la-fenetre".
Indiquez le numéro de la colonne à retourner.
Vous pouvez en retourner plusieurs en séparant les chiffres par des virgules.
Vous pouvez également choisir ALL afin de retourner toutes les colonnes.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Choix du séparateur de réponse -- liste avec cases à cocher") ]]
then
separateur_fichier="--separator=\"$(zenity --title 'Choix du separateur' --text 'Choisissez le type de séparateur à utiliser pour delimiter les différentes adresses.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --list ${type_fenetre} ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${noms_colonnes} ${colonne_fantome} ${colonne_retour} ${separateur_fichier} ${choix_reponses}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
####################################################
## Système pour la fenêtre Zenity de notification ##
####################################################
function zenity_notification()
{
MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du texte à afficher dans la fenêtre" \
TRUE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --notification ${texte} ${icone_fenetre}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
#################################################
## Système pour la fenêtre Zenity avec curseur ##
#################################################
function zenity_curseur()
{
MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
TRUE "Choix du titre de la fenêtre" \
TRUE "Choix du texte à afficher dans la fenêtre" \
FALSE "Valeur d'incrémentation" \
FALSE "Valeur de base" \
FALSE "Valeur minimale" \
FALSE "Valeur maximale" \
FALSE "Largeur maximale de la fenêtre" \
FALSE "Hauteur maximale de la fenêtre" \
FALSE "Icône de la fenêtre")
if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
then
titre
fi
if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
then
texte
fi
if [[ -n $(echo ${MENU} | grep "Valeur d'incrémentation") ]]
then
valeur_evolution="--step=\"$(zenity --title 'Choix de l`incrémentation' --text 'Choisissez de combien en combien doit avancer le curseur.
Ex : 2 = 2, 4, 6, 8...
3 = 3, 6, 9...' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Valeur de base") ]]
then
valeur_base="--value=\"$(zenity --title 'Choix du chiffre de base' --text 'Choisissez le chiffre sur lequel le curseur doit être de base.' --entry --width=400 --height=100)\""
fi
if [[ -n $(echo ${MENU} | grep "Valeur minimale") ]]
then
valeur_minimale="--min-value=\"$(zenity --title 'Choix de la valeur minimale' --text 'Choisissez la valeur minimale pouvant être proposé par le curseur.' --entry --width=400 --height=100)\""
if [[ -z "${valeur_base}" ]]
then
valeur_base="--value=\"$(zenity --title 'Choix du chiffre de base' --text 'Vous avez détérminer une valeur minimale,
il faut obligatoirement choisir le chiffre sur lequel le curseur doit être placé de base.
Celui-ci doit impérativement être supérieur à votre valeur minimale.' --entry --width=400 --height=100)\""
fi
verif_valeur_base=$(echo "${valeur_base}" | sed 's/--value=// ; s/"//g')
verif_valeur_minimale=$(echo "${valeur_minimale}" | sed 's/--min-value=// ; s/"//g')
if [[ ${verif_valeur_base} -lt ${verif_valeur_minimale} ]]
then
zenity --info --width=400 --height=100 --title "Erreur dans les chiffres" --text "Vous avez choisi une valeur minimale plus petite que la valeur de départ. Le code ne fonctionnera pas."
fi
fi
if [[ -n $(echo ${MENU} | grep "Valeur maximale") ]]
then
valeur_maximale="--max-value=\"$(zenity --title 'Choix de la valeur maximale' --text 'Choisissez la valeur maximale pouvant être proposé par le curseur.' --entry --width=400 --height=100)\""
verif_valeur_evolution=$(echo "${valeur_evolution}" | sed 's/--step=// ; s/"//g')
verif_valeur_maximale=$(echo "${valeur_maximale}" | sed 's/--max-value=// ; s/"//g')
if [[ -n "${valeur_evolution}" && -n "${valeur_maximale}" && ${verif_valeur_maximale} -lt ${verif_valeur_evolution} ]]
then
zenity --info --width=400 --height=100 --title "Erreur dans les chiffres" --text "Vous avez selectionné une incrémentation supérieur à la limite haute, cela aura pour effet de passer directement à votre valeur maximale et non à votre valeur d'incrémentation."
fi
fi
if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
then
largeur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
then
hauteur_fenetre
fi
if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
then
icone_fenetre
fi
if [[ -n ${MENU} ]]
then
# Création du fichier texte qui servira à afficher le code final
echo -e "zenity --scale ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${valeur_evolution} ${valeur_base} ${valeur_minimale} ${valeur_maximale}" | sed "s/ */ /g" > .fenetre_zenity
affichage_code
else
menu
fi
}
##############
## Exemples ##
##############
function exemples()
{
echo -e "Voici des codes d'exemples de fenêtres zenity.
Pour tester ces codes, il vous suffit de les coller dans votre console.
Voici d'abord des exemples sur comment mettre un peu de style à vos textes (balise \"text=\"),
il est bien entendu possible de combiner les différents effets entre eux...
###### Le texte à copier débute juste après cette ligne ######
zenity --info --text \"
<span font-family=\\\"Arial\\\">essai de polices</span>
<span font-family=\\\"sans-serif\\\">essai de polices</span>
<span font-family=\\\"Helvetica\\\">essai de polices</span>
<span font-family=\\\"impact\\\">essai de polices</span>
<span font-family=\\\"sans\\\">essai de polices</span>
<span font-family=\\\"webdings\\\">essai de polices</span>
<span color=\\\"red\\\">red</span>
<span color=\\\"green\\\">green</span>
<span color=\\\"blue\\\">blue</span>
<span color=\\\"yellow\\\">yellow</span>
<span color=\\\"magenta\\\">magenta</span>
<span color=\\\"white\\\">white</span>
<span color=\\\"black\\\">black</span>
<span color=\\\"gray\\\">gray</span>
<span color=\\\"lightblue\\\">lightblue</span>
<span color=\\\"lightgray\\\">lightgray</span>
<b>style</b>
<big>style</big>
<i>style</i>
<s>style</s>
<sub>style</sub>
<sup>style</sup>
<small>style</small>
<tt>style</tt>
<u>style</u>\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre avec une barre de chargement :
###### Le texte à copier débute juste après cette ligne ######
(sleep 2
echo \"# Nous attaquons les 20%\" ; sleep 1
echo \"20\" ; sleep 1
echo \"# Aller on continue jusqu'a 40%\" ; sleep 1
echo \"40\" ; sleep 1
echo \"# on est parti pour depasser la moitié\" ; sleep 1
echo \"60\" ; sleep 1
echo \"# Bientot fini...\" ; sleep 1
echo \"80\" ; sleep 1
echo \"# J'en vois le bout.\" ; sleep 1
echo \"100\" ; sleep 1) | zenity --progress --pulsate --title=\"Chargement\" --percentage \"5\" --text=\"On commence à 5%\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre avec un calendrier intégré :
###### Le texte à copier débute juste après cette ligne ######
zenity --calendar --title=\"Exemple avec calendrier\" --text=\"Veuillez indiquer votre date de naissance. Merci.\" --day=\"12\" --month=\"10\" --year=\"1984\" --date-format=\"%x\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre avec un curseur de séléction :
###### Le texte à copier débute juste après cette ligne ######
zenity --scale --title=\"Température actuelle\" --text=\"Veuillez indiquer la température actuelle de votre piece.\" --step=\"2\" --value=\"15\" --min-value=\"-10\" --max-value=\"40\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre de lecture de fichier texte :
###### Le texte à copier débute juste après cette ligne ######
zenity --text-info --title=\"Voici le code de ce script\" --filename=\"${emplacement_script}/zenity_generator.sh\" --width=\"500\" --height=\"400\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre de QCM :
###### Le texte à copier débute juste après cette ligne ######
zenity --list --checklist --title=\"Perso préféré\" --text=\"Veuillez indiquer le personnage que vous préférez parmis cette liste.
Vous pouvez choisir plusieurs reponses.\" --column=\"Oui\" --column=\"Nom\" --column=\"Age\" --separator=\"@\" --height=\"300\" \\\
FALSE \"Bender\" \"3ans\" \\\
TRUE \"Zoidberg\" \"Mort\" \\\
FALSE \"Fry\" \"32ans\" \\\
TRUE \"Leela\" \"Inconnu\" \\\
False \"Hermes\" \"On s'en fiche\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre demandant une confirmation :
###### Le texte à copier débute juste après cette ligne ######
zenity --question --title=\"Etes vous sûr de vous ?\" --text=\"etes vous totalement certain d'etre sur de ce que vous voulez faire ?
Merci de confirmer.
M.Windows Vista.\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre de notification :
Pour lancer une commande au clic sur la notification, il faut ajouter && suivi de votre commande.
###### Le texte à copier débute juste après cette ligne ######
zenity --notification --text=\"Veuillez mettre a jour le script.\" && /usr/bin/adept_updater
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre de saisie de texte :
###### Le texte à copier débute juste après cette ligne ######
zenity --entry --title=\"Ville préférée\" --text=\"Merci d'indiquer la ville qui vous tient à coeur afin de faire un sondage mondial.\" --entry-text=\"Caen\"
###### Le texte à copier ce termine juste avant cette ligne ######
Code d'une fenetre de séléction de fichier :
###### Le texte à copier débute juste après cette ligne ######
zenity --file-selection --title=\"Indiquer votre dossier personnel\" --directory --filename=\"~/\"
###### Le texte à copier ce termine juste avant cette ligne ######
" > .exemples
zenity --text-info --title="Exemples de codes :" --width="760" --height="550" --filename=".exemples"
rm .exemples
}
########################
## MENU PRINCIPAL !!! ##
########################
function menu()
{
MENU=$(zenity --title "Quel type de fenêtre voulez-vous créer ?" --list --text "Séléctionnez le type de fenêtre zenity que vous souhaitez créer parmis la liste suivante." --column="reponse n°" --hide-column="1" --column "Type de boite" --column "Aide" --width=700 --height=570 \
"01" "Barre de chargement" "
Barre de progression avec textes et pourcentages." \
"02" "Calendrier" "
Choix d'une date sur un calendrier." \
"03" "Curseur de placement" "
Choix d'un chiffre en utilisant un curseur amovible." \
"04" "Messages et confirmations" "
Boite de texte indiquant une erreur, une information,
une alerte ou une confirmation." \
"05" "Notification" "
Affiche une Icône et du texte dans la zone de notification." \
"06" "Séléction de fichier/dossier " "
Choix d'un fichier ou d'un emplacement." \
"07" "Saisie de texte" "
Permet la saisie de caractères." \
"08" "Affichage de fichier texte" "
Affiche le contenu d'un fichier texte." \
"09" "Listes" "
Boite du genre question à choix unique ou multiple." \
"10" "Exemples de codes" "
Exemples de fenêtres et explications
sur les styles applicable aux textes." \
"11" "Réinitialiser l'utilisation du fichier log" "
Repose la question de l'utilisation d'un fichier log de save")
if [[ "$?" == "0" && -z ${MENU} ]]
then
menu
elif [[ -n $(echo ${MENU} | grep "01") ]]
then
zenity_barre_chargement
elif [[ -n $(echo ${MENU} | grep "02") ]]
then
zenity_calendrier
elif [[ -n $(echo ${MENU} | grep "03") ]]
then
zenity_curseur
elif [[ -n $(echo ${MENU} | grep "04") ]]
then
zenity_messages
elif [[ -n $(echo ${MENU} | grep "05") ]]
then
zenity_notification
elif [[ -n $(echo ${MENU} | grep "06") ]]
then
zenity_selection_fichier
elif [[ -n $(echo ${MENU} | grep "07") ]]
then
zenity_saisie
elif [[ -n $(echo ${MENU} | grep "08") ]]
then
zenity_fichier_texte
elif [[ -n $(echo ${MENU} | grep "09") ]]
then
zenity_listes
elif [[ -n $(echo ${MENU} | grep "10") ]]
then
exemples
menu
elif [[ -n $(echo ${MENU} | grep "11") ]]
then
emplacement_script
sed -i "/^choix_log=.*/d" "${emplacement_script}/zenity_generator.sh"
menu
fi
}
utilisation_log
menu
Dernière modification par Hizoka (Le 18/12/2011, à 02:53)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#2 Le 24/12/2008, à 00:42
- \\Ouranos//
Re : [has been] Generateur de fenetres zenity
Bien !
En revanche, faudrait renvoyer le résultat avec un commentaire dans un fichier de log, qu'on puisse le réutiliser.
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#3 Le 24/12/2008, à 01:02
- Hizoka
Re : [has been] Generateur de fenetres zenity
c'est a dire ?
tu veux qu'a la fin il cree un fichier log contenant ton code ?
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#4 Le 08/01/2009, à 12:16
- v0n
Re : [has been] Generateur de fenetres zenity
Salut Hizoka,
Oui il parle biensur de mettre ce code dans un log daté, histoire de pouvoir réutiliser ce même genre de fenêtre configurée (sous réserve que je me sois trompé biensur)
++
Ubuntu a aussi ses adeptes Calédoniens... ;)
Hors ligne
#5 Le 08/01/2009, à 20:47
- WW
Re : [has been] Generateur de fenetres zenity
Salut,
Je te donne mes impressions/remarques tel qu'elles me sont venu en testant point par point :
-----------------------------------
Le script donne le code même dans le cas d'une annulation.
Quand on valide en ayant rien sélectionner ça quitte c'est un peu gênant.
Je ne vois pas l'utilité de changer l'aspect de la barre... ca fait rien???
Pour la couleur il faut protéger les " par \ <span color=\"red\">
La phrase "Petits rappels, pour tous les types de fenêtre sauf celles de saisie de texte :" est trompeuse je trouve, on pourrais croire que les titres,
texte de notification peuvent être entouré de balise or ce n'est pas le cas. Je propose soit de préciser quand c'est possible ou impossible soit mettre
une phrase du genre "Balise pour mettre en forme le texte interne de vos fenêtres (excepté celles de saisie de texte)" (je sais pas si c'est mieux )
Pour les notifications tu ne montre pas comment associer le clic sur la notification avec une action
Il n'ajoute pas --multiple lorsqu'on coche "Sélectionner plusieurs fichier"
Dans le cas des listes simples tu n'as pas mis de quoi remplir les différentes lignes.
Les exemples :
Pour que ce code fonctionne :
(sleep 2
echo "# Nous attaquons les 20%" ; sleep 1
echo "20" ; sleep 1
echo "# Aller on continue jusqu`a 40%" ; sleep 1
echo "40" ; sleep 1
echo "# on est parti pour depasser la moitié" ; sleep 1
echo "60" ; sleep 1
echo "# Bientot fini..." ; sleep 1
echo "80" ; sleep 1
echo "# J`en vois le bout." ; sleep 1
echo "100" ; sleep 1) | zenity --progress --pulsate --title="Exemples de chargement" --percentage "5" --text="On commence à 5%"
il faut remplacer les ` par '
De même pour
zenity --question --title="Etes vous sûr de vous ?" --text="etes vous totalement certain d`etre sur de ce que vous voulez faire ?
Merci de confirmer.
M.Windows Vista."
Pour le QCM :
Ajouter une hauteur de 300px pour que l'on puisse tous voir directement".
-----------------------------------
Voila, sinon très bon boulot.
Merci
Dernière modification par WW (Le 08/01/2009, à 20:50)
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#6 Le 09/01/2009, à 01:23
- Hizoka
Re : [has been] Generateur de fenetres zenity
Le script donne le code même dans le cas d'une annulation.
Donc maintenant si on sélectionne le type de fenêtre et qu'on fait annuler, ça relance le script.
Par contre une fois la 2ème fenêtre valider, même si on annule les fenêtres qui suivent le code apparaît,
il va simplement considère que la variable est vide.
Quand on valide en ayant rien sélectionner ça quitte c'est un peu gênant.
Voila, pour quitter la fenêtre, il faut soit faire annuler soit cocher l'icône de fermeture en haut a droite.
Je ne vois pas l'utilité de changer l'aspect de la barre... ça fait rien???
C'est sensé améliorer la barre, c'est une fonction de zenity donc je l'ai mise mais je ne vois pas de différence non plus...
Pour la couleur il faut protéger les " par \ <span color=\"red\">
Modification de la fenêtre de la variable de texte.
Balise pour mettre en forme le texte interne de vos fenêtres (excepté celles de saisie de texte)
Adoption de ta phrase
Pour les notifications tu ne montre pas comment associer le clic sur la notification avec une action
Je ne l'avais pas mis car ça n'est pas directement lien avec la création de la fenêtre zenity.
Mais je l'ajoute dans les exemples.
Il n'ajoute pas --multiple lorsqu'on coche "Sélectionner plusieurs fichier"
Ça doit être bon maintenant je pense, j'avais fait une faute dans le nom de la variable
Dans le cas des listes simples tu n'as pas mis de quoi remplir les différentes lignes.
T'es sûr de ça ?
Perso j'ai pas de problème... là je viens de tester...
Merci de retester stp.
il faut remplacer les ` par '
J'avais mis des ` car mon echo utilisait ' comme délimitation.
Dommage pour moi, il m'a fallut foutre des \ partout
Ajouter une hauteur de 300px pour que l'on puisse tous voir directement".
Ok, c'est modifié
Oui il parle biensur de mettre ce code dans un log daté, histoire de pouvoir réutiliser ce même genre de fenêtre configurée
Perso j'aime pas le fait de créer un fichier qui va traîner sur le pc...
Le mec en a pour 5min pour recréer une fenêtre...
M'enfin bon, ça a l'air de vous tenir à coeur, donc j'ai créé une fenêtre qui au 1er lancement demande si on veut utiliser un fichier log.
Merci beaucoup pour votre participation !
Toute participation est la bienvenue
Si vous avez un bon niveau de francais, merci de corriger un peu tout ça
Dernière modification par Hizoka (Le 09/01/2009, à 01:24)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#7 Le 11/01/2009, à 00:25
- WW
Re : [has been] Generateur de fenetres zenity
Salut,
Il semble bien y avoir un problème au niveau des listes simples. Le problème arrive lorsque l'on coche "Autoriser la sélection multiple".
Pour l'orthographe je suis également peu doué, mais je crois que mis à part le fait que tu mette rarement les accents c'est pas trop mal.
Le numéro représente la (ou les) ligne(s) concernées.
3 Générateur, 29 icône, 46 exceptées, 71 arrêter, 82 sauvegardées, 84 qu'une, 87 démarrage,
105-164-270-349 Système, 108 également sauvegarder après, 118-145-210-252-304-331-363 Icône, 174-183 premières, 176 Numéro, 179 numéro de la, 222 base, 301 de fenêtre, 349-360 sélection, 356 Désigner, 357 Sélectionner, 358 séparateur, 359 d'enregistrement du.
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#8 Le 11/01/2009, à 09:37
- Hizoka
Re : [has been] Generateur de fenetres zenity
merci pour la correction et le bug (il est resolu maintenant )
d'autres testeurs ?
je pense qu'il va pas tarder à arriver dans la doc
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#9 Le 11/01/2009, à 14:05
- WW
Re : [has been] Generateur de fenetres zenity
Salut,
Tu as joué dangereusement avec les "Rechercher/Remplacer", c'est à bannir en programmation surtout si tu fais "Tout remplacer", au lieu de remplacer pas à pas. Je sais que c'est très pénible à faire mais ça peu éviter bien des surprises.
La dernière version du script ne fonctionne plus. Il faut que tu remplace Icône_fenetre par icone_fenetre.
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#10 Le 11/01/2009, à 19:10
- Hizoka
Re : [has been] Generateur de fenetres zenity
oups....
desolé et merci
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#11 Le 18/01/2009, à 08:13
- Hizoka
Re : [has been] Generateur de fenetres zenity
je viens de créer la page http://doc.ubuntu-fr.org/zenity_generator
celle ci detaille le script de façon tres precise !
hesitez pas à laisser des commentaires ici !
merci
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#12 Le 21/01/2009, à 22:13
- Кຼزດ
Re : [has been] Generateur de fenetres zenity
tu veux un commentaire ? tiens :
$ wget http://hizoka.funcenter.fr/linux/zenity_generator/zenity_generator.sh
--2009-01-21 21:12:50-- http://hizoka.funcenter.fr/linux/zenity_generator/zenity_generator.sh
Résolution de hizoka.funcenter.fr... 91.121.6.40
Connexion vers hizoka.funcenter.fr|91.121.6.40|:80... connecté.
requête HTTP transmise, en attente de la réponse...
dou
Hors ligne
#13 Le 21/01/2009, à 23:54
- Hizoka
Re : [has been] Generateur de fenetres zenity
oui, ca arrive, quand ca plante comme ca il faut ressayer un peu plus tard
la ca remarche
merci quand meme
j'ajoute l'info sur la 1ere page
Dernière modification par Hizoka (Le 21/01/2009, à 23:55)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#14 Le 22/01/2009, à 00:02
- Кຼزດ
Re : [has been] Generateur de fenetres zenity
ok merci
dou
Hors ligne
#15 Le 31/01/2009, à 18:11
- toufalk
Re : [has been] Generateur de fenetres zenity
Salut,
Super idée ce zenity generator !
Je me suis permis d'éditer la page de la doc pour corriger les quelques fôtes d'horthographes (:D) que j'ai vu.
Hors ligne
#16 Le 05/05/2009, à 18:51
- Bazoo
Re : [has been] Generateur de fenetres zenity
Excellent script qui fait gagner un temps précieux, merci 1000 fois
Hors ligne
#17 Le 05/05/2009, à 19:25
- Hizoka
Re : [has been] Generateur de fenetres zenity
pas de probleme
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#18 Le 12/06/2009, à 16:10
- zorgue
Re : [has been] Generateur de fenetres zenity
Bonjour,
Ca fait deux jours que j'esaie de télécharger ce script et ce à différentes heures, mais toujours une erreur d'expiration du delai d'attente.
Le lien est il mort ou as t'il changé?
Hors ligne
#19 Le 12/06/2009, à 16:20
- Hizoka
Re : [has been] Generateur de fenetres zenity
salut,
en effet, le lien a sauter la, c'est sur mon server perso mais je n'ai pas eu le tps de repayer
mais voici le code :
EDITION : Le code est dispo sur le 1er message de ce topic.
Copier le code et le coller dans un fichier : zenity_generator.sh qu'il faut rendre executable.
Dernière modification par Hizoka (Le 16/06/2009, à 15:22)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#20 Le 12/06/2009, à 21:39
- zorgue
Re : [has been] Generateur de fenetres zenity
Merci beaucoup de répondre aussi vite
Il va m'être bien utile
Hors ligne
#21 Le 13/06/2009, à 08:46
- Hizoka
Re : [has been] Generateur de fenetres zenity
si tu as des remarques ou autres, pas de probleme
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#22 Le 15/06/2009, à 19:40
- Spirzouf
Re : [has been] Generateur de fenetres zenity
bonjour,
je souhaite m'initier aux scripts et je voulais tester ce script qui a l'air plutôt sympa.
mais j'ai plusieurs problèmes :
- après l'avoir rendu exécutable, le double clic dans dolphin (je suis sous kubuntu jaunty) n'a aucun effet.
- dans un terminal, la commande 'zenity_generator.sh' provoque le message d'erreur suivant :
bash: zenity_generator.sh : commande introuvable
- toujours dans un terminal, 'sh zenity_generator.sh' renvoie :
zenity_generator.sh: 14: Syntax error: "(" unexpected
surement des erreurs de débutant où j'ai dû louper un passage, merci d'avance à ceux qui m'éclaireront !
Hors ligne
#23 Le 15/06/2009, à 22:08
- Hizoka
Re : [has been] Generateur de fenetres zenity
es tu sur de l'avoir rendu executable ?
Normalement le clic fonctionne dessus..
dans le doute :
chmod +x zenity_generator.sh
bash: zenity_generator.sh : commande introuvable
C'est normal ça, pour que ca fonctionne il faudrait que le fichier se trouve dans /usr/bin par ex...
zenity_generator.sh: 14: Syntax error: "(" unexpected
Normal aussi, car il faut faire bash et non sh (#!/bin/bash)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#24 Le 16/06/2009, à 00:31
- Spirzouf
Re : [has been] Generateur de fenetres zenity
effectivement, ça marche beaucoup mieux avec la commande 'bash' !!:lol:
je sais pas d'où j'avais sorti le sh en commande ?
En tout cas, merci beaucoup, vais me plonger là dedans
Hors ligne
#25 Le 16/06/2009, à 15:18
- Hizoka
Re : [has been] Generateur de fenetres zenity
mon serveur est de retour
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne