The theme format is a simple YAML file, that uses truncated names from the dear imgui ImGuiStyleVar_ and ImGuiCol_ enums. The name and type conversion uses the following algorithm:

  1. Remove prefixes from the enum member, like ImGuiStyleVar_ and ImGuiCol_
  2. Set the value to its type, colours use arrays with 4 members, style variables can be floats or arrays with 2 members

It also has optional variables for semantic colours like Warning, Success and Destructive colours.

Example config

This is an example config containing all variables that we let you modify. This is the default classic dark dear imgui colour scheme:

Text:                     [ 1.00, 1.00, 1.00, 1.00  ]
TextDisabled":            [ 0.50, 0.50, 0.50, 1.00  ]
WindowBg":                [ 0.06, 0.06, 0.06, 0.94  ]
ChildBg":                 [ 0.00, 0.00, 0.00, 0.00  ]
PopupBg":                 [ 0.08, 0.08, 0.08, 0.94  ]
Border":                  [ 0.43, 0.43, 0.50, 0.50  ]
BorderShadow":            [ 0.00, 0.00, 0.00, 0.00  ]
FrameBg":                 [ 0.16, 0.29, 0.48, 0.54  ]
FrameBgHovered":          [ 0.26, 0.59, 0.98, 0.40  ]
FrameBgActive":           [ 0.26, 0.59, 0.98, 0.67  ]
TitleBg":                 [ 0.04, 0.04, 0.04, 1.00  ]
TitleBgActive":           [ 0.16, 0.29, 0.48, 1.00  ]
TitleBgCollapsed":        [ 0.00, 0.00, 0.00, 0.51  ]
MenuBarBg":               [ 0.14, 0.14, 0.14, 1.00  ]
ScrollbarBg":             [ 0.02, 0.02, 0.02, 0.53  ]
ScrollbarGrab":           [ 0.31, 0.31, 0.31, 1.00  ]
ScrollbarGrabHovered":    [ 0.41, 0.41, 0.41, 1.00  ]
ScrollbarGrabActive":     [ 0.51, 0.51, 0.51, 1.00  ]
CheckMark":               [ 0.26, 0.59, 0.98, 1.00  ]
SliderGrab":              [ 0.24, 0.52, 0.88, 1.00  ]
SliderGrabActive":        [ 0.26, 0.59, 0.98, 1.00  ]
Button":                  [ 0.26, 0.59, 0.98, 0.40  ]
ButtonHovered":           [ 0.26, 0.59, 0.98, 1.00  ]
ButtonActive":            [ 0.06, 0.53, 0.98, 1.00  ]
Header":                  [ 0.26, 0.59, 0.98, 0.31  ]
HeaderHovered":           [ 0.26, 0.59, 0.98, 0.80  ]
HeaderActive":            [ 0.26, 0.59, 0.98, 1.00  ]
Separator":               [ 0.43, 0.43, 0.50, 0.50  ]
SeparatorHovered":        [ 0.10, 0.40, 0.75, 0.78  ]
SeparatorActive":         [ 0.10, 0.40, 0.75, 1.00  ]
ResizeGrip":              [ 0.26, 0.59, 0.98, 0.20  ]
ResizeGripHovered":       [ 0.26, 0.59, 0.98, 0.67  ]
ResizeGripActive":        [ 0.26, 0.59, 0.98, 0.95  ]
Tab":                     [ 0.336 0.336 0.684 0.786 ]
TabHovered":              [ 0.26, 0.59, 0.98, 0.80  ]
TabActive":               [ 0.336 0.336 0.684 0.786 ]
TabUnfocused":            [ 0.336 0.336 0.684 0.786 ]
TabUnfocusedActive":      [ 0.336 0.336 0.684 0.786 ]
DockingPreview":          [ 0.336 0.336 0.684 0.786 ]
DockingEmptyBg":          [ 0.20, 0.20, 0.20, 1.00  ]
PlotLines":               [ 0.61, 0.61, 0.61, 1.00  ]
PlotLinesHovered":        [ 1.00, 0.43, 0.35, 1.00  ]
PlotHistogram":           [ 0.90, 0.70, 0.00, 1.00  ]
PlotHistogramHovered":    [ 1.00, 0.60, 0.00, 1.00  ]
TableHeaderBg":           [ 0.19, 0.19, 0.20, 1.00  ]
TableBorderStrong":       [ 0.31, 0.31, 0.35, 1.00  ]
TableBorderLight":        [ 0.23, 0.23, 0.25, 1.00  ]
TableRowBg":              [ 0.00, 0.00, 0.00, 0.00  ]
TableRowBgAlt":           [ 1.00, 1.00, 1.00, 0.06  ]
TextSelectedBg":          [ 0.26, 0.59, 0.98, 0.35  ]
DragDropTarget":          [ 1.00, 1.00, 0.00, 0.90  ]
NavHighlight":            [ 0.26, 0.59, 0.98, 1.00  ]
NavWindowingHighlight":   [ 1.00, 1.00, 1.00, 0.70  ]
NavWindowingDimBg":       [ 0.80, 0.80, 0.80, 0.20  ]
ModalWindowDimBg":        [ 0.80, 0.80, 0.80, 0.35  ]
Alpha:                    1
DisabledAlpha:            0.6
WindowPadding:            [ 8, 8 ]
WindowRounding:           0
WindowBorderSize:         1
WindowMinSize:            [ 32, 32 ]
WindowTitleAlign:         [ 0, 0.5 ]
ChildRounding:            0
ChildBorderSize:          1
PopupRounding:            0
PopupBorderSize:          1
FramePadding:             [ 4, 3 ]
FrameRounding:            0
FrameBorderSize:          0
ItemSpacing:              [ 8, 4 ]
ItemInnerSpacing:         [ 4, 4 ]
IndentSpacing:            21
CellPadding:              [ 4, 2 ]
ScrollbarSize:            14
ScrollbarRounding:        9
GrabMinSize:              12
GrabRounding:             0
TabRounding:              4
ButtonTextAlign:          [ 0.5, 0.5 ]
SelectableTextAlign:      [ 0, 0 ]
SeparatorTextBorderSize:  3
SeparatorTextAlign:       [ 0, 0.5 ]
SeparatorTextPadding:     [ 20, 3 ]
DockingSeparatorSize:     2
DestructiveColor:         [ 0.753, 0.110, 0.157, 1.0 ]
DestructiveColorActive:   [ 0.972, 0.894, 0.360, 1.0 ]
SuccessColor:             [ 0.149, 0.625, 0.412, 1.0 ]
SuccessColorActive:       [ 0.560, 0.941, 0.643, 1.0 ]
WarningColor:             [ 0.804, 0.576, 0.035, 1.0 ]
WarningColorActive:       [ 0.972, 0.894, 0.360, 1.0 ]