aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/marker/marker.go6
-rw-r--r--lib/state/templates.go9
-rw-r--r--lib/state/texter.go9
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", "๐Ÿ”ฆ")
}