diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/marker/marker.go | 6 | ||||
-rw-r--r-- | lib/state/templates.go | 9 | ||||
-rw-r--r-- | lib/state/texter.go | 9 |
3 files changed, 24 insertions, 0 deletions
diff --git a/lib/marker/marker.go b/lib/marker/marker.go index 21c151f3..a0860be9 100644 --- a/lib/marker/marker.go +++ b/lib/marker/marker.go @@ -8,6 +8,7 @@ type Marker interface { Remark() Marked() []uint32 IsMarked(uint32) bool + IsVisualMark() bool ToggleVisualMark(bool) UpdateVisualMark() ClearVisualMark() @@ -114,6 +115,11 @@ func (mc *controller) Marked() []uint32 { return marked } +// IsVisualMark indicates whether visual marking mode is enabled. +func (mc *controller) IsVisualMark() bool { + return mc.visualMarkMode +} + // ToggleVisualMark enters or leaves the visual marking mode func (mc *controller) ToggleVisualMark(clear bool) { mc.visualMarkMode = !mc.visualMarkMode diff --git a/lib/state/templates.go b/lib/state/templates.go index e1570cd3..37767660 100644 --- a/lib/state/templates.go +++ b/lib/state/templates.go @@ -27,6 +27,7 @@ type DataSetter interface { Data() models.TemplateData SetHeaders(*mail.Header, *models.OriginalMail) SetInfo(*models.MessageInfo, int, bool) + SetVisual(bool) SetThreading(string, bool, int, int, bool, bool) SetComposer(Composer) SetAccount(*config.AccountConfig) @@ -54,6 +55,7 @@ type templateData struct { info *models.MessageInfo marked bool msgNum int + visual bool // message list threading threadInfo ThreadInfo @@ -94,6 +96,10 @@ func (d *templateData) SetInfo(info *models.MessageInfo, num int, marked bool, d.marked = marked } +func (d *templateData) SetVisual(visual bool) { + d.visual = visual +} + func (d *templateData) SetThreading(prefix string, same bool, count int, unread int, folded bool, context bool, ) { @@ -624,6 +630,9 @@ func (d *templateData) TrayInfo() string { if d.state.passthrough { tray = append(tray, texter().Passthrough()) } + if d.visual { + tray = append(tray, texter().Visual()) + } return strings.Join(tray, config.Statusline.Separator) } diff --git a/lib/state/texter.go b/lib/state/texter.go index 9212108d..f51d4d33 100644 --- a/lib/state/texter.go +++ b/lib/state/texter.go @@ -12,6 +12,7 @@ type texterInterface interface { Passthrough() string Sorting() string Threading() string + Visual() string FormatFilter(string) string FormatSearch(string) string } @@ -40,6 +41,10 @@ func (t text) Threading() string { return "threading" } +func (t text) Visual() string { + return "visual" +} + func (t text) FormatFilter(s string) string { return s } @@ -72,6 +77,10 @@ func (i icon) Threading() string { return "๐งต" } +func (i icon) Visual() string { + return "๐ถ" +} + func (i icon) FormatFilter(s string) string { return strings.ReplaceAll(s, "filter", "๐ฆ") } |