Bir sonraki okunmamış mesajı tek bir tuşla mutt içinde açabilir miyim?


17

Bir sonraki okunmamış mesajı mutttek bir tuşla açmanın bir yolu var mı ? Varsayılan next-new-then-unreadolarak bağlı olan bir sonraki okunmamış öğeye geçebilirim Tab. Ancak, geçerli posta kutusunda okunmamış ileti yoksa, next-unread-mailboxbunun yerine kullanmak zorundayım (varsayılan olarak sınırsız). Zaten bu en uygunudur, çünkü yeni bir mesajım varsa, çıkın muttve mutttekrar açın , bu beni "yeni" mesajları içeren posta kutusuna taşımaz. (Muhtemelen posta kutusu okunmadı.)

Ayrıca, bunların her ikisi de dizin görünümünde bir sonraki iletiye gider ve iletiyi çağrı görünümünde (ile Enter) el ile açmam gerekir . Hangi posta kutusunda olursa olsun bir sonraki okunmamış mesajı açmanın bir yolu var mı ?

Neomutt kullanıyorum, bu yüzden bulduğum kısmi bir çözüm kenar çubuğu komutlarını kullanmak.

macro index,pager , '<sidebar-next-new><sidebar-open><enter>'

Sorun, bunun otomatik olarak sonraki okunmamış posta kutusunu (kenar çubuğundan) açmasıdır. Bu nedenle, geçerli posta kutusunda ve başka bir mesajda okunmamış mesajlar varsa, bu komut, mesajı geçerli yerine diğer posta kutusunda açar.

Yanıtlar:


4

Yeni başlayanlar için, yeni mesaja otomatik olarak atlamak için şöyle bir makro kullanabilirsiniz:

macro index     .n      "<next-unread-mailbox><enter><next-new-then-unread><enter>" "Go to new mail"

Ancak, yalnızca yeni mesaj yoksa Enter tuşa basılacağını ve geçerli mesajın açılacağını unutmayın.

Alternatif olarak Maildir, ~/bin/mutt-new.shyeni posta olup olmadığını kontrol edecek bir komut dosyası kullanabiliriz :

#!/usr/bin/env sh

if [ "$(find "$HOME"/.muttmail/box1/new -type f -printf '\n' | wc -l)" -eq 0 ]
then
    printf "I think there's no new mail\n" >&2
    printf "Press [ENTER] to continue\n" >&2
    read -r _
    exit 1
fi

echo 'push <next-unread-mailbox><enter><next-new-then-unread><enter>'

Bunu şuraya ekle ~/.muttrc:

macro index     .n        "!~/bin/mutt-new.sh" "Go to new"

DÜZENLE:

Buna ne dersiniz: Aşağıdaki komut dosyası önce geçerli posta kutusunda yeni posta olup olmadığını kontrol eder:

#!/usr/bin/env sh

cur_mbox=${1/=/}

echo "$1" >> /tmp/PAR
echo "$cur_mbox" >> /tmp/PAR

if [ ! "$(find "$HOME"/.muttmail/"$cur_mbox"/new -type f -printf '\n' | wc -l)" -eq 0 ]
then
    printf "There is new mail in this mailbox\n" >&2
    printf "Press [ENTER] to continue\n" >&2
    read -r _
    echo 'push <next-new-then-unread><enter>'
elif [ ! "$(find "$HOME"/.muttmail/ -type d -name new -exec ls {} \; | wc -l)" -eq 0 ]
then
    printf "There is new mail in other mailboxes\n" >&2
    printf "Press [ENTER] to continue\n" >&2
    read -r _
    echo 'push <next-unread-mailbox><enter><next-new-then-unread><enter>'
else
    printf "I think there's no new mail\n" >&2
    printf "Press [ENTER] to continue\n" >&2
    read -r _
    exit 1
fi

Bunu şuraya ekle ~/.muttrc:

folder-hook . 'set my_oldrecord=$record; set record=^; set my_folder=$record; set record=$my_oldrecord'
folder-hook . 'macro index .n "<enter-command>source \"~/bin/mutt-new.sh $my_folder |\"<return>" "Go to new"'

DÜZENLE:

Dedin:

Zaten bu en uygun değil, çünkü yeni bir mesajım varsa, mutt'tan çıkın ve mutt'u tekrar açın, bu beni "yeni" mesajları içeren posta kutusuna taşımaz. (Muhtemelen posta kutusu okunmadı.)

Bu, şu şekilde düzeltilebilir:

set mark_old=no

Cevap için teşekkürler. Bu yaklaşımla ilgili önemli bir sorun <next-unread-mailbox>, geçerli posta kutusunda okunmamış mesaj olup olmadığına bakılmaksızın çalışmasıdır . Bu durumda, diğer posta kutusuna geçiş yapar ve geçerli posta kutusundaki bir sonraki okunmamış mesajı açmaz. Başka bir sorun (soruma göre) <next-unread-mailbox>okunmamış / yeni mesajları değil, okunmamış posta kutularını aramasıdır .
Sparhawk

@Sparhawk: bkz. Düzenleme. Bu ilginç bir soru. Şanssız muttbir şekilde tamamen yazılabilir değildir ve bu bir utançtır.
Arkadiusz Drabczyk

@Sparhawk: başka bir düzenlemeye bakın. Önerdiğim makro, diğer malibokslara geçmeden önce mevcut posta kutusunda otomatik olarak yeni bir e-posta açar. Ayrýca mesajlarý ayrýldýktan Osonra nasýl devre dý býrakacaðýmý da önerdim mutt.
Arkadiusz Drabczyk

Teşekkürler. Şu anda tatildeyim, ama geri döndüğümde test edeceğim. Umut verici görünüyor.
Sparhawk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.