回答:
alpineには "NewMail FIFO Path"設定オプションがあります。ヘルプを引用:
現在のフォルダー、受信トレイ、または開いているStayopenフォルダーで新しいメッセージを受信するたびに1行のメッセージを送信するFIFO特殊ファイル(名前付きパイプとも呼ばれます)をアルパインに作成させることができます。両方が同じFIFOに書き込む2つの異なるアルパインから保護するために、アルパインはFIFOがまだ存在しない場合にのみ作成して書き込みます。
そこで、オプションを「/tmp/alpine.fifo」に設定し、FIFOからメッセージを読み取って「notify-send」を呼び出す簡単なユーティリティを作成しました。
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#define FIFO_NAME "/tmp/alpine.fifo"
int main(void)
{
char s[512];
char cmd[512];
int num;
int fd = open(FIFO_NAME, O_RDONLY);
do {
if ((num = read(fd, s, 300)) == -1)
perror("read");
else {
s[num] = '\0';
sprintf(cmd, "notify-send -t 0 'New mail:' '%s'", s);
system(cmd);
}
} while (num > 0);
return 0;
}
それをalpine-notifier.cに保存し、「gcc alpine-notifier.c -o alpine-notifier」コマンドでコンパイルします。高山が開始された後、 'alpine-notifier'を開始します。ポップアップ通知をお楽しみください。
更新:
以前の回答に満足できなかったため、スクリプトを大幅に改善し、githubリポジトリを作成しました。
これで、高山を開始した後にスクリプトを開始する必要はありません。スクリプトがすべてを処理します。スクリプトのコアはほとんど同じです(解析を少しだけ改善しました)。
#! /bin/bash
while read L; do
n=$(($n + 1))
if [[ n -gt 3 ]]; then
name=`echo "$L" | sed 's/ \+/\t/g;s/^\(+ \)\?\([^\t]*\)\t\([^\t]*\)[\t ].*/\2/'`
subject=`echo "$L" | sed 's/ \+/\t/g;s/^\([^\t]*\)\t\(Re: \?\)\?\([^\t]*\)[\t ].*/\3/'`
box=`echo "$L" | sed 's/ \+/\t/g;s/^\([^\t]*\)\t\([^\t]*\)[\t ]\([^\t]*\).*/\3/'`
notify-send -t 10000 $iconcommand "Mail from $name" "$subject\n-\nIn your $box."
fi
done < <(cat alpine.fifo)
残りはここに投稿するには少し大きいので、興味のある人は誰でもリポジトリで入手できます。
content
とname
いくつかのケースでは少しバギーです。、彼らは私がすべての答えを掲示した理由ですので、少し愚かです。= P
Gnubiff、mail-notification、kbiffなどの専用のメール通知ツールを使用できませんか?
アルパインの「新着メール通知」はカスタマイズできません。
構成ドキュメントに記載されているそのようなオプションはありません。
また、ここにEduardo Chappaのメーリングリストからの引用があります:
アルパインは、新着メールが届くと、画面を点滅させてgnomeターミナルで視覚的な警告を表示することに気づきました。アラートをカスタマイズして、たとえば音などを再生する方法はありますか?
[..]
アルパインは、ご想像のとおり、ビープ音のみを鳴らします。Web Alpineでは、新着メールの通知用に再生するファイルを(ブラウザーに)送信できます。Unix、MacまたはWindows Alpineにはそのような機能はありません。
オプションは次のとおりです。
そして私のお気に入りのメールクライアントの開発者を引用すると:
すべてのメールクライアントは吸う...
:-)