summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorTim Culverhouse <tim@timculverhouse.com>2022-04-20 09:38:56 -0500
committerdelthas <delthas@dille.cc>2022-04-20 18:11:23 +0200
commit80d5d8b35b450f7183fd46beedd7316f307c2b8d (patch)
treed063526395629aceddc645ee11e80ad677099773 /ui
parentUpdate mailing list (diff)
Add a config option for unread buffer text color
This patch adds the ability to set a config option for changing the foreground text color of unread buffers (This was refactored slightly by delthas.)
Diffstat (limited to 'ui')
-rw-r--r--ui/buffers.go9
-rw-r--r--ui/ui.go7
2 files changed, 12 insertions, 4 deletions
diff --git a/ui/buffers.go b/ui/buffers.go
index fa77414..553de9e 100644
--- a/ui/buffers.go
+++ b/ui/buffers.go
@@ -195,6 +195,8 @@ type buffer struct {
}
type BufferList struct {
+ colors ConfigColors
+
list []buffer
overlay *buffer
current int
@@ -210,8 +212,9 @@ type BufferList struct {
// NewBufferList returns a new BufferList.
// Call Resize() once before using it.
-func NewBufferList(mergeLine func(*Line, Line)) BufferList {
+func NewBufferList(colors ConfigColors, mergeLine func(*Line, Line)) BufferList {
return BufferList{
+ colors: colors,
list: []buffer{},
clicked: -1,
doMergeLine: mergeLine,
@@ -550,7 +553,7 @@ func (bs *BufferList) DrawVerticalBufferList(screen tcell.Screen, x0, y0, width,
y := y0 + i
st := tcell.StyleDefault
if b.unread {
- st = st.Bold(true)
+ st = st.Bold(true).Foreground(bs.colors.Unread)
}
if bi == bs.current || bi == bs.clicked {
st = st.Reverse(true)
@@ -644,7 +647,7 @@ func (bs *BufferList) DrawHorizontalBufferList(screen tcell.Screen, x0, y0, widt
}
st := tcell.StyleDefault
if b.unread {
- st = st.Bold(true)
+ st = st.Bold(true).Foreground(bs.colors.Unread)
} else if i == bs.current {
st = st.Underline(true)
}
diff --git a/ui/ui.go b/ui/ui.go
index f3d232b..77757cb 100644
--- a/ui/ui.go
+++ b/ui/ui.go
@@ -19,6 +19,11 @@ type Config struct {
AutoComplete func(cursorIdx int, text []rune) []Completion
Mouse bool
MergeLine func(former *Line, addition Line)
+ Colors ConfigColors
+}
+
+type ConfigColors struct {
+ Unread tcell.Color
}
type UI struct {
@@ -84,7 +89,7 @@ func New(config Config) (ui *UI, err error) {
close(ui.Events)
}()
- ui.bs = NewBufferList(ui.config.MergeLine)
+ ui.bs = NewBufferList(config.Colors, ui.config.MergeLine)
ui.e = NewEditor(ui.config.AutoComplete)
ui.Resize()