summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/ui/borders.go2
-rw-r--r--lib/ui/tab.go12
-rw-r--r--lib/ui/text.go10
-rw-r--r--widgets/aerc.go2
-rw-r--r--widgets/dirlist.go3
-rw-r--r--widgets/msglist.go3
-rw-r--r--widgets/status.go15
7 files changed, 25 insertions, 22 deletions
diff --git a/lib/ui/borders.go b/lib/ui/borders.go
index 97df5df..9b7860e 100644
--- a/lib/ui/borders.go
+++ b/lib/ui/borders.go
@@ -49,7 +49,7 @@ func (bordered *Bordered) Draw(ctx *Context) {
 	y := 0
 	width := ctx.Width()
 	height := ctx.Height()
-	style := tcell.StyleDefault.Background(tcell.ColorWhite).Foreground(tcell.ColorBlack)
+	style := tcell.StyleDefault.Reverse(true)
 	if bordered.borders&BORDER_LEFT != 0 {
 		ctx.Fill(0, 0, 1, ctx.Height(), ' ', style)
 		x += 1
diff --git a/lib/ui/tab.go b/lib/ui/tab.go
index 32b195c..49bdffa 100644
--- a/lib/ui/tab.go
+++ b/lib/ui/tab.go
@@ -83,19 +83,13 @@ func (tabs *Tabs) Select(index int) {
 func (strip *TabStrip) Draw(ctx *Context) {
 	x := 0
 	for i, tab := range strip.Tabs {
-		style := tcell.StyleDefault.
-			Background(tcell.ColorWhite).
-			Foreground(tcell.ColorBlack)
+		style := tcell.StyleDefault.Reverse(true)
 		if strip.Selected == i {
-			style = tcell.StyleDefault.
-				Background(tcell.ColorDefault).
-				Foreground(tcell.ColorDefault)
+			style = tcell.StyleDefault
 		}
 		x += ctx.Printf(x, 0, style, " %s ", tab.Name)
 	}
-	style := tcell.StyleDefault.
-		Background(tcell.ColorWhite).
-		Foreground(tcell.ColorBlack)
+	style := tcell.StyleDefault.Reverse(true)
 	ctx.Fill(x, 0, ctx.Width()-x, 1, ' ', style)
 }
 
diff --git a/lib/ui/text.go b/lib/ui/text.go
index b962166..aa97954 100644
--- a/lib/ui/text.go
+++ b/lib/ui/text.go
@@ -16,6 +16,7 @@ type Text struct {
 	strategy     uint
 	fg           tcell.Color
 	bg           tcell.Color
+	reverse      bool
 	onInvalidate func(d Drawable)
 }
 
@@ -46,6 +47,12 @@ func (t *Text) Color(fg tcell.Color, bg tcell.Color) *Text {
 	return t
 }
 
+func (t *Text) Reverse(reverse bool) *Text {
+	t.reverse = reverse
+	t.Invalidate()
+	return t
+}
+
 func (t *Text) Draw(ctx *Context) {
 	size := runewidth.StringWidth(t.text)
 	x := 0
@@ -56,6 +63,9 @@ func (t *Text) Draw(ctx *Context) {
 		x = ctx.Width() - size
 	}
 	style := tcell.StyleDefault.Background(t.bg).Foreground(t.fg)
+	if t.reverse {
+		style = style.Reverse(true)
+	}
 	ctx.Fill(0, 0, ctx.Width(), ctx.Height(), ' ', style)
 	ctx.Printf(x, 0, style, t.text)
 }
diff --git a/widgets/aerc.go b/widgets/aerc.go
index 92fc06e..fdfc658 100644
--- a/widgets/aerc.go
+++ b/widgets/aerc.go
@@ -49,7 +49,7 @@ func NewAerc(conf *config.AercConfig, logger *log.Logger,
 
 	grid.AddChild(libui.NewText("aerc").
 		Strategy(libui.TEXT_CENTER).
-		Color(tcell.ColorBlack, tcell.ColorWhite))
+		Reverse(true))
 	grid.AddChild(tabs.TabStrip).At(0, 1)
 	grid.AddChild(tabs.TabContent).At(1, 0).Span(1, 2)
 
diff --git a/widgets/dirlist.go b/widgets/dirlist.go
index 58108ff..eb79bc4 100644
--- a/widgets/dirlist.go
+++ b/widgets/dirlist.go
@@ -109,8 +109,7 @@ func (dirlist *DirectoryList) Draw(ctx *ui.Context) {
 		}
 		style := tcell.StyleDefault
 		if name == dirlist.selected {
-			style = style.Background(tcell.ColorWhite).
-				Foreground(tcell.ColorBlack)
+			style = style.Reverse(true)
 		}
 		ctx.Fill(0, row, ctx.Width(), 1, ' ', style)
 		ctx.Printf(0, row, style, "%s", name)
diff --git a/widgets/msglist.go b/widgets/msglist.go
index 47be7bc..d8d419e 100644
--- a/widgets/msglist.go
+++ b/widgets/msglist.go
@@ -78,8 +78,7 @@ func (ml *MessageList) Draw(ctx *ui.Context) {
 
 		style := tcell.StyleDefault
 		if row == ml.selected-ml.scroll {
-			style = style.Background(tcell.ColorWhite).
-				Foreground(tcell.ColorBlack)
+			style = style.Reverse(true)
 		}
 		if _, ok := ml.store.Deleted[msg.Uid]; ok {
 			style = style.Foreground(tcell.ColorGray)
diff --git a/widgets/status.go b/widgets/status.go
index 7a746fa..3536760 100644
--- a/widgets/status.go
+++ b/widgets/status.go
@@ -24,8 +24,8 @@ type StatusMessage struct {
 func NewStatusLine() *StatusLine {
 	return &StatusLine{
 		fallback: StatusMessage{
-			bg:      tcell.ColorWhite,
-			fg:      tcell.ColorBlack,
+			bg:      tcell.ColorDefault,
+			fg:      tcell.ColorDefault,
 			message: "Idle",
 		},
 	}
@@ -46,15 +46,16 @@ func (status *StatusLine) Draw(ctx *ui.Context) {
 	if len(status.stack) != 0 {
 		line = status.stack[len(status.stack)-1]
 	}
-	style := tcell.StyleDefault.Background(line.bg).Foreground(line.fg)
+	style := tcell.StyleDefault.
+		Background(line.bg).Foreground(line.fg).Reverse(true)
 	ctx.Fill(0, 0, ctx.Width(), ctx.Height(), ' ', style)
 	ctx.Printf(0, 0, style, "%s", line.message)
 }
 
 func (status *StatusLine) Set(text string) *StatusMessage {
 	status.fallback = StatusMessage{
-		bg:      tcell.ColorWhite,
-		fg:      tcell.ColorBlack,
+		bg:      tcell.ColorDefault,
+		fg:      tcell.ColorDefault,
 		message: text,
 	}
 	status.Invalidate()
@@ -63,8 +64,8 @@ func (status *StatusLine) Set(text string) *StatusMessage {
 
 func (status *StatusLine) Push(text string, expiry time.Duration) *StatusMessage {
 	msg := &StatusMessage{
-		bg:      tcell.ColorWhite,
-		fg:      tcell.ColorBlack,
+		bg:      tcell.ColorDefault,
+		fg:      tcell.ColorDefault,
 		message: text,
 	}
 	status.stack = append(status.stack, msg)