質問: アルパインで新着メールの通知をカスタマイズするにはどうすればよいですか? 私はメインのメールリーダーとしてalpineを使用しています。私は一日のほとんどをターミナルやemacsで過ごしていますが、notify-binを使用して新着メールのかなりの通知を受け取るのはいいことです。新しいメールを受信したときにカスタムコマンドを実行するようにalpineを構成する方法はありますか?
回答: alpineには「newmail fifo path」構成オプションがあります。ヘルプの引用: alpineにfifo特殊ファイル(名前付きパイプとも呼ばれます)を作成させて、現在のフォルダー、inbox、またはで新しいメッセージを受信するたびに1行のメッセージを送信することができます。開いているstayopenフォルダ。2つの異なるalpineが両方とも同じfifoに書き込むのを防ぐために、alpineは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 -oalpine-notifier」コマンドでコンパイルします。アルパインが開始された後、「アルパイン通知」を開始します。ポップアップ通知をお楽しみください。