From e0737277d0ff77612f19d3cb5d13ada01a4d1212 Mon Sep 17 00:00:00 2001 From: Graham Clark Date: Mon, 7 Sep 2020 01:02:02 -0400 Subject: [PATCH] A first attempt to make termshark themeable This work is attempting to address issue #95. @kevinhwang91 suggested making termshark themeable so that colors could line up with other terminal apps that do support themes. All of termshark's palette keys are now exposed as theme settings. Below is an example of using them from my termshark.toml file. This is my attempt to use the dracula theme's colors (https://draculatheme.com/) instead of the defaults. It works best in dark mode, I think. The simple rules are: - add dark-mode rules under [themes.rules.dark] - add light mode rules under [themes.rules.light] - define colors as = . The value can refer to another key, or use a syntax like #rrggbb (you can use other gowid color names too). - define theme rules as = [fgcolor, bgcolor] In the docs I'll explain what all these theme names mean. [themes] [themes.dracula] bg = "#282a36" bg2 = "#373844" bg3 = "#464752" bg4 = "#565761" black = "themes.dracula.bg" comment = "#6272a4" current = "#44475a" cyan = "#8be9fd" fg = "#f8f8f2" fg2 = "#e2e2dc" fg3 = "#ccccc7" fg4 = "#b6b6b2" green = "#50fa7b" orange = "#ffb86c" other-blue = "#0189cc" pink = "#ff79c6" purple = "#bd93f9" red = "#ff5555" white = "themes.dracula.fg" yellow = "#f1fa8c" [themes.rules] [themes.rules.dark] button = ["themes.dracula.white","themes.dracula.black"] button-focus = ["themes.dracula.black","themes.dracula.purple"] button-selected = ["themes.dracula.white","themes.dracula.black"] cmdline = ["themes.dracula.black","themes.dracula.yellow"] cmdline-button = ["themes.dracula.yellow","themes.dracula.black"] copy-mode = ["themes.dracula.black","themes.dracula.yellow"] copy-mode-alt = ["themes.dracula.yellow","themes.dracula.black"] copy-mode-label = ["themes.dracula.white","themes.dracula.red"] current-capture = ["themes.dracula.white","themes.unused"] default = ["themes.dracula.white","themes.dracula.black"] dialog = ["themes.dracula.black","themes.dracula.yellow"] dialog-button = ["themes.dracula.yellow","themes.dracula.black"] filter-intermediate = ["themes.dracula.black","themes.dracula.orange"] filter-invalid = ["themes.dracula.black","themes.dracula.red"] filter-menu = ["themes.dracula.white","themes.dracula.black"] filter-valid = ["themes.dracula.black","themes.dracula.green"] hex-byte-selected = ["themes.dracula.black","themes.dracula.purple"] hex-byte-unselected = ["themes.dracula.black","themes.dracula.black"] hex-field-selected = ["themes.dracula.black","themes.dracula.cyan"] hex-field-unselected = ["themes.dracula.black","themes.dracula.white"] hex-interval-selected = ["themes.dracula.white","themes.dracula.bg4"] hex-interval-unselected = ["themes.dracula.white","themes.dracula.bg3"] hex-layer-selected = ["themes.dracula.white","themes.dracula.bg4"] hex-layer-unselected = ["themes.dracula.white","themes.dracula.bg3"] packet-list-cell-focus = ["themes.dracula.black","themes.dracula.purple"] packet-list-cell-selected = ["themes.dracula.white","themes.dracula.bg4"] packet-list-row-focus = ["themes.dracula.bg4","themes.dracula.cyan"] packet-list-row-selected = ["themes.dracula.white","themes.dracula.bg3"] packet-struct-focus = ["themes.dracula.bg4","themes.dracula.cyan"] packet-struct-selected = ["themes.dracula.black","themes.dracula.bg4"] progress = ["themes.dracula.white","themes.dracula.black"] progress-complete = ["themes.unused","themes.dracula.purple"] spinner = ["themes.dracula.yellow","themes.dracula.black"] stream-client = ["themes.dracula.black","themes.dracula.red"] stream-match = ["themes.dracula.black","themes.dracula.yellow"] stream-search = ["themes.dracula.black","themes.dracula.white"] stream-server = ["themes.dracula.cyan","themes.dracula.comment"] title = ["themes.dracula.red","themes.unused"] [themes.rules.light] button = ["themes.dracula.black","themes.dracula.white"] button-focus = ["themes.dracula.black","themes.dracula.purple"] button-selected = ["themes.dracula.black","themes.dracula.fg4"] cmdline = ["themes.dracula.black","themes.dracula.yellow"] cmdline-button = ["themes.dracula.yellow","themes.dracula.black"] copy-mode = ["themes.dracula.white","themes.dracula.yellow"] copy-mode-alt = ["themes.dracula.yellow","themes.dracula.white"] copy-mode-label = ["themes.dracula.black","themes.dracula.red"] current-capture = ["themes.dracula.black","themes.unused"] default = ["themes.dracula.black","themes.dracula.white"] dialog = ["themes.dracula.black","themes.dracula.yellow"] dialog-button = ["themes.dracula.yellow","themes.dracula.black"] filter-intermediate = ["themes.dracula.black","themes.dracula.orange"] filter-invalid = ["themes.dracula.black","themes.dracula.red"] filter-menu = ["themes.dracula.black","themes.dracula.white"] filter-valid = ["themes.dracula.black","themes.dracula.green"] hex-byte-selected = ["themes.dracula.black","themes.dracula.purple"] hex-byte-unselected = ["themes.dracula.black","themes.dracula.white"] hex-field-selected = ["themes.dracula.black","themes.dracula.cyan"] hex-field-unselected = ["themes.dracula.black","themes.dracula.bg4"] hex-interval-selected = ["themes.dracula.white","themes.dracula.bg4"] hex-interval-unselected = ["themes.dracula.black","themes.dracula.fg3"] hex-layer-selected = ["themes.dracula.white","themes.dracula.bg4"] hex-layer-unselected = ["themes.dracula.black","themes.dracula.fg3"] packet-list-cell-focus = ["themes.dracula.black","themes.dracula.purple"] packet-list-cell-selected = ["themes.dracula.black","themes.dracula.fg4"] packet-list-row-focus = ["themes.dracula.black","themes.dracula.cyan"] packet-list-row-selected = ["themes.dracula.black","themes.dracula.fg1"] packet-struct-focus = ["themes.dracula.black","themes.dracula.cyan"] packet-struct-selected = ["themes.dracula.black","themes.dracula.fg3"] progress = ["themes.dracula.black","themes.dracula.white"] progress-complete = ["themes.unused","themes.dracula.purple"] spinner = ["themes.dracula.yellow","themes.dracula.white"] stream-client = ["themes.dracula.white","themes.dracula.red"] stream-match = ["themes.dracula.white","themes.dracula.yellow"] stream-search = ["themes.dracula.white","themes.dracula.black"] stream-server = ["themes.dracula.cyan","themes.dracula.comment"] title = ["themes.dracula.red","themes.unused"] --- pdmltree/pdmltree.go | 8 +- ui/convsui.go | 12 +- ui/palette.go | 402 ++++++++++++++++++++----------- ui/ui.go | 26 +- widgets/filter/filter.go | 4 +- widgets/minibuffer/minibuffer.go | 8 +- 6 files changed, 290 insertions(+), 170 deletions(-) diff --git a/pdmltree/pdmltree.go b/pdmltree/pdmltree.go index 096bc61..9c31776 100644 --- a/pdmltree/pdmltree.go +++ b/pdmltree/pdmltree.go @@ -90,16 +90,16 @@ func (n *Model) HexLayers(pos int, includeFirst bool) []hexdumper2.LayerStyler { res = append(res, hexdumper2.LayerStyler{ Start: c.Pos, End: c.Pos + c.Size, - ColUnselected: "hex-bottom-unselected", - ColSelected: "hex-bottom-selected", + ColUnselected: "hex-layer-unselected", + ColSelected: "hex-layer-selected", }) for _, c2 := range c.Children_ { if c2.Pos <= pos && pos < c2.Pos+c2.Size { res = append(res, hexdumper2.LayerStyler{ Start: c2.Pos, End: c2.Pos + c2.Size, - ColUnselected: "hex-top-unselected", - ColSelected: "hex-top-selected", + ColUnselected: "hex-field-unselected", + ColSelected: "hex-field-selected", }) } } diff --git a/ui/convsui.go b/ui/convsui.go index 95b2a13..100eaed 100644 --- a/ui/convsui.go +++ b/ui/convsui.go @@ -708,10 +708,10 @@ func (w *ConvsUiWidget) OnData(data string, app gowid.IApp) { TableSeparator: divider.NewUnicode(), VerticalSeparator: nil, CellStyleProvided: true, - CellStyleSelected: gowid.MakePaletteRef("pkt-list-cell-selected"), - CellStyleFocus: gowid.MakePaletteRef("pkt-list-cell-focus"), + CellStyleSelected: gowid.MakePaletteRef("packet-list-cell-selected"), + CellStyleFocus: gowid.MakePaletteRef("packet-list-cell-focus"), HeaderStyleProvided: true, - HeaderStyleFocus: gowid.MakePaletteRef("pkt-list-cell-focus"), + HeaderStyleFocus: gowid.MakePaletteRef("packet-list-cell-focus"), }, Layout: table.LayoutOptions{ Widths: wids, @@ -720,7 +720,7 @@ func (w *ConvsUiWidget) OnData(data string, app gowid.IApp) { ptblModel := psmlmodel.New( tblModel, - gowid.MakePaletteRef("pkt-list-row-focus"), + gowid.MakePaletteRef("packet-list-row-focus"), ) if currentShortName, ok := convs.OfficialNameToType[cur]; ok { @@ -736,8 +736,8 @@ func (w *ConvsUiWidget) OnData(data string, app gowid.IApp) { boundedTbl := NewRowFocusTableWidget( tbl, - "pkt-list-row-selected", - "pkt-list-row-focus", + "packet-list-row-selected", + "packet-list-row-focus", ) var _ list.IWalker = boundedTbl diff --git a/ui/palette.go b/ui/palette.go index d247be2..bc7ef73 100644 --- a/ui/palette.go +++ b/ui/palette.go @@ -6,166 +6,286 @@ package ui import ( + "fmt" + "github.com/gcla/gowid" + "github.com/gcla/termshark/v2/theme" "github.com/gcla/termshark/v2/theme/modeswap" ) //====================================================================== var ( - LightGray gowid.GrayColor = gowid.MakeGrayColor("g74") - MediumGray gowid.GrayColor = gowid.MakeGrayColor("g50") - DarkGray gowid.GrayColor = gowid.MakeGrayColor("g35") - BrightBlue gowid.RGBColor = gowid.MakeRGBColor("#08f") - BrightGreen gowid.RGBColor = gowid.MakeRGBColor("#6f2") - LightRed gowid.RGBColor = gowid.MakeRGBColor("#ebb") - LightBlue gowid.RGBColor = gowid.MakeRGBColor("#abf") - DarkRed gowid.RGBColor = gowid.MakeRGBColor("#311") - DarkBlue gowid.RGBColor = gowid.MakeRGBColor("#01f") + LightGray gowid.IColor + MediumGray gowid.IColor + DarkGray gowid.IColor + BrightBlue gowid.IColor + BrightGreen gowid.IColor + LightRed gowid.IColor + LightBlue gowid.IColor + DarkRed gowid.IColor + DarkBlue gowid.IColor //====================================================================== // Regular mode // - // 256 color < 256 color - PktListRowSelectedBgReg *modeswap.Color = modeswap.New(MediumGray, gowid.ColorBlack) - PktListRowFocusBgReg *modeswap.Color = modeswap.New(BrightBlue, gowid.ColorBlue) - PktListCellSelectedFgReg *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorWhite) - PktListCellSelectedBgReg *modeswap.Color = modeswap.New(DarkGray, gowid.ColorBlack) - PktStructSelectedBgReg *modeswap.Color = modeswap.New(MediumGray, gowid.ColorBlack) - PktStructFocusBgReg *modeswap.Color = modeswap.New(BrightBlue, gowid.ColorBlue) - HexTopUnselectedFgReg *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorWhite) - HexTopUnselectedBgReg *modeswap.Color = modeswap.New(MediumGray, gowid.ColorBlack) - HexTopSelectedFgReg *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorWhite) - HexTopSelectedBgReg *modeswap.Color = modeswap.New(BrightBlue, gowid.ColorBlue) - HexBottomUnselectedFgReg *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorWhite) - HexBottomUnselectedBgReg *modeswap.Color = modeswap.New(LightGray, gowid.ColorBlack) - HexBottomSelectedFgReg *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorWhite) - HexBottomSelectedBgReg *modeswap.Color = modeswap.New(LightGray, gowid.ColorBlack) - HexCurUnselectedFgReg *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorBlack) - HexCurUnselectedBgReg *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorWhite) - HexLineFgReg *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorWhite) - HexLineBgReg *modeswap.Color = modeswap.New(LightGray, gowid.ColorBlack) - FilterValidBgReg *modeswap.Color = modeswap.New(BrightGreen, gowid.ColorGreen) - StreamClientFg *modeswap.Color = modeswap.New(DarkRed, gowid.ColorWhite) - StreamClientBg *modeswap.Color = modeswap.New(LightRed, gowid.ColorDarkRed) - StreamServerFg *modeswap.Color = modeswap.New(DarkBlue, gowid.ColorWhite) - StreamServerBg *modeswap.Color = modeswap.New(LightBlue, gowid.ColorBlue) - - RegularPalette gowid.Palette = gowid.Palette{ - "default": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorWhite), - "title": gowid.MakeForeground(gowid.ColorDarkRed), - "pkt-list-row-focus": gowid.MakePaletteEntry(gowid.ColorWhite, PktListRowFocusBgReg), - "pkt-list-cell-focus": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorPurple), - "pkt-list-row-selected": gowid.MakePaletteEntry(gowid.ColorWhite, PktListRowSelectedBgReg), - "pkt-list-cell-selected": gowid.MakePaletteEntry(PktListCellSelectedFgReg, PktListCellSelectedBgReg), - "pkt-struct-focus": gowid.MakePaletteEntry(gowid.ColorWhite, PktStructFocusBgReg), - "pkt-struct-selected": gowid.MakePaletteEntry(gowid.ColorWhite, PktStructSelectedBgReg), - "filter-menu-focus": gowid.MakeStyledPaletteEntry(gowid.ColorBlack, gowid.ColorWhite, gowid.StyleBold), - "filter-valid": gowid.MakePaletteEntry(gowid.ColorBlack, FilterValidBgReg), - "filter-invalid": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorRed), - "filter-intermediate": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorOrange), - "dialog": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "dialog-buttons": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "minibuffer": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "minibuffer-buttons": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "button": gowid.MakePaletteEntry(gowid.ColorDarkBlue, ButtonBg), - "button-focus": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorDarkBlue), - "button-selected": gowid.MakePaletteEntry(PktListCellSelectedFgReg, PktListCellSelectedBgReg), - "progress-default": gowid.MakeStyledPaletteEntry(gowid.ColorWhite, gowid.ColorBlack, gowid.StyleBold), - "progress-complete": gowid.MakeStyleMod(gowid.MakePaletteRef("progress-default"), gowid.MakeBackground(gowid.ColorMagenta)), - "progress-spinner": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "hex-cur-selected": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorMagenta), - "hex-cur-unselected": gowid.MakePaletteEntry(HexCurUnselectedFgReg, HexCurUnselectedBgReg), - "hex-top-selected": gowid.MakePaletteEntry(HexTopSelectedFgReg, HexTopSelectedBgReg), - "hex-top-unselected": gowid.MakePaletteEntry(HexTopUnselectedFgReg, HexTopUnselectedBgReg), - "hex-bottom-selected": gowid.MakePaletteEntry(HexBottomSelectedFgReg, HexBottomSelectedBgReg), - "hex-bottom-unselected": gowid.MakePaletteEntry(HexBottomUnselectedFgReg, HexBottomUnselectedBgReg), - "hexln-selected": gowid.MakePaletteEntry(HexLineFgReg, HexLineBgReg), - "hexln-unselected": gowid.MakePaletteEntry(HexLineFgReg, HexLineBgReg), - "copy-mode-indicator": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorDarkRed), - "copy-mode": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "copy-mode-alt": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "stream-client": gowid.MakePaletteEntry(StreamClientFg, StreamClientBg), - "stream-server": gowid.MakePaletteEntry(StreamServerFg, StreamServerBg), - "stream-match": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "stream-search": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorBlack), + ButtonSelectedFgReg *modeswap.Color + ButtonSelectedBgReg *modeswap.Color + PktListRowSelectedBgReg *modeswap.Color + PktListRowFocusBgReg *modeswap.Color + PktListCellSelectedFgReg *modeswap.Color + PktListCellSelectedBgReg *modeswap.Color + PktStructSelectedBgReg *modeswap.Color + PktStructFocusBgReg *modeswap.Color + HexFieldUnselectedFgReg *modeswap.Color + HexFieldUnselectedBgReg *modeswap.Color + HexFieldSelectedFgReg *modeswap.Color + HexFieldSelectedBgReg *modeswap.Color + HexLayerUnselectedFgReg *modeswap.Color + HexLayerUnselectedBgReg *modeswap.Color + HexLayerSelectedFgReg *modeswap.Color + HexLayerSelectedBgReg *modeswap.Color + HexByteUnselectedFgReg *modeswap.Color + HexByteUnselectedBgReg *modeswap.Color + HexIntervalSelectedFgReg *modeswap.Color + HexIntervalSelectedBgReg *modeswap.Color + HexIntervalUnselectedFgReg *modeswap.Color + HexIntervalUnselectedBgReg *modeswap.Color + FilterValidBgReg *modeswap.Color + StreamClientFg *modeswap.Color + StreamClientBg *modeswap.Color + StreamServerFg *modeswap.Color + StreamServerBg *modeswap.Color + + RegularPalette gowid.Palette + + //====================================================================== + // Dark mode + // + + ButtonSelectedFgDark *modeswap.Color + ButtonSelectedBgDark *modeswap.Color + ButtonBgReg *modeswap.Color + PktListRowSelectedFgDark *modeswap.Color + PktListRowSelectedBgDark *modeswap.Color + PktListRowFocusBgDark *modeswap.Color + PktListCellSelectedFgDark *modeswap.Color + PktListCellSelectedBgDark *modeswap.Color + PktStructSelectedFgDark *modeswap.Color + PktStructSelectedBgDark *modeswap.Color + PktStructFocusBgDark *modeswap.Color + HexFieldUnselectedFgDark *modeswap.Color + HexFieldUnselectedBgDark *modeswap.Color + HexFieldSelectedFgDark *modeswap.Color + HexFieldSelectedBgDark *modeswap.Color + HexLayerUnselectedFgDark *modeswap.Color + HexLayerUnselectedBgDark *modeswap.Color + HexLayerSelectedFgDark *modeswap.Color + HexLayerSelectedBgDark *modeswap.Color + HexByteUnselectedFgDark *modeswap.Color + HexByteUnselectedBgDark *modeswap.Color + HexIntervalSelectedBgDark *modeswap.Color + HexIntervalSelectedFgDark *modeswap.Color + HexIntervalUnselectedBgDark *modeswap.Color + HexIntervalUnselectedFgDark *modeswap.Color + FilterValidBgDark *modeswap.Color + ButtonBgDark *modeswap.Color + StreamClientFgDark *modeswap.Color + StreamClientBgDark *modeswap.Color + StreamServerFgDark *modeswap.Color + StreamServerBgDark *modeswap.Color + + DarkModePalette gowid.Palette +) + +func SetupColors() { + LightGray = gowid.MakeGrayColor("g74") + MediumGray = gowid.MakeGrayColor("g50") + DarkGray = gowid.MakeGrayColor("g35") + BrightBlue = gowid.MakeRGBColor("#08f") + BrightGreen = gowid.MakeRGBColor("#6f2") + LightRed = gowid.MakeRGBColor("#ebb") + LightBlue = gowid.MakeRGBColor("#abf") + DarkRed = gowid.MakeRGBColor("#311") + DarkBlue = gowid.MakeRGBColor("#01f") + + //====================================================================== + // Regular mode + // + + // 256 color < 256 color + ButtonBgReg = modeswap.New(lbg("button", LightGray), gowid.ColorWhite) + ButtonSelectedFgReg = modeswap.New(lfg("button-selected", gowid.ColorWhite), gowid.ColorWhite) + ButtonSelectedBgReg = modeswap.New(lbg("button-selected", DarkGray), gowid.ColorBlack) + PktListRowSelectedBgReg = modeswap.New(lbg("packet-list-row-selected", MediumGray), gowid.ColorBlack) + PktListRowFocusBgReg = modeswap.New(lbg("packet-list-row-focus", BrightBlue), gowid.ColorBlue) + PktListCellSelectedFgReg = modeswap.New(lfg("packet-list-cell-selected", gowid.ColorWhite), gowid.ColorWhite) + PktListCellSelectedBgReg = modeswap.New(lbg("packet-list-cell-selected", DarkGray), gowid.ColorBlack) + PktStructSelectedBgReg = modeswap.New(lbg("packet-struct-selected", MediumGray), gowid.ColorBlack) + PktStructFocusBgReg = modeswap.New(lbg("packet-struct-focus", BrightBlue), gowid.ColorBlue) + HexFieldUnselectedFgReg = modeswap.New(lfg("hex-field-unselected", gowid.ColorWhite), gowid.ColorWhite) + HexFieldUnselectedBgReg = modeswap.New(lbg("hex-field-unselected", MediumGray), gowid.ColorBlack) + HexFieldSelectedFgReg = modeswap.New(lfg("hex-field-selected", gowid.ColorWhite), gowid.ColorWhite) + HexFieldSelectedBgReg = modeswap.New(lbg("hex-field-selected", BrightBlue), gowid.ColorBlue) + HexLayerUnselectedFgReg = modeswap.New(lfg("hex-layer-unselected", gowid.ColorBlack), gowid.ColorWhite) + HexLayerUnselectedBgReg = modeswap.New(lbg("hex-layer-unselected", LightGray), gowid.ColorBlack) + HexLayerSelectedFgReg = modeswap.New(lfg("hex-layer-selected", gowid.ColorBlack), gowid.ColorWhite) + HexLayerSelectedBgReg = modeswap.New(lbg("hex-layer-selected", LightGray), gowid.ColorBlack) + HexByteUnselectedFgReg = modeswap.New(lfg("hex-byte-unselected", gowid.ColorWhite), gowid.ColorBlack) + HexByteUnselectedBgReg = modeswap.New(lbg("hex-byte-unselected", gowid.ColorBlack), gowid.ColorWhite) + HexIntervalSelectedFgReg = modeswap.New(lfg("hex-interval-selected", gowid.ColorBlack), gowid.ColorWhite) + HexIntervalSelectedBgReg = modeswap.New(lbg("hex-interval-selected", LightGray), gowid.ColorBlack) + HexIntervalUnselectedFgReg = modeswap.New(lfg("hex-interval-unselected", gowid.ColorBlack), gowid.ColorWhite) + HexIntervalUnselectedBgReg = modeswap.New(lbg("hex-interval-unselected", LightGray), gowid.ColorBlack) + FilterValidBgReg = modeswap.New(lbg("filter-valid", BrightGreen), gowid.ColorGreen) + StreamClientFg = modeswap.New(lfg("stream-client", DarkRed), gowid.ColorWhite) + StreamClientBg = modeswap.New(lbg("stream-client", LightRed), gowid.ColorDarkRed) + StreamServerFg = modeswap.New(lfg("stream-server", DarkBlue), gowid.ColorWhite) + StreamServerBg = modeswap.New(lbg("stream-server", LightBlue), gowid.ColorBlue) + + RegularPalette = gowid.Palette{ + "default": gowid.MakePaletteEntry(lfg("default", gowid.ColorBlack), lbg("default", gowid.ColorWhite)), + "title": gowid.MakeForeground(lfg("title", gowid.ColorDarkRed)), + "packet-list-row-focus": gowid.MakePaletteEntry(lfg("packet-list-row-focus", gowid.ColorWhite), lbg("packet-list-row-focus", PktListRowFocusBgReg)), + "packet-list-row-selected": gowid.MakePaletteEntry(lfg("packet-list-row-selected", gowid.ColorWhite), PktListRowSelectedBgReg), + "packet-list-cell-focus": gowid.MakePaletteEntry(lfg("packet-list-cell-focus", gowid.ColorWhite), lbg("packet-list-cell-focus", gowid.ColorPurple)), + "packet-list-cell-selected": gowid.MakePaletteEntry(PktListCellSelectedFgReg, PktListCellSelectedBgReg), + "packet-struct-focus": gowid.MakePaletteEntry(lfg("packet-struct-focus", gowid.ColorWhite), PktStructFocusBgReg), + "packet-struct-selected": gowid.MakePaletteEntry(lfg("packet-struct-selected", gowid.ColorWhite), PktStructSelectedBgReg), + "filter-menu": gowid.MakeStyledPaletteEntry(lfg("filter-menu", gowid.ColorBlack), lbg("filter-menu", gowid.ColorWhite), gowid.StyleBold), + "filter-valid": gowid.MakePaletteEntry(lfg("filter-valid", gowid.ColorBlack), FilterValidBgReg), + "filter-invalid": gowid.MakePaletteEntry(lfg("filter-invalid", gowid.ColorBlack), lbg("filter-invalid", gowid.ColorRed)), + "filter-intermediate": gowid.MakePaletteEntry(lfg("filter-intermediate", gowid.ColorBlack), lbg("filter-intermediate", gowid.ColorOrange)), + "dialog": gowid.MakePaletteEntry(lfg("dialog", gowid.ColorBlack), lbg("dialog", gowid.ColorYellow)), + "dialog-buttons": gowid.MakePaletteEntry(lfg("dialog-buttons", gowid.ColorYellow), lbg("dialog-buttons", gowid.ColorBlack)), + "cmdline": gowid.MakePaletteEntry(lfg("cmdline", gowid.ColorBlack), lbg("cmdline", gowid.ColorYellow)), + "cmdline-buttons": gowid.MakePaletteEntry(lfg("cmdline-buttons", gowid.ColorYellow), lbg("cmdline-buttons", gowid.ColorBlack)), + "button": gowid.MakePaletteEntry(lfg("button", gowid.ColorDarkBlue), ButtonBgReg), + "button-focus": gowid.MakePaletteEntry(lfg("button-focus", gowid.ColorWhite), lbg("button-focus", gowid.ColorDarkBlue)), + "button-selected": gowid.MakePaletteEntry(ButtonSelectedFgReg, ButtonSelectedBgReg), + "progress-default": gowid.MakeStyledPaletteEntry(lfg("progress-default", gowid.ColorWhite), lbg("progress-default", gowid.ColorBlack), gowid.StyleBold), + "progress-complete": gowid.MakeStyleMod(gowid.MakePaletteRef("progress-default"), gowid.MakeBackground(gowid.ColorMagenta)), + "progress-spinner": gowid.MakePaletteEntry(lfg("progress-spinner", gowid.ColorYellow), lbg("progress-spinner", gowid.ColorBlack)), + "hex-byte-selected": gowid.MakePaletteEntry(lfg("hex-byte-selected", gowid.ColorWhite), lbg("hex-byte-selected", gowid.ColorMagenta)), + "hex-byte-unselected": gowid.MakePaletteEntry(HexByteUnselectedFgReg, HexByteUnselectedBgReg), + "hex-field-selected": gowid.MakePaletteEntry(HexFieldSelectedFgReg, HexFieldSelectedBgReg), + "hex-field-unselected": gowid.MakePaletteEntry(HexFieldUnselectedFgReg, HexFieldUnselectedBgReg), + "hex-layer-selected": gowid.MakePaletteEntry(HexLayerSelectedFgReg, HexLayerSelectedBgReg), + "hex-layer-unselected": gowid.MakePaletteEntry(HexLayerUnselectedFgReg, HexLayerUnselectedBgReg), + "hex-interval-selected": gowid.MakePaletteEntry(HexIntervalSelectedFgReg, HexIntervalSelectedBgReg), + "hex-interval-unselected": gowid.MakePaletteEntry(HexIntervalUnselectedFgReg, HexIntervalUnselectedBgReg), + "copy-mode-label": gowid.MakePaletteEntry(lfg("copy-mode-label", gowid.ColorWhite), lbg("copy-mode-label", gowid.ColorDarkRed)), + "copy-mode": gowid.MakePaletteEntry(lfg("copy-mode", gowid.ColorBlack), lbg("copy-mode", gowid.ColorYellow)), + "copy-mode-alt": gowid.MakePaletteEntry(lfg("copy-mode-alt", gowid.ColorYellow), lbg("copy-mode-alt", gowid.ColorBlack)), + "stream-client": gowid.MakePaletteEntry(StreamClientFg, StreamClientBg), + "stream-server": gowid.MakePaletteEntry(StreamServerFg, StreamServerBg), + "stream-match": gowid.MakePaletteEntry(lfg("stream-match", gowid.ColorBlack), lbg("stream-match", gowid.ColorYellow)), + "stream-search": gowid.MakePaletteEntry(lfg("stream-search", gowid.ColorWhite), lbg("stream-search", gowid.ColorBlack)), } //====================================================================== // Dark mode // - // 256 color < 256 color - ButtonBg *modeswap.Color = modeswap.New(LightGray, gowid.ColorWhite) - PktListRowSelectedFgDark *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorBlack) - PktListRowSelectedBgDark *modeswap.Color = modeswap.New(DarkGray, gowid.ColorWhite) - PktListRowFocusBgDark *modeswap.Color = modeswap.New(BrightBlue, gowid.ColorBlue) - PktListCellSelectedFgDark *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorBlack) - PktListCellSelectedBgDark *modeswap.Color = modeswap.New(MediumGray, gowid.ColorWhite) - PktStructSelectedFgDark *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorBlack) - PktStructSelectedBgDark *modeswap.Color = modeswap.New(DarkGray, gowid.ColorWhite) - PktStructFocusBgDark *modeswap.Color = modeswap.New(BrightBlue, gowid.ColorBlue) - HexTopUnselectedFgDark *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorBlue) - HexTopUnselectedBgDark *modeswap.Color = modeswap.New(MediumGray, gowid.ColorWhite) - HexTopSelectedFgDark *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorWhite) - HexTopSelectedBgDark *modeswap.Color = modeswap.New(BrightBlue, gowid.ColorBlue) - HexBottomUnselectedFgDark *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorBlack) - HexBottomUnselectedBgDark *modeswap.Color = modeswap.New(DarkGray, gowid.ColorWhite) - HexBottomSelectedFgDark *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorBlack) - HexBottomSelectedBgDark *modeswap.Color = modeswap.New(DarkGray, gowid.ColorWhite) - HexCurUnselectedFgDark *modeswap.Color = modeswap.New(gowid.ColorWhite, gowid.ColorMagenta) - HexCurUnselectedBgDark *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorWhite) - HexLineFgDark *modeswap.Color = modeswap.New(gowid.ColorBlack, gowid.ColorWhite) - HexLineBgDark *modeswap.Color = modeswap.New(DarkGray, gowid.ColorBlack) - FilterValidBgDark *modeswap.Color = modeswap.New(BrightGreen, gowid.ColorGreen) - ButtonBgDark *modeswap.Color = modeswap.New(MediumGray, gowid.ColorWhite) - StreamClientFgDark *modeswap.Color = modeswap.New(LightRed, gowid.ColorWhite) - StreamClientBgDark *modeswap.Color = modeswap.New(DarkRed, gowid.ColorDarkRed) - StreamServerFgDark *modeswap.Color = modeswap.New(LightBlue, gowid.ColorWhite) - StreamServerBgDark *modeswap.Color = modeswap.New(DarkBlue, gowid.ColorBlue) - - DarkModePalette gowid.Palette = gowid.Palette{ - "default": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorBlack), - "title": gowid.MakeForeground(gowid.ColorRed), - "current-capture": gowid.MakeForeground(gowid.ColorWhite), - "pkt-list-row-focus": gowid.MakePaletteEntry(gowid.ColorWhite, PktListRowFocusBgDark), - "pkt-list-cell-focus": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorPurple), - "pkt-list-row-selected": gowid.MakePaletteEntry(PktListRowSelectedFgDark, PktListRowSelectedBgDark), - "pkt-list-cell-selected": gowid.MakePaletteEntry(PktListCellSelectedFgDark, PktListCellSelectedBgDark), - "pkt-struct-focus": gowid.MakePaletteEntry(gowid.ColorWhite, PktStructFocusBgDark), - "pkt-struct-selected": gowid.MakePaletteEntry(PktStructSelectedFgDark, PktStructSelectedBgDark), - "filter-menu-focus": gowid.MakeStyledPaletteEntry(gowid.ColorWhite, gowid.ColorBlack, gowid.StyleBold), - "filter-valid": gowid.MakePaletteEntry(gowid.ColorBlack, FilterValidBgDark), - "filter-invalid": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorRed), - "filter-intermediate": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorOrange), - "dialog": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "dialog-buttons": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "minibuffer": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "minibuffer-buttons": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "button": gowid.MakePaletteEntry(gowid.ColorBlack, ButtonBgDark), - "button-focus": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorMagenta), - "button-selected": gowid.MakePaletteEntry(PktListCellSelectedFgDark, PktListCellSelectedBgDark), - "progress-default": gowid.MakeStyledPaletteEntry(gowid.ColorWhite, gowid.ColorBlack, gowid.StyleBold), - "progress-complete": gowid.MakeStyleMod(gowid.MakePaletteRef("progress-default"), gowid.MakeBackground(gowid.ColorMagenta)), - "progress-spinner": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "hex-cur-selected": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorMagenta), - "hex-cur-unselected": gowid.MakePaletteEntry(HexCurUnselectedFgDark, HexCurUnselectedBgDark), - "hex-top-selected": gowid.MakePaletteEntry(HexTopSelectedFgDark, HexTopSelectedBgDark), - "hex-top-unselected": gowid.MakePaletteEntry(HexTopUnselectedFgDark, HexTopUnselectedBgDark), - "hex-bottom-selected": gowid.MakePaletteEntry(HexBottomSelectedFgDark, HexBottomSelectedBgDark), - "hex-bottom-unselected": gowid.MakePaletteEntry(HexBottomUnselectedFgDark, HexBottomUnselectedBgDark), - "hexln-selected": gowid.MakePaletteEntry(HexLineFgDark, HexLineBgDark), - "hexln-unselected": gowid.MakePaletteEntry(HexLineFgDark, HexLineBgDark), - "copy-mode-indicator": gowid.MakePaletteEntry(gowid.ColorWhite, gowid.ColorDarkRed), - "copy-mode": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "copy-mode-alt": gowid.MakePaletteEntry(gowid.ColorYellow, gowid.ColorBlack), - "stream-client": gowid.MakePaletteEntry(StreamClientFgDark, StreamClientBgDark), - "stream-server": gowid.MakePaletteEntry(StreamServerFgDark, StreamServerBgDark), - "stream-match": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorYellow), - "stream-search": gowid.MakePaletteEntry(gowid.ColorBlack, gowid.ColorWhite), + // 256 color < 256 color + ButtonBgDark = modeswap.New(dbg("button", MediumGray), gowid.ColorWhite) + ButtonSelectedFgDark = modeswap.New(dfg("button-selected", gowid.ColorWhite), gowid.ColorBlack) + ButtonSelectedBgDark = modeswap.New(dbg("button-selected", MediumGray), gowid.ColorWhite) + PktListRowSelectedFgDark = modeswap.New(dfg("packet-list-row-selected", gowid.ColorWhite), gowid.ColorBlack) + PktListRowSelectedBgDark = modeswap.New(dbg("packet-list-row-selected", DarkGray), gowid.ColorWhite) + PktListRowFocusBgDark = modeswap.New(dbg("packet-list-row-focus", BrightBlue), gowid.ColorBlue) + PktListCellSelectedFgDark = modeswap.New(dfg("packet-list-cell-selected", gowid.ColorWhite), gowid.ColorBlack) + PktListCellSelectedBgDark = modeswap.New(dbg("packet-list-cell-selected", MediumGray), gowid.ColorWhite) + PktStructSelectedFgDark = modeswap.New(dfg("packet-struct-selected", gowid.ColorWhite), gowid.ColorBlack) + PktStructSelectedBgDark = modeswap.New(dbg("packet-struct-selected", DarkGray), gowid.ColorWhite) + PktStructFocusBgDark = modeswap.New(dbg("packet-struct-focus", BrightBlue), gowid.ColorBlue) + HexFieldUnselectedFgDark = modeswap.New(dfg("hex-field-unselected", gowid.ColorWhite), gowid.ColorBlue) + HexFieldUnselectedBgDark = modeswap.New(dbg("hex-field-unselected", MediumGray), gowid.ColorWhite) + HexFieldSelectedFgDark = modeswap.New(dfg("hex-field-selected", gowid.ColorWhite), gowid.ColorWhite) + HexFieldSelectedBgDark = modeswap.New(dbg("hex-field-selected", BrightBlue), gowid.ColorBlue) + HexLayerUnselectedFgDark = modeswap.New(dfg("hex-layer-unselected", gowid.ColorBlack), gowid.ColorBlack) + HexLayerUnselectedBgDark = modeswap.New(dbg("hex-layer-unselected", DarkGray), gowid.ColorWhite) + HexLayerSelectedFgDark = modeswap.New(dfg("hex-layer-selected", gowid.ColorBlack), gowid.ColorBlack) + HexLayerSelectedBgDark = modeswap.New(dbg("hex-layer-selected", DarkGray), gowid.ColorWhite) + HexByteUnselectedFgDark = modeswap.New(dfg("hex-byte-unselected", gowid.ColorWhite), gowid.ColorMagenta) + HexByteUnselectedBgDark = modeswap.New(dbg("hex-byte-unselected", gowid.ColorBlack), gowid.ColorWhite) + HexIntervalSelectedFgDark = modeswap.New(dfg("hex-interval-selected", gowid.ColorBlack), gowid.ColorWhite) + HexIntervalSelectedBgDark = modeswap.New(dbg("hex-interval-selected", DarkGray), gowid.ColorBlack) + HexIntervalUnselectedFgDark = modeswap.New(dfg("hex-interval-unselected", gowid.ColorBlack), gowid.ColorWhite) + HexIntervalUnselectedBgDark = modeswap.New(dbg("hex-interval-unselected", DarkGray), gowid.ColorBlack) + FilterValidBgDark = modeswap.New(dbg("filter-valid", BrightGreen), gowid.ColorGreen) + StreamClientFgDark = modeswap.New(dfg("stream-client", LightRed), gowid.ColorWhite) + StreamClientBgDark = modeswap.New(dbg("stream-client", DarkRed), gowid.ColorDarkRed) + StreamServerFgDark = modeswap.New(dfg("stream-server", LightBlue), gowid.ColorWhite) + StreamServerBgDark = modeswap.New(dbg("stream-server", DarkBlue), gowid.ColorBlue) + + DarkModePalette = gowid.Palette{ + "default": gowid.MakePaletteEntry(dfg("default", gowid.ColorWhite), dbg("default", gowid.ColorBlack)), + "title": gowid.MakeForeground(dfg("title", gowid.ColorRed)), + "current-capture": gowid.MakeForeground(dfg("current-capture", gowid.ColorWhite)), + "packet-list-row-focus": gowid.MakePaletteEntry(dfg("packet-list-row-focus", gowid.ColorWhite), PktListRowFocusBgDark), + "packet-list-row-selected": gowid.MakePaletteEntry(PktListRowSelectedFgDark, PktListRowSelectedBgDark), + "packet-list-cell-focus": gowid.MakePaletteEntry(dfg("packet-list-cell-focus", gowid.ColorWhite), dbg("packet-list-cell-focus", gowid.ColorPurple)), + "packet-list-cell-selected": gowid.MakePaletteEntry(PktListCellSelectedFgDark, PktListCellSelectedBgDark), + "packet-struct-focus": gowid.MakePaletteEntry(dfg("packet-struct-focus", gowid.ColorWhite), PktStructFocusBgDark), + "packet-struct-selected": gowid.MakePaletteEntry(PktStructSelectedFgDark, PktStructSelectedBgDark), + "filter-menu": gowid.MakeStyledPaletteEntry(dfg("filter-menu", gowid.ColorWhite), dbg("filter-menu", gowid.ColorBlack), gowid.StyleBold), + "filter-valid": gowid.MakePaletteEntry(dfg("filter-valid", gowid.ColorBlack), FilterValidBgDark), + "filter-invalid": gowid.MakePaletteEntry(dfg("filter-invalid", gowid.ColorBlack), dbg("filter-invalid", gowid.ColorRed)), + "filter-intermediate": gowid.MakePaletteEntry(dfg("filter-intermediate", gowid.ColorBlack), dbg("filter-intermediate", gowid.ColorOrange)), + "dialog": gowid.MakePaletteEntry(dfg("dialog", gowid.ColorBlack), dbg("dialog", gowid.ColorYellow)), + "dialog-buttons": gowid.MakePaletteEntry(dfg("dialog-button", gowid.ColorYellow), dbg("dialog-button", gowid.ColorBlack)), + "cmdline": gowid.MakePaletteEntry(dfg("cmdline", gowid.ColorBlack), dbg("cmdline", gowid.ColorYellow)), + "cmdline-buttons": gowid.MakePaletteEntry(dfg("cmdline-button", gowid.ColorYellow), dbg("cmdline-button", gowid.ColorBlack)), + "button": gowid.MakePaletteEntry(dfg("button", gowid.ColorBlack), ButtonBgDark), + "button-focus": gowid.MakePaletteEntry(dfg("button-focus", gowid.ColorWhite), dbg("button-focus", gowid.ColorMagenta)), + "button-selected": gowid.MakePaletteEntry(ButtonSelectedFgDark, ButtonSelectedBgDark), + "progress-default": gowid.MakeStyledPaletteEntry(dfg("progress", gowid.ColorWhite), dbg("progress", gowid.ColorBlack), gowid.StyleBold), + "progress-complete": gowid.MakeStyleMod(gowid.MakePaletteRef("progress-default"), gowid.MakeBackground(dbg("progress-complete", gowid.ColorMagenta))), + "progress-spinner": gowid.MakePaletteEntry(dfg("spinner", gowid.ColorYellow), dbg("spinner", gowid.ColorBlack)), + "hex-byte-selected": gowid.MakePaletteEntry(dfg("hex-byte-selected", gowid.ColorWhite), dbg("hex-byte-selected", gowid.ColorMagenta)), + "hex-byte-unselected": gowid.MakePaletteEntry(HexByteUnselectedFgDark, HexByteUnselectedBgDark), + "hex-field-selected": gowid.MakePaletteEntry(HexFieldSelectedFgDark, HexFieldSelectedBgDark), + "hex-field-unselected": gowid.MakePaletteEntry(HexFieldUnselectedFgDark, HexFieldUnselectedBgDark), + "hex-layer-selected": gowid.MakePaletteEntry(HexLayerSelectedFgDark, HexLayerSelectedBgDark), + "hex-layer-unselected": gowid.MakePaletteEntry(HexLayerUnselectedFgDark, HexLayerUnselectedBgDark), + "hex-interval-selected": gowid.MakePaletteEntry(HexIntervalSelectedFgDark, HexIntervalSelectedBgDark), + "hex-interval-unselected": gowid.MakePaletteEntry(HexIntervalUnselectedFgDark, HexIntervalUnselectedBgDark), + "copy-mode-label": gowid.MakePaletteEntry(dfg("copy-mode-label", gowid.ColorWhite), dbg("copy-mode-label", gowid.ColorDarkRed)), + "copy-mode": gowid.MakePaletteEntry(dfg("copy-mode", gowid.ColorBlack), dbg("copy-mode", gowid.ColorYellow)), + "copy-mode-alt": gowid.MakePaletteEntry(dfg("copy-mode-alt", gowid.ColorYellow), dbg("copy-mode-alt", gowid.ColorBlack)), + "stream-client": gowid.MakePaletteEntry(StreamClientFgDark, StreamClientBgDark), + "stream-server": gowid.MakePaletteEntry(StreamServerFgDark, StreamServerBgDark), + "stream-match": gowid.MakePaletteEntry(dfg("stream-match", gowid.ColorBlack), dbg("stream-match", gowid.ColorYellow)), + "stream-search": gowid.MakePaletteEntry(dfg("stream-search", gowid.ColorBlack), dbg("stream-search", gowid.ColorWhite)), } -) + +} + +func dfg(key string, fb gowid.IColor) gowid.IColor { + return tomlCol(key, theme.Foreground, "dark", fb) +} + +func dbg(key string, fb gowid.IColor) gowid.IColor { + return tomlCol(key, theme.Background, "dark", fb) +} + +func lfg(key string, fb gowid.IColor) gowid.IColor { + return tomlCol(key, theme.Foreground, "light", fb) +} + +func lbg(key string, fb gowid.IColor) gowid.IColor { + return tomlCol(key, theme.Background, "light", fb) +} + +func tomlCol(key string, layer theme.Layer, hue string, fb gowid.IColor) gowid.IColor { + col, err := theme.MakeColorSafe(fmt.Sprintf("themes.rules.%s.%s", hue, key), layer) + if err == nil { + return col + } + return fb +} //====================================================================== // Local Variables: diff --git a/ui/ui.go b/ui/ui.go index 8f2145e..39acc19 100644 --- a/ui/ui.go +++ b/ui/ui.go @@ -527,8 +527,8 @@ func makeStructNodeDecoration(pos tree.IPos, tr tree.IModel, wmaker tree.IWidget res = expander.New( isselected.New( res, - styled.New(res, gowid.MakePaletteRef("pkt-struct-selected")), - styled.New(res, gowid.MakePaletteRef("pkt-struct-focus")), + styled.New(res, gowid.MakePaletteRef("packet-struct-selected")), + styled.New(res, gowid.MakePaletteRef("packet-struct-focus")), ), ) @@ -1878,10 +1878,10 @@ func makePacketListModel(psml psmlInfo, app gowid.IApp) *psmlmodel.Model { Style: table.StyleOptions{ VerticalSeparator: fill.New(' '), HeaderStyleProvided: true, - HeaderStyleFocus: gowid.MakePaletteRef("pkt-list-cell-focus"), + HeaderStyleFocus: gowid.MakePaletteRef("packet-list-cell-focus"), CellStyleProvided: true, - CellStyleSelected: gowid.MakePaletteRef("pkt-list-cell-selected"), - CellStyleFocus: gowid.MakePaletteRef("pkt-list-cell-focus"), + CellStyleSelected: gowid.MakePaletteRef("packet-list-cell-selected"), + CellStyleFocus: gowid.MakePaletteRef("packet-list-cell-focus"), }, Layout: table.LayoutOptions{ Widths: []gowid.IWidgetDimension{ @@ -1899,7 +1899,7 @@ func makePacketListModel(psml psmlInfo, app gowid.IApp) *psmlmodel.Model { expandingModel := psmlmodel.New( packetPsmlTableModel, - gowid.MakePaletteRef("pkt-list-row-focus"), + gowid.MakePaletteRef("packet-list-row-focus"), ) if len(expandingModel.Comparators) > 0 { expandingModel.Comparators[0] = table.IntCompare{} @@ -1947,8 +1947,8 @@ func setPacketListWidgets(psml psmlInfo, app gowid.IApp) { packetListView = NewPsmlTableRowWidget( NewRowFocusTableWidget( packetListTable, - "pkt-list-row-selected", - "pkt-list-row-focus", + "packet-list-row-selected", + "packet-list-row-focus", ), psml.PsmlColors(), ) @@ -2103,10 +2103,10 @@ func getHexWidgetToDisplay(row int) *hexdumper2.Widget { layers := getLayersFromStructWidget(row, 0) res2 = hexdumper2.New(b, hexdumper2.Options{ StyledLayers: layers, - CursorUnselected: "hex-cur-unselected", - CursorSelected: "hex-cur-selected", - LineNumUnselected: "hexln-unselected", - LineNumSelected: "hexln-selected", + CursorUnselected: "hex-byte-unselected", + CursorSelected: "hex-byte-selected", + LineNumUnselected: "hex-interval-unselected", + LineNumSelected: "hex-interval-selected", PaletteIfCopying: "copy-mode", }) @@ -2764,7 +2764,7 @@ func Build() (*gowid.App, error) { null.New(), CopyModePredicate, ), - gowid.MakePaletteRef("copy-mode-indicator"), + gowid.MakePaletteRef("copy-mode-label"), ) //====================================================================== diff --git a/widgets/filter/filter.go b/widgets/filter/filter.go index 4e1afe9..c37f829 100644 --- a/widgets/filter/filter.go +++ b/widgets/filter/filter.go @@ -108,7 +108,7 @@ func New(opt Options) *Widget { menuListBox2 := styled.New( framed.NewUnicode(cellmod.Opaque(filterActivator)), - gowid.MakePaletteRef("filter-menu-focus"), + gowid.MakePaletteRef("filter-menu"), ) drop := menu.New("filter", menuListBox2, gowid.RenderWithUnits{U: opt.MaxCompletions + 2}, @@ -414,7 +414,7 @@ func newMenuWidgets(ed *edit.Widget, completions []string) []gowid.IWidget { SelectKeys: []gowid.IKey{gowid.MakeKeyExt(tcell.KeyEnter)}, }, ) - clickmeStyled := styled.NewInvertedFocus(clickme, gowid.MakePaletteRef("filter-menu-focus")) + clickmeStyled := styled.NewInvertedFocus(clickme, gowid.MakePaletteRef("filter-menu")) clickme.OnClick(gowid.MakeWidgetCallback(gowid.ClickCB{}, func(app gowid.IApp, target gowid.IWidget) { txt := ed.Text() end := ed.CursorPos() diff --git a/widgets/minibuffer/minibuffer.go b/widgets/minibuffer/minibuffer.go index 20526d3..8b49a9d 100644 --- a/widgets/minibuffer/minibuffer.go +++ b/widgets/minibuffer/minibuffer.go @@ -163,8 +163,8 @@ func New() *Widget { Buttons: []dialog.Button{}, NoShadow: true, NoFrame: false, - BackgroundStyle: gowid.MakePaletteRef("minibuffer"), - ButtonStyle: gowid.MakePaletteRef("minibuffer-buttons"), + BackgroundStyle: gowid.MakePaletteRef("cmdline"), + ButtonStyle: gowid.MakePaletteRef("cmdline-buttons"), }, ), compl: top, @@ -382,8 +382,8 @@ func (w *Widget) updateCompletions(app gowid.IApp) { complWidgets = append(complWidgets, isselected.New( compBtn, - styled.New(compBtn, gowid.MakePaletteRef("minibuffer-buttons")), - styled.New(compBtn, gowid.MakePaletteRef("minibuffer-buttons")), + styled.New(compBtn, gowid.MakePaletteRef("cmdline-buttons")), + styled.New(compBtn, gowid.MakePaletteRef("cmdline-buttons")), ), )