summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--widgets/terminal.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/widgets/terminal.go b/widgets/terminal.go
index 9849b73..07b0f45 100644
--- a/widgets/terminal.go
+++ b/widgets/terminal.go
@@ -60,14 +60,20 @@ func NewTerminal(cmd *exec.Cmd) (*Terminal, error) {
 
 	state := term.vterm.ObtainState()
 	term.colors = make(map[tcell.Color]tcell.Color)
-	for i := 0; i < 16; i += 1 {
-		// Set the first 16 colors to predictable near-black RGB values
+	for i := 0; i < 256; i += 1 {
 		tcolor := tcell.Color(i)
 		var r uint8 = 0
 		var g uint8 = 0
 		var b uint8 = uint8(i + 1)
-		state.SetPaletteColor(i,
-			vterm.NewVTermColorRGB(gocolor.RGBA{r, g, b, 255}))
+		if i < 16 {
+			// Set the first 16 colors to predictable near-black RGB values
+			state.SetPaletteColor(i,
+				vterm.NewVTermColorRGB(gocolor.RGBA{r, g, b, 255}))
+		} else {
+			// The rest use RGB
+			vcolor := state.GetPaletteColor(i)
+			r, g, b = vcolor.GetRGB()
+		}
 		term.colors[tcell.NewRGBColor(int32(r), int32(g), int32(b))] = tcolor
 	}
 	fg, bg := state.GetDefaultColors()