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.

#1 Le 21/11/2012, à 22:01

jean bono

Aide pour script avec notify-send

Bonjour a tous
Je cherche un petit script qui m'afficherait une note ( avec les notifications ) apres un temps defini par moi-meme
un peu comme un compte a rebours avec des notifications

Je voudrais utiliser notify-send qui m'a l'air tres simple d'utilisation
et pour la temporisation je pensais faire un "sleep" mais je sais pas trop si ca marcherait

L'idee c'est de lancer le script et on rentre une phrase "x" et un temps "t"
une fois le temps "t" ecoule, notify-send s'active
l'ideal serait de pouvoir mettre le temps "t" en heure, minute et secondes
du coup on pourrait mettre en input "h", "m" et "s" et on ferait "t = 3600 x h + 60 x m + s"

Est ce que c'est realisable? Quelqu'un se sent de me donner un coup de main?
Merci
Jean Bono

Hors ligne

#2 Le 21/11/2012, à 22:57

pingouinux

Re : Aide pour script avec notify-send

Bonjour,
Je ne connais pas notify-send, mais voici une suggestion :

$ cat script.sh

#!/bin/bash
x="$1"
t="$2"
T=$(date +"%s" -ud "1970-01-01 $t")
sleep $T
# Lancement de notify-send "$x"

Lancement du script, par exemple avec une temporisation de 1h 5mn 23s :

$ ./script.sh "la phrase" 1:5:23

Correction

Dernière modification par pingouinux (Le 21/11/2012, à 23:11)

Hors ligne

#3 Le 21/11/2012, à 23:05

jean bono

Re : Aide pour script avec notify-send

hello pingouinux

ca marche pas vraiment

est ce que tu peux detailler avec moi le code?

x="$1"   veut dire que le premier argument du script est enregistre dans la variable x?
idem pour t="$2" ? du coup on prend heure + minute + secondes dans la meme variable? il comprend la difference le script?
ensuite cette ligne je comprends pas... T=$(date +"%s" -ud "1970-01-01 $1")
je vois pas pourquoi on utilise pas la variable t non plus...
si tu peux m'eclairer
Merci

Hors ligne

#4 Le 21/11/2012, à 23:13

jean bono

Re : Aide pour script avec notify-send

Merci nickel avec la correction^^

est ce que tu peux detailer la ligne qui definit T?

Hors ligne

#5 Le 21/11/2012, à 23:14

pingouinux

Re : Aide pour script avec notify-send

T=$(date +"%s" -ud "1970-01-01 $t")

Tu as raison, c'est bien $t, et non $1. J'ai corrigé en #2.
Cette ligne convertit t, qui est dans le format hh:mm:ss, en secondes. Le 01/01/1970 est l'origine des temps pour Linux (appelé aussi Epoch).

Hors ligne

#6 Le 21/11/2012, à 23:22

jean bono

Re : Aide pour script avec notify-send

ah ok, fallais le savoir ca^^
Merci beaucoup pour ton aide

Hors ligne

#7 Le 21/11/2012, à 23:31

pingouinux

Re : Aide pour script avec notify-send

Si tu veux donner le temps en séparant heures, minutes et secondes, tu calcules T comme ceci :

T=$((60*(60*h+m)+s))

ou

T=$((3600*h+60*m+s))

Hors ligne

#8 Le 22/11/2012, à 01:36

jean bono

Re : Aide pour script avec notify-send

Apres quelques bidouilles et recherches je l'ai transforme de la sorte :

#!/bin/bash
note=`zenity --entry --title="Note" --text="Note:"`
h=`zenity --entry --title="Heures" --text="Combien d'heures?:"`
m=`zenity --entry --title="Minutes" --text="Combien de minutes?:"`
s=`zenity --entry --title="Secondes" --text="Combien de secondes?:"`
T=$((60*(60*h+m)+s))
sleep $T
notify-send -i /home/bono178/images/travian.jpg $note
mplayer /usr/share/sounds/gnome/default/alerts/glass.ogg 

sleep 5

comme ca j'ai une boite de dialogue pour rentrer les arguments, puis une jolie notif avec une icone et un son
C'est le timer parfait
Il me manque plus qu'a regler le probleme suivant :
si la "note" comporte un espace, ca marche plus
si quelqu'un est familier avec ce probleme n'hesitez pas

Merci pour l'impulsion de depart

Dernière modification par jean bono (Le 22/11/2012, à 01:40)

Hors ligne

#9 Le 22/11/2012, à 02:14

metalux

Re : Aide pour script avec notify-send

Bonsoir jean bono,
Il faut protéger $note avec des doubles quotes.

notify-send -i /home/bono178/images/travian.jpg "$note"

Hors ligne

#10 Le 22/11/2012, à 02:15

jean bono

Re : Aide pour script avec notify-send

of course^^
merci beaucoup metalux

Hors ligne

#11 Le 22/11/2012, à 02:19

metalux

Re : Aide pour script avec notify-send

Tout le mérite revient à pingouinux wink

Hors ligne