Étant un utilisateur d'ordinateur compulsif, je suis devant elle toute la journée. Je perds parfois le temps lorsque je travaille sur mon ordinateur. J'ai besoin d'un service de notification pour m'alerter de l'heure actuelle, soit par une notification contextuelle, soit par un son en cours de lecture, soit par les deux.
Pour le popup, j'ai trouvé la norme de notification Free Desktop qui utilise une API DBus .
J'ai pu créer une notification à l'aide de DFeet , un explorateur graphique DBUS. J'ai utilisé les arguments suivants:
"wakeup", 1234, "", "The time is", "9PM", [], [], 1
Cela fonctionne bien jusqu'à présent, mais comment puis-je aller plus loin d'ici?
- Comment puis-je l'invoquer à partir de la ligne de commande?
- Comment automatiser cette commande? Est-ce
cron
toujours le moyen recommandé d'automatiser les actions basées sur le temps? - Comment jouer des sons avec le popup? Soit via l'API FreeDesktop, soit via un lecteur multimédia?
Une solution complète serait appréciée et peut-être utile à d'autres aussi.
dbus-send
pourrait être l'application à utiliser, et ouicron
est la voie recommandée.dbus-send
ne fonctionne pas car il ne prend pas en charge certains paramètres requis par cette API. Je regardepynotify
.Réponses:
Comme je ne pouvais pas l'utiliser,
dbus-send
j'ai écrit un script python à la place. Le module pynotify utilise en interne l'dbus
API. Pour des coups de pied supplémentaires, j'ai ajouté un cookie de fortune dans le message. Fonctionne comme un charme:J'ai ensuite planifié cette utilisation
cron
. L'crontab
entrée ressemble à:Mise à jour : ajout d'une méthode pour lire un son en utilisant le son pulsé
la source
Vous pouvez utiliser un simple script Python, comme ceci:
la source
Vous pouvez envoyer des messages à l'aide de la commande dbus-send. Voir man: dbus-send pour plus de détails à ce sujet.
la source
dbus-send
. Malheureusement, cela ne fonctionne pas dans ce cas cardbus-send
ne peut pas créer un dictionnaire avec des variantes dont l'API a besoin