~sircmpwn/aerc

84965d680cff655c7734070ef93fd3c1e2177748 — Drew DeVault 1 year, 9 months ago 700dea2
Use tcell.Style.Reverse instead of black on white
M lib/ui/borders.go => lib/ui/borders.go +1 -1
@@ 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

M lib/ui/tab.go => lib/ui/tab.go +3 -9
@@ 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)
}


M lib/ui/text.go => lib/ui/text.go +10 -0
@@ 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)
}

M widgets/aerc.go => widgets/aerc.go +1 -1
@@ 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)


M widgets/dirlist.go => widgets/dirlist.go +1 -2
@@ 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)

M widgets/msglist.go => widgets/msglist.go +1 -2
@@ 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)

M widgets/status.go => widgets/status.go +8 -7
@@ 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)