Plop les bovins !!!
Suite à mon billet sur Undistract-Me Rougail .S, un lecteur sympa, a eu la gentillesse de me faire parvenir un petit script de son cru, qui permet de faire la même chose sur KDE avec une petite particularité intéressante qui réside dans le fait que ce script utilise Z-Shell aka ZSH (ça va plaire à 4nti7rust).
NB : Pour rappel undistract-Me ne fonctionne qu’avec Bash.
Plutôt que de le noyer dans un commentaire que tout le monde ne verra peut être pas, j’ai pensé qu’un petit billet serait bien plus sympathique.
Alors si ça vous branche, que vous utilisez ZSH et KDE, voici le script en question à insérer dans le « .zshrc » (l’équivalent du fichier .bashrc je suppose) :
preexec () {
CMD=${1[(wr)^(*=*|sudo|-*)]}
CMD_START_TIME=`date +%s`
}
#before each prompt display (a fortiori, the new prompt after a command ended) :
# – if the command name is not empty, compute duration of last command (using data stored in preexec)
# – if the command name is not empty and the duration is more than 10 sec, display a passive dialog box to notify
# – Empty the command name so that if the next command is empty, it does not display an empty dialog box
precmd() {
if [ « $CMD » != « » ]
then
CMD_END_TIME=`date +%s`
CMD_END_DATE=`date +%c`
((CMD_DURATION=$CMD_END_TIME – $CMD_START_TIME))
fi
if [ « $CMD » != « » -a $CMD_DURATION -gt 10 ] #The command should last more than 10 seconds to be notified.
then
kdialog –title « ZSH notifies » –passivepopup « The ‘$CMD’ command ended.[duration = $CMD_DURATION seconds][End = $CMD_END_DATE] »
fi
CMD= » »
}
Amusez-vous bien.
Moo !!!
Merci à Rougail pour le partage.
PS: Rougail avec un « l » à la fin ;)
Oupps corrigé :)
Merci matttbe, je cherchais justement la ligne correspondante pour gnome.
Les fonctions preexec et precmd permettent de faire pas mal de choses en ZSH avant le lancement d’une commande et avant l’affichage du prompt, respectivement.
PS: Rougail avec un « l » à la fin ;)
Et il suffit de remplacer la ligne avec ‘kdialog’ en utilisant ‘notify-send’ pour le rendre compatible avec Gnome ;)