diff --git a/colors.go b/colors.go index 85f52a9..67f4a28 100644 --- a/colors.go +++ b/colors.go @@ -1,6 +1,10 @@ package main -import ui "github.com/gizak/termui" +import ( + "regexp" + + ui "github.com/gizak/termui" +) /* Valid colors: @@ -38,6 +42,17 @@ var ColorMap = map[string]ui.Attribute{ "mbarchart.text.fg": ui.ColorWhite, "par.text.fg": ui.ColorWhite, "par.text.bg": ui.ColorDefault, + "par.text.hi": ui.ColorBlack, "sparkline.line.fg": ui.ColorGreen, "sparkline.title.fg": ui.ColorWhite, } + +func InvertColorMap() { + re := regexp.MustCompile(".*.fg") + for k, _ := range ColorMap { + if re.FindAllString(k, 1) != nil { + ColorMap[k] = ui.ColorBlack + } + } + ColorMap["par.text.hi"] = ui.ColorWhite +} diff --git a/cwidgets/compact/grid.go b/cwidgets/compact/grid.go index 899c2e4..6779cd1 100644 --- a/cwidgets/compact/grid.go +++ b/cwidgets/compact/grid.go @@ -4,7 +4,7 @@ import ( ui "github.com/gizak/termui" ) -var header = NewCompactHeader() +var header *CompactHeader type CompactGrid struct { ui.GridBufferer @@ -16,6 +16,7 @@ type CompactGrid struct { } func NewCompactGrid() *CompactGrid { + header = NewCompactHeader() // init column header return &CompactGrid{} } diff --git a/cwidgets/compact/text.go b/cwidgets/compact/text.go index 7f83da5..b8bc8cf 100644 --- a/cwidgets/compact/text.go +++ b/cwidgets/compact/text.go @@ -17,7 +17,7 @@ func NewTextCol(s string) *TextCol { } func (w *TextCol) Highlight() { - w.TextFgColor = ui.ColorBlack + w.TextFgColor = ui.ThemeAttr("par.text.hi") w.TextBgColor = ui.ThemeAttr("par.text.fg") } diff --git a/main.go b/main.go index fbbab9e..5965651 100644 --- a/main.go +++ b/main.go @@ -35,6 +35,7 @@ func main() { var activeOnlyFlag = flag.Bool("a", false, "show active containers only") var sortFieldFlag = flag.String("s", "", "select container sort field") var reverseSortFlag = flag.Bool("r", false, "reverse container sort order") + var invertFlag = flag.Bool("i", false, "invert default colors") flag.Parse() if *versionFlag == true { @@ -72,6 +73,9 @@ func main() { } // init ui + if *invertFlag == true { + InvertColorMap() + } ui.ColorMap = ColorMap // override default colormap if err := ui.Init(); err != nil { panic(err)