Як я можу налаштувати нове повідомлення електронною поштою на альпійській мові?


11

Я використовую альпійський як основний читач пошти. Хоча я проводжу більшу частину свого дня в терміналі чи Emacs, все-таки було б добре отримати нове повідомлення про нову пошту за допомогою notify-bin. Чи є спосіб налаштувати альпійський запуск користувальницької команди, коли надходить нова пошта?

Відповіді:


7

На альпійській мові є "NewMail FIFO Path". Цитування довідки:

Можливо, ви зможете створити спеціальний файл FIFO (який також називається названа труба), де він надсилатиме однорядне повідомлення кожного разу, коли надходить нове повідомлення у поточній папці, INBOX або будь-яких відкритих папках Stayopen. Щоб захистити від двох різних Alpines, які пишуть в один і той же FIFO, Alpine створить FIFO і записуватиме його лише тоді, коли його ще не існує.

Отже, я встановив опцію "/tmp/alpine.fifo" і написав просту утиліту для читання повідомлень з FIFO та виклику "сповіщення-відправлення":

#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" після запуску програми alpine. Насолоджуйтесь спливаючими сповіщеннями.


приємне рішення :-)
ехокс

Дивовижно. Я написав невеликий сценарій оболонки, щоб зробити по суті те ж саме.
Стівен Д

1
@steven: Я б проголосував за це, якщо ви будете люб'язно поділитися цим. :-)
Малабарба

Не зважаючи, я теж написав.
Малабарба

4

Оновлення :
Я не був задоволений своєю попередньою відповіддю, тому багато вдосконалив сценарій і зробив для нього github repo .

Тепер не потрібно запускати сценарій після запуску альпійської мови, сценарій подбає про все за вас. Ядро сценарію здебільшого те саме (я лише трохи покращив розбір):

#! /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)

Інша частина трохи розміщується тут, тому кожен, хто зацікавлений, може просто отримати її на репо .


1
Брюс, дякую за те, що поділився сценарієм! Тепер я знаю, як читати та обробляти повідомлення з FIFO, зберігаючи їх відкритими в оболонці. Не вдалося це зрозуміти під час налаштування сповіщувача для себе :)
Лінулін

@Linulin Cool. =) На жаль , фільтри я використовував для настройки contentі nameтрохи глючить в деяких випадках., Що трохи нерозумно , бо вони чомусь я відправив відповідь на все. = P
Малабарба

Дивовижно бачити оболонку, яку так добре використовують. Дякуємо, що опублікували його на github. Браво!
пташенята

1

Ви не можете використовувати спеціалізований інструмент сповіщення електронною поштою, наприклад Gnubiff, поштове сповіщення або kbiff?


Я хотів би використовувати повідомлення електронної пошти, щоб досягти чогось подібного, однак я не можу знайти жодної документації щодо налаштування команди електронної пошти-нової пошти.
Джонатан Нойфельд

1

Неможливо налаштувати "нове повідомлення поштою" альпійських.

Такої опції немає в документації по налаштуванню .

Також ось цитата зі списку розсилки від Едуардо Чаппи:

Я помітив, що альпійська видає візуальне попередження в терміналі gnome, блимаючи на екрані, коли приходить нова пошта. Чи є спосіб налаштувати сповіщення, щоб, наприклад, він відтворював звук чи щось таке?

[..]

Альпійська, як зараз можна здогадатися, подаватиме лише звуковий сигнал. У веб-альпійському можна надіслати файл, який буде відтворюватися (до браузера) для отримання нової пошти. У Unix, Mac або Windows Alpine такої функції немає.

Ваші варіанти зараз:

І щоб процитувати розробника мого фаворитного поштового клієнта:

Всі поштові клієнти смоктали ...

:-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.