summaryrefslogtreecommitdiff
path: root/widgets/msglist.go
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/msglist.go')
-rw-r--r--widgets/msglist.go23
1 files changed, 16 insertions, 7 deletions
diff --git a/widgets/msglist.go b/widgets/msglist.go
index df24526..ec14e79 100644
--- a/widgets/msglist.go
+++ b/widgets/msglist.go
@@ -194,14 +194,23 @@ func (ml *MessageList) drawRow(textWidth int, ctx *ui.Context, uid uint32, row i
return false
}
- confParams := map[config.ContextType]string{
- config.UI_CONTEXT_ACCOUNT: acct.AccountConfig().Name,
- config.UI_CONTEXT_FOLDER: acct.Directories().Selected(),
- }
- if msg.Envelope != nil {
- confParams[config.UI_CONTEXT_SUBJECT] = msg.Envelope.Subject
+ // TODO deprecate subject contextual UIs? Only related setting is styleset,
+ // should implement a better per-message styling method
+ // Check if we have any applicable ContextualUIConfigs
+ confs := ml.aerc.conf.GetContextualUIConfigs()
+ uiConfig := acct.Directories().UiConfig()
+ for _, c := range confs {
+ if c.ContextType == config.UI_CONTEXT_SUBJECT && msg.Envelope != nil {
+ if c.Regex.Match([]byte(msg.Envelope.Subject)) {
+ confParams := map[config.ContextType]string{
+ config.UI_CONTEXT_ACCOUNT: acct.AccountConfig().Name,
+ config.UI_CONTEXT_FOLDER: acct.Directories().Selected(),
+ config.UI_CONTEXT_SUBJECT: msg.Envelope.Subject,
+ }
+ uiConfig = ml.conf.GetUiConfig(confParams)
+ }
+ }
}
- uiConfig := ml.conf.GetUiConfig(confParams)
msg_styles := []config.StyleObject{}
// unread message