aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/aerc-config.5.scd8
-rw-r--r--widgets/msgviewer.go6
-rw-r--r--widgets/pgpinfo.go25
3 files changed, 23 insertions, 16 deletions
diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd
index d13587c8..518fe517 100644
--- a/doc/aerc-config.5.scd
+++ b/doc/aerc-config.5.scd
@@ -254,7 +254,8 @@ These options are configured in the *[ui]* section of aerc.conf.
Have a look at *aerc-stylesets*(7) as to how a styleset looks like.
*icon-unencrypted*
- The icon to display for unencrypted mails.
+ The icon to display for unencrypted mails. The status indicator is only
+ displayed if an icon is set.
Default: ""
@@ -271,9 +272,10 @@ These options are configured in the *[ui]* section of aerc.conf.
*icon-signed-encrypted*
The icon to display for signed and encrypted mails where the signature
- was successfully verified.
+ was successfully verified. The combined icon is only used if set,
+ otherwise the signed and encrypted icons are displayed separately.
- Default: [s|e]
+ Default: ""
*icon-unknown*
The icon to display for signed mails which could not be verified due to
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go
index 0e6af5b5..d88785ce 100644
--- a/widgets/msgviewer.go
+++ b/widgets/msgviewer.go
@@ -93,9 +93,9 @@ func NewMessageViewer(acct *AccountView,
{Strategy: ui.SIZE_EXACT, Size: ui.Const(headerHeight)},
}
- if msg.MessageDetails() != nil {
+ if msg.MessageDetails() != nil || conf.Ui.IconUnencrypted != "" {
height := 1
- if msg.MessageDetails().IsSigned && msg.MessageDetails().IsEncrypted {
+ if msg.MessageDetails() != nil && msg.MessageDetails().IsSigned && msg.MessageDetails().IsEncrypted {
height = 2
}
rows = append(rows, ui.GridSpec{Strategy: ui.SIZE_EXACT, Size: ui.Const(height)})
@@ -125,7 +125,7 @@ func NewMessageViewer(acct *AccountView,
borderChar := acct.UiConfig().BorderCharHorizontal
grid.AddChild(header).At(0, 0)
- if msg.MessageDetails() != nil {
+ if msg.MessageDetails() != nil || conf.Ui.IconUnencrypted != "" {
grid.AddChild(NewPGPInfo(msg.MessageDetails(), acct.UiConfig())).At(1, 0)
grid.AddChild(ui.NewFill(borderChar, borderStyle)).At(2, 0)
grid.AddChild(switcher).At(3, 0)
diff --git a/widgets/pgpinfo.go b/widgets/pgpinfo.go
index 38118b73..2b21c22a 100644
--- a/widgets/pgpinfo.go
+++ b/widgets/pgpinfo.go
@@ -40,7 +40,7 @@ func (p *PGPInfo) DrawSignature(ctx *ui.Context) {
p.details.SignatureError)
} else {
icon := p.uiConfig.IconSigned
- if p.details.IsEncrypted {
+ if p.details.IsEncrypted && p.uiConfig.IconSignedEncrypted != "" {
icon = p.uiConfig.IconSignedEncrypted
}
x := ctx.Printf(0, 0, validStyle, "%s Authentic ", icon)
@@ -55,29 +55,34 @@ func (p *PGPInfo) DrawEncryption(ctx *ui.Context, y int) {
validStyle := p.uiConfig.GetStyle(config.STYLE_SUCCESS)
defaultStyle := p.uiConfig.GetStyle(config.STYLE_DEFAULT)
+ // if a sign-encrypt combination icon is set, use that
icon := p.uiConfig.IconEncrypted
- if p.details.IsSigned && p.details.SignatureValidity == models.Valid {
+ if p.details.IsSigned && p.details.SignatureValidity == models.Valid && p.uiConfig.IconSignedEncrypted != "" {
icon = strings.Repeat(" ", utf8.RuneCountInString(p.uiConfig.IconSignedEncrypted))
}
- x := ctx.Printf(0, y, validStyle, "%s Encrypted ", icon)
- x += ctx.Printf(x, y, defaultStyle,
- "To %s (%8X) ", p.details.DecryptedWith, p.details.DecryptedWithKeyId)
+ x := ctx.Printf(0, y, validStyle, "%s Encrypted", icon)
+ x += ctx.Printf(x+1, y, defaultStyle, "To %s (%8X) ", p.details.DecryptedWith, p.details.DecryptedWithKeyId)
if !p.details.IsSigned {
- x += ctx.Printf(x, y, warningStyle,
- "(message not signed!)")
+ x += ctx.Printf(x, y, warningStyle, "(message not signed!)")
}
}
func (p *PGPInfo) Draw(ctx *ui.Context) {
+ warningStyle := p.uiConfig.GetStyle(config.STYLE_WARNING)
defaultStyle := p.uiConfig.GetStyle(config.STYLE_DEFAULT)
ctx.Fill(0, 0, ctx.Width(), ctx.Height(), ' ', defaultStyle)
- if p.details.IsSigned && p.details.IsEncrypted {
+
+ switch {
+ case p.details == nil && p.uiConfig.IconUnencrypted != "":
+ x := ctx.Printf(0, 0, warningStyle, "%s ", p.uiConfig.IconUnencrypted)
+ ctx.Printf(x, 0, defaultStyle, "message unencrypted and unsigned")
+ case p.details.IsSigned && p.details.IsEncrypted:
p.DrawSignature(ctx)
p.DrawEncryption(ctx, 1)
- } else if p.details.IsSigned {
+ case p.details.IsSigned:
p.DrawSignature(ctx)
- } else if p.details.IsEncrypted {
+ case p.details.IsEncrypted:
p.DrawEncryption(ctx, 0)
}
}