IRC クライアントとして riece を使ってるんですが,新着メッセージが来る度にポップアップで通知したいと思いました.
というわけで,少し調べてみると,
きちめもさんに情報がありました.
が,そのまま使うと,メッセージに
これあげるね > hogeさん
なんてあったときに,
">" がシェルのリダイレクトとして解釈されて,"hogeさん"なんてファイルができたり,
# ここは補足ね
なんてあったときに,
"#"がコメントとして解釈されて空白のポップアップが上がったりしました.
てなわけで,そうならないよう簡単に書き直してみました.
(defun riece-popup-message (message)
(let ((speaker (riece-format-identity (riece-message-speaker message) t))
(text (riece-message-text message))
(channel (riece-identity-prefix (riece-message-target message))))
(call-process-shell-command
(concat "notify-send -t 9000 " "'<" channel "> " speaker "' '" text "'")))
message)
とりあえずこんな感じ.
concat の部分を,きちめもさんところと少し変えて,シングルクォートで囲んでやりました.
これで,上記のような挙動をすることはなくなりました.