Como configurar o horário do chá no emacs para usar o sistema de notificação nativo no gnome

4

Existe uma maneira fácil de ter tea-time exibe mensagens via sistema de notificação nativo do gnome?

A atual "função de notificação" no tea-time.el é:

(defun show-notification (notification)
  "Show notification. Use mumbles."
 (if (program-exists "mumbles-send")
    (start-process "tea-time-mumble-notification" nil "mumbles-send" notification)
  (message notification)
 ))

Eu tentei editar isso para usar notify-send , sem nenhum sucesso: especificamente, usar algo como (shell-command (concat "notify-send " notification)) no lugar de (start-process "tea-time-mumble-notification" nil "mumbles-send" notification) parece não funcionar (eu me livrei da instrução if também, de claro).

Sugestões?

    
por emacsomancer 04.06.2011 / 19:35

4 respostas

1

Por tentativa e erro, descobri que a seguinte redefinição funciona:

(defun show-notification (notification)
"Show notification. Use notify-send."
(start-process "tea-time-notify-notification" nil "notify-send" notification)
)

Coisas mais sofisticadas também podem ser feitas: usando

(start-process "tea-time-notify-notification" nil "notify-send" "-i" (expand-file-name "~/path/to/your/icon/YourIconName.png") "Emacs Tea Timer" notification)

diz ao daemon de notificação para usar um ícone ( este é adequado) no pop-up de notificação e usa um texto de 'resumo' encorajado ("Emacs Tea Timer").

    
por 07.06.2011 / 19:00
3

Sim, basta chamar o comando notify-send do gancho de alerta (se houver um, caso contrário você poderá precisa consertar a hora do chá para ter isso.)

    
por 04.06.2011 / 21:46
1

Com o mais recente tea-time.el, você tem um gancho que você pode usar para isso.
Adicione à sua inicialização do Emacs:

(add-hook 'tea-time-notification-hook 
  (function (lambda() 
    (start-process "tea-timer-notification" nil "notify-send" "Time is up!"))))
    
por 25.02.2013 / 07:29
1

No Emacs 24, você pode usar notifications.el para enviar notificações do D-Bus diretamente do código elisp. Reescrevendo o gancho do @ yhager, acima:

(add-hook 'tea-time-notification-hook
  (lambda ()
    (notifications-notify :title "Time is up!"
                          :body "I know you're busy, but it's TEA TIME!!"
                          :app-name "Tea Time"
                          :sound-name "alarm-clock-elapsed)))

Existem mais argumentos úteis descritos na página de Notificações do < a href="http://www.gnu.org/software/emacs/manual/html_node/elisp/"> Manual de referência do Lisp do Emacs (incluindo a opção :sound-file , em vez de :sound-name , que requer uma implementação do tema de som XDG ).

    
por 01.04.2013 / 16:41

Tags