Notifications depuis le shell

Voilà déjà un moment que les bulles de notification ont fait leur apparation sur des distributions linux (je pense en particulier à Ubuntu ou Kubuntu). Je les trouve personnellement très pratiques et bien intégrées. Du coup, pourquoi ne pas s\’en servir pour une utilisation plus personnelle depuis un terminal?

Prenons un exemple concret dans le cadre du développement d\’un site web avec le framework PHP Symfony (comme ça je commence un peu à en parler…). La tâche Symfony doctrine:build-all-reload permet de reconstruire la base de données, regénérer les classes d\’abstraction et remplir la base avec les données qu\’on lui fournit. Bref, dans le cadre d\’un projet qui devient important, cette tâche peut prendre facilement une dizaine de minutes. Il peut alors être intéressant d\’être alerté une fois ceci terminé plutôt que de surveiller régulièrement son terminal. C\’est là que la commande notify-send intervient. Pour pouvoir l\’utiliser :

sudo apt-get install libnotify-bin

Puis pour faire apparaitre un premier message :

notify-send \"Test notification\"
\"Test

Pour le moment c\’est assez simple. Mais bien entendu, comme toujours, il existe un certain nombre de paramètres pour personnaliser tout ça. Les deux principaux selon moi sont :

  • -t <temps_en_millisecondes> qui permet de spécifier le temps (en millisecondes) au bout duquel le message expirera.
  • -i <chemin_vers_icone> qui permet d\’ajouter une icone dans la bulle de notification. Très pratique pour que l\’avertissement soit plus visuel.

Revenons à notre exemple. Dans un premier temps, j\’ai créé à la racine de mon répertoire personnel un dossier .notify dans lequel j\’ai copié une icone représentant le logo de Symfony. J\’ai ensuite rajouté un alias pour ma commande dans mon .bashrc. La commande qui doit être executée comprend la commande Symfony suivi d\’une notification (d\’où le && entre). Ce qui donne ceci :

alias sf-doctrine-build-all-reload=\'sf doctrine:build-all-reload --no-confirmation && notify-send -i ~/.notify/sf.png \"doctrine:build-all-reload done\"\'

On obtient tout de suite quelque chose de plus sympa!

\"Sf

Et voilà! C\’est facilement adaptable à d\’autres alias ou scripts en tout genre et ça a quand même de la gueule! Pour la manuel, c\’est par là. Pour les spécifications complètes de la commande, c\’est par ici.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>