msglist: use distinct style for unread emails

This commit is contained in:
Yash Srivastav 2019-06-08 18:40:14 +05:30 committed by Drew DeVault
parent 06e1b45a78
commit 5f651b32e5
2 changed files with 20 additions and 5 deletions

View file

@ -171,16 +171,16 @@ func ParseIndexFormat(conf *config.AercConfig, number int,
var delFlag = ""
var flaggedFlag = ""
for _, flag := range msg.Flags {
if flag == "\\Seen" {
if flag == imap.SeenFlag {
readFlag = "O" // message is old
} else if flag == "\\Recent" {
} else if flag == imap.RecentFlag {
readFlag = "N" // message is new
} else if flag == "\\Answered" {
} else if flag == imap.AnsweredFlag {
readFlag = "r" // message has been replied to
} else if flag == "\\Deleted" {
} else if flag == imap.DeletedFlag {
delFlag = "D"
// TODO: check if attachments
} else if flag == "\\Flagged" {
} else if flag == imap.FlaggedFlag {
flaggedFlag = "!"
}
// TODO: check gpg stuff

View file

@ -4,6 +4,7 @@ import (
"fmt"
"log"
"github.com/emersion/go-imap"
"github.com/gdamore/tcell"
"github.com/mattn/go-runewidth"
@ -75,12 +76,26 @@ func (ml *MessageList) Draw(ctx *ui.Context) {
}
style := tcell.StyleDefault
// current row
if row == ml.selected-ml.scroll {
style = style.Reverse(true)
}
// deleted message
if _, ok := store.Deleted[msg.Uid]; ok {
style = style.Foreground(tcell.ColorGray)
}
// unread message
seen := false
for _, flag := range msg.Flags {
if flag == imap.SeenFlag {
seen = true
}
}
if !seen {
style = style.Bold(true)
}
ctx.Fill(0, row, ctx.Width(), 1, ' ', style)
fmtStr, args, err := lib.ParseIndexFormat(ml.conf, i, msg)
if err != nil {