Ste*_*n D 11 email alpine-mail
我使用 alpine 作为我的主要邮件阅读器。虽然我一天的大部分时间都在终端或 Emacs 上度过,但使用 notify-bin 获得新邮件的漂亮通知仍然很好。有什么方法可以配置 alpine 在收到新邮件时运行自定义命令?
alpine 中有“NewMail FIFO Path”配置选项。引用帮助:
您可以让 Alpine 创建一个 FIFO 特殊文件(也称为命名管道),每次在当前文件夹、收件箱或任何打开的 Stayopen 文件夹中收到新消息时,它都会发送一条单行消息。为了防止两个不同的 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;
}
Run Code Online (Sandbox Code Playgroud)
将其保存到 alpine-notifier.c,并使用 'gcc alpine-notifier.c -o alpine-notifier' 命令进行编译。在 alpine 启动后启动 'alpine-notifier'。享受弹出通知。
归档时间: |
|
查看次数: |
3887 次 |
最近记录: |