color code cleanups
This commit is contained in:
parent
00d1256eba
commit
bb2732b621
122
color.go
122
color.go
|
@ -7,19 +7,9 @@ package main
|
||||||
// https://jvns.ca/blog/2024/10/01/terminal-colours/
|
// https://jvns.ca/blog/2024/10/01/terminal-colours/
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"math/rand"
|
|
||||||
|
|
||||||
"github.com/gdamore/tcell/v2"
|
|
||||||
|
|
||||||
"github.com/awesome-gocui/gocui"
|
"github.com/awesome-gocui/gocui"
|
||||||
|
|
||||||
"go.wit.com/log"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
//w.v.SelBgColor = gocui.ColorCyan
|
|
||||||
//color.go: w.v.SelFgColor = gocui.ColorBlack
|
|
||||||
//color.go: w.v.BgColor = gocui.ColorGreen
|
|
||||||
|
|
||||||
var none gocui.Attribute = gocui.AttrNone
|
var none gocui.Attribute = gocui.AttrNone
|
||||||
var lightPurple gocui.Attribute = gocui.GetColor("#DDDDDD") // light purple
|
var lightPurple gocui.Attribute = gocui.GetColor("#DDDDDD") // light purple
|
||||||
var darkPurple gocui.Attribute = gocui.GetColor("#FFAA55") // Dark Purple
|
var darkPurple gocui.Attribute = gocui.GetColor("#FFAA55") // Dark Purple
|
||||||
|
@ -142,11 +132,14 @@ var colorCheckbox colorT = colorT{
|
||||||
name: "normal checkbox",
|
name: "normal checkbox",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
// widget debugging colors. these widgets aren't displayed unless you are debugging
|
// widget debugging colors. these widgets aren't displayed unless you are debugging
|
||||||
var colorRoot colorT = colorT{gocui.ColorRed, none, powdererBlue, none, gocui.ColorBlue, "debug root"}
|
var colorRoot colorT = colorT{gocui.ColorRed, none, powdererBlue, none, gocui.ColorBlue, "debug root"}
|
||||||
var colorFlag colorT = colorT{gocui.ColorRed, none, powdererBlue, none, gocui.ColorGreen, "debug flag"}
|
var colorFlag colorT = colorT{gocui.ColorRed, none, powdererBlue, none, gocui.ColorGreen, "debug flag"}
|
||||||
var colorBox colorT = colorT{gocui.ColorRed, none, lightPurple, none, gocui.ColorCyan, "debug box"}
|
var colorBox colorT = colorT{gocui.ColorRed, none, lightPurple, none, gocui.ColorCyan, "debug box"}
|
||||||
var colorGrid colorT = colorT{gocui.ColorRed, none, lightPurple, none, gocui.ColorRed, "debug grid"}
|
var colorGrid colorT = colorT{gocui.ColorRed, none, lightPurple, none, gocui.ColorRed, "debug grid"}
|
||||||
|
*/
|
||||||
|
|
||||||
var colorNone colorT = colorT{none, none, none, none, none, "debug none"}
|
var colorNone colorT = colorT{none, none, none, none, none, "debug none"}
|
||||||
|
|
||||||
// actually sets the colors for the gocui element
|
// actually sets the colors for the gocui element
|
||||||
|
@ -157,6 +150,7 @@ var colorNone colorT = colorT{none, none, none, none, none, "debug none"}
|
||||||
// TODO: maybe enough of us could actually do that if we made it a goal.
|
// TODO: maybe enough of us could actually do that if we made it a goal.
|
||||||
// TODO: start with riscv boards and fix it universally there
|
// TODO: start with riscv boards and fix it universally there
|
||||||
// TODO: so just a small little 'todo' item here
|
// TODO: so just a small little 'todo' item here
|
||||||
|
/*
|
||||||
func (tk *guiWidget) setColor(newColor *colorT) {
|
func (tk *guiWidget) setColor(newColor *colorT) {
|
||||||
if tk.color == newColor {
|
if tk.color == newColor {
|
||||||
// nothing to do since the colors have nto changed
|
// nothing to do since the colors have nto changed
|
||||||
|
@ -173,112 +167,4 @@ func (tk *guiWidget) setColor(newColor *colorT) {
|
||||||
// log.Log(NOW, "Set the node to color =", tk.color.name)
|
// log.Log(NOW, "Set the node to color =", tk.color.name)
|
||||||
tk.Show()
|
tk.Show()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
func (w *guiWidget) disableColor() {
|
|
||||||
if w.color != &colorDisabled {
|
|
||||||
w.defaultColor = w.color
|
|
||||||
}
|
|
||||||
w.setColor(&colorDisabled)
|
|
||||||
}
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
func (w *guiWidget) setDefaultHighlight() {
|
|
||||||
if w.v == nil {
|
|
||||||
log.Log(ERROR, "SetColor() failed on view == nil")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
w.v.SelBgColor = gocui.ColorGreen
|
|
||||||
w.v.SelFgColor = gocui.ColorBlack
|
|
||||||
}
|
|
||||||
|
|
||||||
func randColor() gocui.Attribute {
|
|
||||||
colors := []string{"Green", "#FFAA55", "Yellow", "Blue", "Red", "Black", "White"}
|
|
||||||
i := rand.Intn(len(colors))
|
|
||||||
log.Log(NOW, "randColor() i =", i)
|
|
||||||
return gocui.GetColor(colors[i])
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *guiWidget) redoColor(draw bool) {
|
|
||||||
if w == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Sleep(.05)
|
|
||||||
w.setDefaultHighlight()
|
|
||||||
// w.setDefaultWidgetColor()
|
|
||||||
w.Show()
|
|
||||||
|
|
||||||
for _, child := range w.children {
|
|
||||||
child.redoColor(draw)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// what genius figured this out?
|
|
||||||
// originally from github.com/dimasma0305/GoFetch
|
|
||||||
func get_teminal_color_palette() string {
|
|
||||||
// var runes rune
|
|
||||||
// color1 := "\x1b[0;29m \x1b[0m"
|
|
||||||
// runes = []rune(color1)
|
|
||||||
// view.WriteRunes(runes)
|
|
||||||
|
|
||||||
color1 := "\x1b[0;29m \x1b[0m"
|
|
||||||
color2 := "\x1b[0;31m \x1b[0m"
|
|
||||||
color3 := "\x1b[0;32m \x1b[0m"
|
|
||||||
color4 := "\x1b[0;33m \x1b[0m"
|
|
||||||
color5 := "\x1b[0;34m \x1b[0m"
|
|
||||||
color6 := "\x1b[0;35m \x1b[0m"
|
|
||||||
color7 := "\x1b[0;36m \x1b[0m"
|
|
||||||
color8 := "\x1b[0;37m \x1b[0m"
|
|
||||||
|
|
||||||
return color1 + " " + color2 + " " + color3 + " " + color4 + " " + color5 + " " + color6 + " " + color7 + " " + color8
|
|
||||||
}
|
|
||||||
|
|
||||||
func (tk *guiWidget) SetColorRed() {
|
|
||||||
tk.color = new(colorT)
|
|
||||||
tk.color.fg = gocui.ColorRed
|
|
||||||
}
|
|
||||||
|
|
||||||
func (tk *guiWidget) setColorBlue() {
|
|
||||||
// r, g, b :=
|
|
||||||
// newgreen := gocui.NewRGBColor(tcell.ColorLightBlue.RGB())
|
|
||||||
|
|
||||||
// tk.color.fg = gocui.ColorBlue
|
|
||||||
tk.color.bg = gocui.NewRGBColor(tcell.ColorLightBlue.RGB())
|
|
||||||
}
|
|
||||||
|
|
||||||
// weird. lots of color problems for me on debian sid using the traditional Andy Herzfield 'gnome'
|
|
||||||
func (tk *guiWidget) setColorButtonDenseOLD() {
|
|
||||||
/*
|
|
||||||
cellgreen := tcell.ColorLightGreen
|
|
||||||
r, g, b := cellgreen.RGB()
|
|
||||||
newgreen := gocui.NewRGBColor(r, g, b)
|
|
||||||
*/
|
|
||||||
|
|
||||||
// tk.color.fg = gocui.ColorBlue
|
|
||||||
if tk.color == nil {
|
|
||||||
tk.color = new(colorT)
|
|
||||||
}
|
|
||||||
lightGreen := gocui.GetColor("0x90EE90")
|
|
||||||
lightGreen = gocui.GetColor("0x008000")
|
|
||||||
lightGreen = gocui.NewRGBColor(0x00, 0x80, 0x00)
|
|
||||||
|
|
||||||
tk.color.frame = gocui.ColorYellow
|
|
||||||
tk.color.fg = gocui.AttrNone
|
|
||||||
tk.color.bg = gocui.ColorGreen
|
|
||||||
tk.color.bg = lightGreen
|
|
||||||
tk.color.bg = gocui.Attribute(tcell.ColorLightGreen)
|
|
||||||
tk.color.bg = superLightGrey
|
|
||||||
// bg: gocui.ColorGreen,
|
|
||||||
tk.color.selFg = gocui.AttrNone
|
|
||||||
tk.color.selBg = gocui.ColorGreen
|
|
||||||
|
|
||||||
// tk.color = &colorButtonDense
|
|
||||||
|
|
||||||
/*
|
|
||||||
tk.color.selFg = gocui.AttrNone
|
|
||||||
r, g, b := tcell.ColorLightGreen.RGB()
|
|
||||||
log.Info("color =", tcell.ColorLightGreen.CSS(), r, g, b)
|
|
||||||
tk.color.selBg = gocui.NewRGBColor(r, g, b)
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
51
colorNew.go
51
colorNew.go
|
@ -6,7 +6,10 @@ package main
|
||||||
// simple colors for light and dark
|
// simple colors for light and dark
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math/rand"
|
||||||
|
|
||||||
"github.com/awesome-gocui/gocui"
|
"github.com/awesome-gocui/gocui"
|
||||||
|
log "go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DONE ON ENABLE() WIDGET
|
// DONE ON ENABLE() WIDGET
|
||||||
|
@ -254,3 +257,51 @@ func (tk *guiWidget) setColorModal() {
|
||||||
}
|
}
|
||||||
tk.updateColor()
|
tk.updateColor()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// what genius figured this out?
|
||||||
|
func (tk *guiWidget) setColorTextbox() {
|
||||||
|
if tk.color == nil {
|
||||||
|
tk.color = new(colorT)
|
||||||
|
}
|
||||||
|
if me.dark {
|
||||||
|
tk.color.frame = gocui.ColorRed
|
||||||
|
tk.color.fg = gocui.ColorRed
|
||||||
|
tk.color.bg = gocui.ColorBlack
|
||||||
|
tk.color.selFg = gocui.ColorBlack
|
||||||
|
tk.color.selBg = gocui.AttrNone
|
||||||
|
} else {
|
||||||
|
tk.color.frame = gocui.ColorRed
|
||||||
|
tk.color.fg = gocui.AttrNone
|
||||||
|
tk.color.bg = gocui.AttrNone
|
||||||
|
tk.color.selFg = gocui.AttrNone
|
||||||
|
tk.color.selBg = gocui.ColorWhite
|
||||||
|
}
|
||||||
|
tk.updateColor()
|
||||||
|
}
|
||||||
|
|
||||||
|
// what genius figured this out?
|
||||||
|
// originally from github.com/dimasma0305/GoFetch
|
||||||
|
func get_teminal_color_palette() string {
|
||||||
|
// var runes rune
|
||||||
|
// color1 := "\x1b[0;29m \x1b[0m"
|
||||||
|
// runes = []rune(color1)
|
||||||
|
// view.WriteRunes(runes)
|
||||||
|
|
||||||
|
color1 := "\x1b[0;29m \x1b[0m"
|
||||||
|
color2 := "\x1b[0;31m \x1b[0m"
|
||||||
|
color3 := "\x1b[0;32m \x1b[0m"
|
||||||
|
color4 := "\x1b[0;33m \x1b[0m"
|
||||||
|
color5 := "\x1b[0;34m \x1b[0m"
|
||||||
|
color6 := "\x1b[0;35m \x1b[0m"
|
||||||
|
color7 := "\x1b[0;36m \x1b[0m"
|
||||||
|
color8 := "\x1b[0;37m \x1b[0m"
|
||||||
|
|
||||||
|
return color1 + " " + color2 + " " + color3 + " " + color4 + " " + color5 + " " + color6 + " " + color7 + " " + color8
|
||||||
|
}
|
||||||
|
|
||||||
|
func randColor() gocui.Attribute {
|
||||||
|
colors := []string{"Green", "#FFAA55", "Yellow", "Blue", "Red", "Black", "White"}
|
||||||
|
i := rand.Intn(len(colors))
|
||||||
|
log.Log(NOW, "randColor() i =", i)
|
||||||
|
return gocui.GetColor(colors[i])
|
||||||
|
}
|
||||||
|
|
14
treeAdd.go
14
treeAdd.go
|
@ -42,17 +42,17 @@ func addWidget(n *tree.Node) {
|
||||||
switch n.WidgetType {
|
switch n.WidgetType {
|
||||||
case widget.Root:
|
case widget.Root:
|
||||||
log.Log(INFO, "setStartWH() rootNode w.id =", n.WidgetId, "w.name", n.String())
|
log.Log(INFO, "setStartWH() rootNode w.id =", n.WidgetId, "w.name", n.String())
|
||||||
tk.color = &colorRoot
|
// tk.color = &colorRoot
|
||||||
setFake(n)
|
setFake(n)
|
||||||
return
|
return
|
||||||
case widget.Flag:
|
case widget.Flag:
|
||||||
tk.color = &colorFlag
|
// tk.color = &colorFlag
|
||||||
setFake(n)
|
setFake(n)
|
||||||
return
|
return
|
||||||
case widget.Window:
|
case widget.Window:
|
||||||
tk.frame = false
|
tk.frame = false
|
||||||
tk.labelN = tk.GetText() + " X"
|
tk.labelN = tk.GetText() + " X"
|
||||||
tk.setColor(&colorWindow)
|
// tk.setColor(&colorWindow)
|
||||||
me.newWindowTrigger <- tk
|
me.newWindowTrigger <- tk
|
||||||
redoWindows(0, 0)
|
redoWindows(0, 0)
|
||||||
hideHelp()
|
hideHelp()
|
||||||
|
@ -64,7 +64,7 @@ func addWidget(n *tree.Node) {
|
||||||
n.State.Label = "moreSTDOUT"
|
n.State.Label = "moreSTDOUT"
|
||||||
return
|
return
|
||||||
case widget.Tab:
|
case widget.Tab:
|
||||||
tk.color = &colorTab
|
// tk.color = &colorTab
|
||||||
return
|
return
|
||||||
case widget.Button:
|
case widget.Button:
|
||||||
if tk.node.IsEnabled() {
|
if tk.node.IsEnabled() {
|
||||||
|
@ -84,10 +84,12 @@ func addWidget(n *tree.Node) {
|
||||||
case widget.Textbox:
|
case widget.Textbox:
|
||||||
n.State.Label = ""
|
n.State.Label = ""
|
||||||
tk.labelN = " "
|
tk.labelN = " "
|
||||||
tk.color = &colorDropdown
|
// tk.color = &colorDropdown
|
||||||
|
tk.setColorInput()
|
||||||
return
|
return
|
||||||
case widget.Combobox:
|
case widget.Combobox:
|
||||||
tk.color = &colorCombobox
|
// tk.color = &colorCombobox
|
||||||
|
tk.setColorInput()
|
||||||
return
|
return
|
||||||
case widget.Box:
|
case widget.Box:
|
||||||
// tk.color = &colorBox
|
// tk.color = &colorBox
|
||||||
|
|
|
@ -187,13 +187,13 @@ func (tk *guiWidget) drawView() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *guiWidget) DrawAt(offsetW, offsetH int) {
|
func (w *guiWidget) DrawAt(offsetW, offsetH int) {
|
||||||
w.setColor(&colorActiveW)
|
// w.setColor(&colorActiveW)
|
||||||
w.placeWidgets(offsetW, offsetH) // compute the sizes & places for each widget
|
w.placeWidgets(offsetW, offsetH) // compute the sizes & places for each widget
|
||||||
// w.dumpWidget(fmt.Sprintf("DrawAt(%d,%d)", offsetW, offsetH))
|
// w.dumpWidget(fmt.Sprintf("DrawAt(%d,%d)", offsetW, offsetH))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *guiWidget) simpleDrawAt(offsetW, offsetH int) {
|
func (w *guiWidget) simpleDrawAt(offsetW, offsetH int) {
|
||||||
w.setColor(&colorActiveW)
|
// w.setColor(&colorActiveW)
|
||||||
w.dumpWidget("simpleDrawAt()")
|
w.dumpWidget("simpleDrawAt()")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue