Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 21/11/2012, à 21: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, à 21: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, à 22:11)

En ligne

#3 Le 21/11/2012, à 22: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, à 22: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, à 22: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).

En ligne

#6 Le 21/11/2012, à 22: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, à 22: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))

En ligne

#8 Le 22/11/2012, à 00: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, à 00:40)

Hors ligne

#9 Le 22/11/2012, à 01: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"

Xubuntu 14.04 LTS sur HP Pavilion t728.fr
Precise Pangolin 64 bits sur Acer aspire 5738ZG
Voyager 13.04 mise à niveau en 14.04 sur TOSHIBA  Satellite C870-196.
Faîtes la mise à jour de vos P.P.A. automatiquement

Hors ligne

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

jean bono

Re : Aide pour script avec notify-send

of course^^
merci beaucoup metalux

Hors ligne

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

metalux

Re : Aide pour script avec notify-send

Tout le mérite revient à pingouinux wink


Xubuntu 14.04 LTS sur HP Pavilion t728.fr
Precise Pangolin 64 bits sur Acer aspire 5738ZG
Voyager 13.04 mise à niveau en 14.04 sur TOSHIBA  Satellite C870-196.
Faîtes la mise à jour de vos P.P.A. automatiquement

Hors ligne

Haut de page ↑