簡単な方法がありますか?tea-time
gnomeのデフォルト通知システムを介してメッセージを表示しますか?
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)
))
代わりに編集しようとしましたが、notify-send
成功しませんでした。特に(shell-command (concat "notify-send " notification))
inのようなものを使うのはうまく(start-process "tea-time-mumble-notification" nil "mumbles-send" notification)
いかないようです(もちろんif文も削除しました)。
提案?
答え1
うん、電話してください。notify-send
警告フックのコマンド(存在する場合、そうでない場合はこれを取得するためにティータイムをパッチする必要があるかもしれません)
答え2
Emacs 24では、notifications.el
elispコードから直接D-Bus通知を送信できます。上記の@yhagerのフックを書き直してください。
(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)))
より便利なパラメータの説明があります。通知ページ~のEmacs Lispリファレンスマニュアル(:sound-file
代わりにオプションを含めてください:sound-name
。XDGサウンドテーマの実装)。
答え3
試行錯誤により、次のような再定義が可能であることを発見しました。
(defun show-notification (notification)
"Show notification. Use notify-send."
(start-process "tea-time-notify-notification" nil "notify-send" notification)
)
もっと素敵なことをすることもできます。
(start-process "tea-time-notify-notification" nil "notify-send" "-i" (expand-file-name "~/path/to/your/icon/YourIconName.png") "Emacs Tea Timer" notification)
通知デーモンへのアイコン(これ適切)通知ポップアップで太い「要約」テキスト(「Emacs Tea Timer」)を使用します。
答え4
最新のtea-time.elには、これを達成するために使用できるフックがあります。
Emacsの初期化に以下を追加します。
(add-hook 'tea-time-notification-hook
(function (lambda()
(start-process "tea-timer-notification" nil "notify-send" "Time is up!"))))