feat(theme): finalize semantic color lift and fix light theme UI elements

This commit is contained in:
ed
2026-06-05 00:29:27 -04:00
parent 7735b6cba7
commit 4041782776
15 changed files with 661 additions and 701 deletions
+2 -7
View File
@@ -16,7 +16,7 @@ paths = [
"C:/projects/manual_slop/manual_slop.toml", "C:/projects/manual_slop/manual_slop.toml",
"C:/projects/Pikuma/ps1-ai/pikuma_ps1.toml", "C:/projects/Pikuma/ps1-ai/pikuma_ps1.toml",
] ]
active = "C:/projects/gencpp/.ai/gencpp_sloppy.toml" active = "C:/projects/Pikuma/ps1-ai/pikuma_ps1.toml"
[gui] [gui]
separate_message_panel = true separate_message_panel = true
@@ -62,7 +62,7 @@ Diagnostics = false
"Undo/Redo History" = false "Undo/Redo History" = false
[theme] [theme]
palette = "gruvbox_dark" palette = "solarized_dark"
font_path = "C:/projects/manual_slop/assets/fonts/MapleMono-Regular.ttf" font_path = "C:/projects/manual_slop/assets/fonts/MapleMono-Regular.ttf"
font_size = 20.0 font_size = 20.0
scale = 1.0199999809265137 scale = 1.0199999809265137
@@ -89,11 +89,6 @@ brightness = 0.6899999976158142
contrast = 0.8600000143051147 contrast = 0.8600000143051147
gamma = 0.7699999809265137 gamma = 0.7699999809265137
[theme.tone_mapping."10x Dark"]
brightness = 0.75
contrast = 1.0
gamma = 1.0
[mma] [mma]
max_workers = 4 max_workers = 4
+39 -39
View File
@@ -44,20 +44,20 @@ Collapsed=0
DockId=0x00000010,0 DockId=0x00000010,0
[Window][Message] [Window][Message]
Pos=1216,28 Pos=1448,29
Size=1603,1709 Size=1465,1840
Collapsed=0 Collapsed=0
DockId=0x00000006,0 DockId=0x00000006,1
[Window][Response] [Window][Response]
Pos=0,28 Pos=0,29
Size=1214,1709 Size=1446,1840
Collapsed=0 Collapsed=0
DockId=0x00000010,5 DockId=0x00000010,5
[Window][Tool Calls] [Window][Tool Calls]
Pos=1216,28 Pos=1448,29
Size=1603,1709 Size=1465,1840
Collapsed=0 Collapsed=0
DockId=0x00000006,3 DockId=0x00000006,3
@@ -77,7 +77,7 @@ DockId=0xAFC85805,2
[Window][Theme] [Window][Theme]
Pos=0,29 Pos=0,29
Size=737,1195 Size=1446,1840
Collapsed=0 Collapsed=0
DockId=0x00000010,1 DockId=0x00000010,1
@@ -105,26 +105,26 @@ Collapsed=0
DockId=0x0000000D,0 DockId=0x0000000D,0
[Window][Discussion Hub] [Window][Discussion Hub]
Pos=739,29 Pos=1448,29
Size=974,1195 Size=1465,1840
Collapsed=0 Collapsed=0
DockId=0x00000006,0 DockId=0x00000006,0
[Window][Operations Hub] [Window][Operations Hub]
Pos=0,28 Pos=0,29
Size=1214,1709 Size=1446,1840
Collapsed=0 Collapsed=0
DockId=0x00000010,4 DockId=0x00000010,4
[Window][Files & Media] [Window][Files & Media]
Pos=0,29 Pos=0,29
Size=737,1195 Size=1446,1840
Collapsed=0 Collapsed=0
DockId=0x00000010,2 DockId=0x00000010,2
[Window][AI Settings] [Window][AI Settings]
Pos=0,29 Pos=0,29
Size=737,1195 Size=1446,1840
Collapsed=0 Collapsed=0
DockId=0x00000010,3 DockId=0x00000010,3
@@ -140,8 +140,8 @@ Collapsed=0
DockId=0x00000006,2 DockId=0x00000006,2
[Window][Log Management] [Window][Log Management]
Pos=1216,28 Pos=1448,29
Size=1603,1709 Size=1465,1840
Collapsed=0 Collapsed=0
DockId=0x00000006,2 DockId=0x00000006,2
@@ -337,12 +337,12 @@ Size=517,560
Collapsed=0 Collapsed=0
[Window][Tool Preset Manager] [Window][Tool Preset Manager]
Pos=1331,462 Pos=327,115
Size=1658,1320 Size=1658,1320
Collapsed=0 Collapsed=0
[Window][Persona Editor] [Window][Persona Editor]
Pos=782,139 Pos=437,19
Size=1790,1516 Size=1790,1516
Collapsed=0 Collapsed=0
@@ -410,7 +410,7 @@ DockId=0x00000006,1
[Window][Project Settings] [Window][Project Settings]
Pos=0,29 Pos=0,29
Size=737,1195 Size=1446,1840
Collapsed=0 Collapsed=0
DockId=0x00000010,0 DockId=0x00000010,0
@@ -537,7 +537,7 @@ Collapsed=0
[Window][Project Stale] [Window][Project Stale]
Pos=10,50 Pos=10,50
Size=169,184 Size=186,192
Collapsed=0 Collapsed=0
[Table][0xFB6E3870,4] [Table][0xFB6E3870,4]
@@ -587,11 +587,11 @@ Column 4 Weight=1.0000
Column 5 Width=50 Column 5 Width=50
[Table][0x3751446B,4] [Table][0x3751446B,4]
RefScale=20 RefScale=21
Column 0 Width=60 Column 0 Width=62
Column 1 Width=89 Column 1 Width=93
Column 2 Weight=1.0000 Column 2 Weight=1.0000
Column 3 Width=228 Column 3 Width=239
[Table][0x2C515046,4] [Table][0x2C515046,4]
RefScale=20 RefScale=20
@@ -625,8 +625,8 @@ Column 1 Width=150
Column 2 Weight=1.0000 Column 2 Weight=1.0000
[Table][0xD0277E63,2] [Table][0xD0277E63,2]
RefScale=20 RefScale=21
Column 0 Width=300 Column 0 Width=315
Column 1 Weight=1.0000 Column 1 Weight=1.0000
[Table][0x3AAF84D5,2] [Table][0x3AAF84D5,2]
@@ -635,13 +635,13 @@ Column 0 Width=150
Column 1 Weight=1.0000 Column 1 Weight=1.0000
[Table][0x8D8494AB,2] [Table][0x8D8494AB,2]
RefScale=20 RefScale=21
Column 0 Width=162 Column 0 Width=170
Column 1 Weight=1.0000 Column 1 Weight=1.0000
[Table][0x2C261E6E,2] [Table][0x2C261E6E,2]
RefScale=20 RefScale=21
Column 0 Width=162 Column 0 Width=170
Column 1 Weight=1.0000 Column 1 Weight=1.0000
[Table][0x9CB1E6FD,2] [Table][0x9CB1E6FD,2]
@@ -650,15 +650,15 @@ Column 0 Width=233
Column 1 Weight=1.0000 Column 1 Weight=1.0000
[Table][0x1DA1F4A6,2] [Table][0x1DA1F4A6,2]
RefScale=20 RefScale=21
Column 0 Weight=1.0000 Column 0 Weight=1.0000
Column 1 Width=509 Column 1 Width=534
[Table][0x5B562C13,3] [Table][0x5B562C13,3]
RefScale=20 RefScale=21
Column 0 Weight=1.0000 Column 0 Weight=1.0000
Column 1 Width=100 Column 1 Width=104
Column 2 Width=185 Column 2 Width=194
[Table][0x17AC2E33,4] [Table][0x17AC2E33,4]
RefScale=20 RefScale=20
@@ -829,13 +829,13 @@ Column 4 Weight=1.0000
DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y
DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A
DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02 DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,29 Size=1713,1195 Split=X DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,29 Size=2913,1840 Split=X
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2357,1183 Split=X DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2357,1183 Split=X
DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2 DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2
DockNode ID=0x00000005 Parent=0x0000000B SizeRef=737,1681 Split=Y Selected=0x3F1379AF DockNode ID=0x00000005 Parent=0x0000000B SizeRef=1446,1681 Split=Y Selected=0x3F1379AF
DockNode ID=0x00000010 Parent=0x00000005 SizeRef=983,1140 CentralNode=1 Selected=0x8CA2375C DockNode ID=0x00000010 Parent=0x00000005 SizeRef=983,1140 CentralNode=1 Selected=0x3F1379AF
DockNode ID=0x00000011 Parent=0x00000005 SizeRef=983,184 Selected=0x432BAE4E DockNode ID=0x00000011 Parent=0x00000005 SizeRef=983,184 Selected=0x432BAE4E
DockNode ID=0x00000006 Parent=0x0000000B SizeRef=974,1681 Selected=0x6F2B5B04 DockNode ID=0x00000006 Parent=0x0000000B SizeRef=1465,1681 Selected=0x2C0206CE
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6 DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=488,1183 Selected=0x3AEC3498 DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=488,1183 Selected=0x3AEC3498
-35
View File
@@ -1,35 +0,0 @@
import os
import tomllib
from pathlib import Path
def compact_toml(path: Path):
with open(path, "rb") as f:
data = tomllib.load(f)
lines = []
# Write top level fields
if "name" in data: lines.append(f'name = "{data["name"]}"')
if "syntax_palette" in data: lines.append(f'syntax_palette = "{data["syntax_palette"]}"')
if "description" in data: lines.append(f'description = "{data["description"]}"')
lines.append("")
# Write colors table
if "colors" in data:
lines.append("[colors]")
colors = data["colors"]
# Find max key length for alignment
max_key = max(len(k) for k in colors.keys()) if colors else 0
# Sort keys to keep it predictable
for k in sorted(colors.keys()):
v = colors[k]
# Format as compact array [R, G, B]
val_str = f"[{v[0]:3}, {v[1]:3}, {v[2]:3}]"
lines.append(f"{k:<{max_key}} = {val_str}")
path.write_text("\n".join(lines) + "\n", encoding="utf-8")
print(f"Compacted {path}")
if __name__ == "__main__":
for f in Path("themes").glob("*.toml"):
compact_toml(f)
-108
View File
@@ -1,108 +0,0 @@
import re
from pathlib import Path
# Mapping regex -> replacement
# Note: we use theme.get_color("semantic", alpha=...)
REPLACEMENTS = [
# status_error
(r'imgui\.ImVec4\(1\.0, 0\.0, 0\.0, 0\.2\)', 'theme.get_color("status_error", alpha=0.2)'),
(r'imgui\.ImVec4\(1, 0, 0, 1\)', 'theme.get_color("status_error")'),
(r'imgui\.ImVec4\(1, 0\.3, 0\.3, ([\d\.]+)\)', r'theme.get_color("status_error", alpha=\1)'),
(r'imgui\.ImVec4\(1, 0\.3, 0\.3, 1\)', 'theme.get_color("status_error")'),
(r'imgui\.ImVec4\(1, 0\.4, 0\.4, 1\)', 'theme.get_color("status_error")'),
(r'vec4\(255, 100, 100\)', 'theme.get_color("status_error")'),
(r'vec4\(255, 72, 64, ([\d\.]+)\)', r'theme.get_color("status_error", alpha=\1)'),
(r'vec4\(255, 72, 64\)', 'theme.get_color("status_error")'),
(r'vec4\(255, 77, 77\)', 'theme.get_color("status_error")'),
(r'vec4\(230, 51, 51\)', 'theme.get_color("status_error")'),
(r'vec4\(240, 80, 80\)', 'theme.get_color("status_error")'),
(r'vec4\(255, 120, 120\)', 'theme.get_color("status_error")'),
(r'vec4\(255, 50, 50, ([\d\.]+)\)', r'theme.get_color("status_error", alpha=\1)'),
(r'vec4\(255, 100, 100, ([\d\.]+)\)', r'theme.get_color("status_error", alpha=\1)'),
# status_warning
(r'imgui\.ImVec4\(1\.0, 0\.85, 0\.2, 0\.15\)', 'theme.get_color("status_warning", alpha=0.15)'),
(r'imgui\.ImVec4\(1\.0, 0\.85, 0\.2, 1\.0\)', 'theme.get_color("status_warning")'),
(r'imgui\.ImVec4\(1, 0\.5, 0, 1\)', 'theme.get_color("status_warning")'),
(r'imgui\.ImVec4\(1, 1, 0, 1\)', 'theme.get_color("status_warning")'),
(r'imgui\.ImVec4\(1\.0, 1\.0, 0\.0, 1\.0\)', 'theme.get_color("status_warning")'),
(r'imgui\.ImVec4\(1\.0, 0\.5, 0\.0, 1\.0\)', 'theme.get_color("status_warning")'),
(r'imgui\.ImVec4\(1\.0, 0\.3, 0\.0, 1\.0\)', 'theme.get_color("status_warning")'),
(r'vec4\(255, 152, 48\)', 'theme.get_color("status_warning")'),
(r'vec4\(255, 200, 100\)', 'theme.get_color("status_warning")'),
(r'vec4\(200, 200, 100\)', 'theme.get_color("status_warning")'),
(r'vec4\(255, 230, 77\)', 'theme.get_color("status_warning")'),
(r'vec4\(255, 255, 100\)', 'theme.get_color("status_warning")'),
(r'vec4\(240, 200, 80\)', 'theme.get_color("status_warning")'),
(r'vec4\(255, 150, 50\)', 'theme.get_color("status_warning")'),
(r'vec4\(200, 180, 100\)', 'theme.get_color("status_warning")'),
# status_success
(r'vec4\(80, 255, 80\)', 'theme.get_color("status_success")'),
(r'vec4\(80, 255, 80, ([\d\.]+)\)', r'theme.get_color("status_success", alpha=\1)'),
(r'imgui\.ImVec4\(0, 1, 0, 1\)', 'theme.get_color("status_success")'),
(r'imgui\.ImVec4\(0\.2, 0\.9, 0\.2, 1\)', 'theme.get_color("status_success")'),
(r'imgui\.ImVec4\(0\.2, 0\.8, 0\.2, 1\.0\)', 'theme.get_color("status_success")'),
(r'imgui\.ImVec4\(0\.39, 1\.0, 0\.39, ([\d\.]+)\)', r'theme.get_color("status_success", alpha=\1)'),
(r'imgui\.ImVec4\(0\.3, 0\.8, 0\.3, 1\)', 'theme.get_color("status_success")'),
(r'vec4\(100, 255, 100\)', 'theme.get_color("status_success")'),
(r'vec4\(120, 220, 120\)', 'theme.get_color("status_success")'),
(r'vec4\(0, 255, 0, ([\d\.]+)\)', r'theme.get_color("status_success", alpha=\1)'),
(r'vec4\(51, 230, 51\)', 'theme.get_color("status_success")'),
# status_info
(r'imgui\.ImVec4\(0, 1, 1, 1\)', 'theme.get_color("status_info")'),
(r'imgui\.ImVec4\(0\.3, 0\.8, 1, 1\)', 'theme.get_color("status_info")'),
(r'imgui\.ImVec4\(0\.4, 0\.6, 0\.7, 1\.0\)', 'theme.get_color("status_info")'),
(r'vec4\(77, 178, 255\)', 'theme.get_color("status_info")'),
(r'vec4\(100, 150, 180\)', 'theme.get_color("status_info")'),
# text_disabled
(r'imgui\.ImVec4\(0\.7, 0\.7, 0\.7, 1\)', 'theme.get_color("text_disabled")'),
(r'vec4\(180, 180, 180\)', 'theme.get_color("text_disabled")'),
(r'vec4\(160, 160, 160\)', 'theme.get_color("text_disabled")'),
(r'vec4\(200, 220, 160\)', 'theme.get_color("text_disabled")'),
# bubble backgrounds
(r'imgui\.ImVec4\(0\.15, 0\.14, 0\.10, 0\.7\)', 'theme.get_color("bubble_vendor", alpha=0.7)'),
(r'vec4\(50, 40, 20\)', 'theme.get_color("bubble_vendor")'),
# Slices
(r'vec4\(255, 165, 0, 0\.2\)', 'theme.get_color("slice_manual", alpha=0.2)'),
(r'vec4\(0, 255, 0, 0\.15\)', 'theme.get_color("slice_auto", alpha=0.15)'),
(r'vec4\(100, 100, 255, 0\.3\)', 'theme.get_color("slice_selection", alpha=0.3)'),
(r'imgui\.ImVec4\(1\.0, 0\.65, 0, 0\.2\)', 'theme.get_color("slice_manual", alpha=0.2)'),
(r'imgui\.ImVec4\(0, 1\.0, 0, 0\.1\)', 'theme.get_color("slice_auto", alpha=0.1)'),
(r'imgui\.ImVec4\(0\.4, 0\.4, 1\.0, 0\.3\)', 'theme.get_color("slice_selection", alpha=0.3)'),
(r'imgui\.ImVec4\(0, 1\.0, 0, 0\.15\)', 'theme.get_color("slice_auto", alpha=0.15)'),
(r'imgui\.ImVec4\(0, 0, 1\.0, 0\.15\)', 'theme.get_color("slice_selection", alpha=0.15)'),
(r'imgui\.ImVec4\(1\.0, 1\.0, 0, 0\.2\)', 'theme.get_color("status_warning", alpha=0.2)'),
]
def apply_lift(path: Path):
content = path.read_text(encoding="utf-8")
original = content
for pattern, replacement in REPLACEMENTS:
content = re.sub(pattern, replacement, content)
# Specialized replacements
# MMA status block
content = re.sub(r'if app\.mma_status == "idle": status_col = imgui\.ImVec4\(0\.7, 0\.7, 0\.7, 1\)',
'if app.mma_status == "idle": status_col = theme.get_color("text_disabled")', content)
content = re.sub(r'elif app\.mma_status == "running": status_col = vec4\(80, 255, 80\) if is_nerv else imgui\.ImVec4\(1, 1, 0, 1\)',
'elif app.mma_status == "running": status_col = theme.get_color("status_warning")', content)
content = re.sub(r'elif app\.mma_status == "done": status_col = imgui\.ImVec4\(0, 1, 0, 1\)',
'elif app.mma_status == "done": status_col = theme.get_color("status_success")', content)
content = re.sub(r'elif app\.mma_status == "error": status_col = vec4\(255, 72, 64\) if is_nerv else imgui\.ImVec4\(1, 0, 0, 1\)',
'elif app.mma_status == "error": status_col = theme.get_color("status_error")', content)
content = re.sub(r'elif app\.mma_status == "paused": status_col = imgui\.ImVec4\(1, 0\.5, 0, 1\)',
'elif app.mma_status == "paused": status_col = theme.get_color("status_warning")', content)
if content != original:
path.write_text(content, encoding="utf-8")
print(f"Lifted colors in {path}")
if __name__ == "__main__":
apply_lift(Path("src/gui_2.py"))
-82
View File
@@ -1,82 +0,0 @@
import os
import tomllib
import tomli_w
from pathlib import Path
# Get all keys from ThemePalette defaults
from src.theme_models import ThemePalette
default_palette = ThemePalette()
ALL_KEYS = list(default_palette.to_dict().keys())
DARK_SEMANTIC = {
"status_success": [80, 255, 80],
"status_warning": [255, 152, 48],
"status_error": [255, 72, 64],
"status_info": [0, 255, 255],
"bubble_user": [30, 45, 75],
"bubble_ai": [35, 65, 45],
"bubble_vendor": [65, 55, 30],
"bubble_system": [25, 25, 25],
"slice_manual": [255, 165, 0],
"slice_auto": [0, 255, 0],
"slice_selection": [100, 100, 255],
"diff_added": [51, 230, 51],
"diff_removed": [230, 51, 51],
"diff_header": [77, 178, 255],
}
LIGHT_SEMANTIC = {
"status_success": [40, 180, 40],
"status_warning": [200, 140, 0],
"status_error": [200, 40, 40],
"status_info": [40, 100, 200],
"bubble_user": [220, 230, 255],
"bubble_ai": [220, 255, 220],
"bubble_vendor": [255, 240, 200],
"bubble_system": [240, 240, 240],
"slice_manual": [255, 200, 0],
"slice_auto": [80, 255, 80],
"slice_selection": [180, 180, 255],
"diff_added": [40, 180, 40],
"diff_removed": [200, 40, 40],
"diff_header": [40, 100, 200],
}
def standardize_theme(path: Path):
with open(path, "rb") as f:
data = tomllib.load(f)
name = data.get("name", path.stem)
syntax = data.get("syntax_palette", "dark")
colors = data.get("colors", {})
is_light = "light" in name.lower() or syntax == "light"
semantic = LIGHT_SEMANTIC if is_light else DARK_SEMANTIC
# Merge semantic
for k, v in semantic.items():
if k not in colors:
colors[k] = v
# Ensure all keys are present (optional, but good for completeness)
# for k in ALL_KEYS:
# if k not in colors:
# # We use defaults from ThemePalette anyway, so no need to bloat
# pass
new_data = {
"name": name,
"syntax_palette": syntax,
"description": data.get("description", ""),
"colors": colors
}
with open(path, "wb") as f:
tomli_w.dump(new_data, f)
print(f"Standardized {path}")
if __name__ == "__main__":
themes_dir = Path("themes")
for f in themes_dir.glob("*.toml"):
standardize_theme(f)
+3 -3
View File
@@ -1510,8 +1510,8 @@ def render_cache_panel(app: App) -> None:
imgui.text(f"Age: {age_str}") imgui.text(f"Age: {age_str}")
imgui.text(f"TTL: {remaining_str} ({ttl_pct:.0f}%)") imgui.text(f"TTL: {remaining_str} ({ttl_pct:.0f}%)")
color = theme.get_color("status_success") color = theme.get_color("status_success")
if ttl_pct < 20: color = imgui.ImVec4(1.0, 0.2, 0.2, 1.0) if ttl_pct < 20: color = theme.get_color("status_error")
elif ttl_pct < 50: color = imgui.ImVec4(1.0, 0.8, 0.0, 1.0) elif ttl_pct < 50: color = theme.get_color("status_warning")
imgui.push_style_color(imgui.Col_.plot_histogram, color) imgui.push_style_color(imgui.Col_.plot_histogram, color)
imgui.progress_bar(ttl_pct / 100.0, imgui.ImVec2(-1, 0), f"{ttl_pct:.0f}%") imgui.progress_bar(ttl_pct / 100.0, imgui.ImVec2(-1, 0), f"{ttl_pct:.0f}%")
imgui.pop_style_color() imgui.pop_style_color()
@@ -1519,7 +1519,7 @@ def render_cache_panel(app: App) -> None:
app.controller.clear_cache() app.controller.clear_cache()
app._cache_cleared_timestamp = time.time() app._cache_cleared_timestamp = time.time()
if hasattr(app, '_cache_cleared_timestamp') and time.time() - app._cache_cleared_timestamp < 5: if hasattr(app, '_cache_cleared_timestamp') and time.time() - app._cache_cleared_timestamp < 5:
imgui.text_colored(imgui.ImVec4(0.2, 1.0, 0.2, 1.0), "Cache cleared - will rebuild on next request") imgui.text_colored(theme.get_color("status_success"), "Cache cleared - will rebuild on next request")
if app.perf_profiling_enabled: app.perf_monitor.end_component("_render_cache_panel") if app.perf_profiling_enabled: app.perf_monitor.end_component("_render_cache_panel")
def render_tool_analytics_panel(app: App) -> None: def render_tool_analytics_panel(app: App) -> None:
+9
View File
@@ -320,6 +320,15 @@ class MarkdownRenderer:
editor = ed.TextEditor() editor = ed.TextEditor()
editor.set_read_only_enabled(True) editor.set_read_only_enabled(True)
editor.set_show_line_numbers_enabled(True) editor.set_show_line_numbers_enabled(True)
# Explicitly set palette on instance to be sure
from src import theme_2
p_name = theme_2.get_syntax_palette_for_theme(theme_2.get_current_palette())
if hasattr(ed.TextEditor, "PaletteId"):
p_id = getattr(ed.TextEditor.PaletteId, p_name, None)
if p_id is not None:
editor.set_palette(p_id)
self._editor_cache[cache_key] = editor self._editor_cache[cache_key] = editor
self._editor_lang_cache[cache_key] = None self._editor_lang_cache[cache_key] = None
+12
View File
@@ -19,17 +19,24 @@ diff_header = [ 77, 178, 255]
diff_removed = [230, 51, 51] diff_removed = [230, 51, 51]
docking_empty_bg = [ 20, 20, 20] docking_empty_bg = [ 20, 20, 20]
docking_preview = [126, 78, 14] docking_preview = [126, 78, 14]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [ 45, 42, 38] frame_bg = [ 45, 42, 38]
frame_bg_active = [ 75, 70, 62] frame_bg_active = [ 75, 70, 62]
frame_bg_hovered = [ 60, 56, 50] frame_bg_hovered = [ 60, 56, 50]
header = [ 83, 76, 60] header = [ 83, 76, 60]
header_active = [115, 90, 70] header_active = [115, 90, 70]
header_hovered = [126, 78, 14] header_hovered = [126, 78, 14]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [ 35, 30, 20] menu_bar_bg = [ 35, 30, 20]
modal_window_dim_bg = [ 10, 10, 10] modal_window_dim_bg = [ 10, 10, 10]
nav_cursor = [126, 78, 14] nav_cursor = [126, 78, 14]
nav_windowing_dim_bg = [ 20, 20, 20] nav_windowing_dim_bg = [ 20, 20, 20]
nav_windowing_highlight = [194, 164, 74] nav_windowing_highlight = [194, 164, 74]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [ 35, 30, 20] popup_bg = [ 35, 30, 20]
resize_grip = [ 60, 55, 44] resize_grip = [ 60, 55, 44]
resize_grip_active = [194, 164, 74] resize_grip_active = [194, 164, 74]
@@ -53,8 +60,10 @@ status_warning = [255, 152, 48]
tab = [ 83, 83, 70] tab = [ 83, 83, 70]
tab_dimmed = [ 60, 58, 50] tab_dimmed = [ 60, 58, 50]
tab_dimmed_selected = [ 90, 80, 55] tab_dimmed_selected = [ 90, 80, 55]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [126, 77, 25] tab_hovered = [126, 77, 25]
tab_selected = [126, 77, 25] tab_selected = [126, 77, 25]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 50, 47, 42] table_border_light = [ 50, 47, 42]
table_border_strong = [ 70, 65, 55] table_border_strong = [ 70, 65, 55]
table_header_bg = [ 55, 50, 38] table_header_bg = [ 55, 50, 38]
@@ -62,8 +71,11 @@ table_row_bg = [ 0, 0, 0]
table_row_bg_alt = [ 40, 38, 34] table_row_bg_alt = [ 40, 38, 34]
text = [200, 200, 200] text = [200, 200, 200]
text_disabled = [130, 130, 120] text_disabled = [130, 130, 120]
text_link = [ 60, 100, 150]
text_selected_bg = [ 59, 86, 142] text_selected_bg = [ 59, 86, 142]
title_bg = [ 40, 35, 25] title_bg = [ 40, 35, 25]
title_bg_active = [ 60, 45, 15] title_bg_active = [ 60, 45, 15]
title_bg_collapsed = [ 30, 27, 20] title_bg_collapsed = [ 30, 27, 20]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [ 34, 32, 28] window_bg = [ 34, 32, 28]
+25
View File
@@ -17,14 +17,22 @@ child_bg = [ 0, 0, 0]
diff_added = [ 40, 180, 40] diff_added = [ 40, 180, 40]
diff_header = [ 40, 100, 200] diff_header = [ 40, 100, 200]
diff_removed = [200, 40, 40] diff_removed = [200, 40, 40]
docking_empty_bg = [230, 230, 230]
docking_preview = [100, 100, 100]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [255, 255, 255] frame_bg = [255, 255, 255]
frame_bg_active = [ 66, 150, 250] frame_bg_active = [ 66, 150, 250]
frame_bg_hovered = [ 66, 150, 250] frame_bg_hovered = [ 66, 150, 250]
header = [ 66, 150, 250] header = [ 66, 150, 250]
header_active = [ 66, 150, 250] header_active = [ 66, 150, 250]
header_hovered = [ 66, 150, 250] header_hovered = [ 66, 150, 250]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [219, 219, 219] menu_bar_bg = [219, 219, 219]
modal_window_dim_bg = [ 51, 51, 51] modal_window_dim_bg = [ 51, 51, 51]
nav_cursor = [100, 100, 100]
nav_windowing_dim_bg = [200, 200, 200]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [230, 178, 0] plot_histogram = [230, 178, 0]
plot_histogram_hovered = [255, 153, 0] plot_histogram_hovered = [255, 153, 0]
plot_lines = [ 99, 99, 99] plot_lines = [ 99, 99, 99]
@@ -38,6 +46,8 @@ scrollbar_grab = [176, 176, 176]
scrollbar_grab_active = [125, 125, 125] scrollbar_grab_active = [125, 125, 125]
scrollbar_grab_hovered = [150, 150, 150] scrollbar_grab_hovered = [150, 150, 150]
separator = [100, 100, 100] separator = [100, 100, 100]
separator_active = [200, 200, 200]
separator_hovered = [100, 100, 100]
slice_auto = [ 80, 255, 80] slice_auto = [ 80, 255, 80]
slice_manual = [255, 200, 0] slice_manual = [255, 200, 0]
slice_selection = [180, 180, 255] slice_selection = [180, 180, 255]
@@ -47,10 +57,25 @@ status_error = [200, 40, 40]
status_info = [ 40, 100, 200] status_info = [ 40, 100, 200]
status_success = [ 40, 180, 40] status_success = [ 40, 180, 40]
status_warning = [200, 140, 0] status_warning = [200, 140, 0]
tab = [ 60, 60, 60]
tab_dimmed = [220, 220, 220]
tab_dimmed_selected = [200, 200, 200]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [100, 100, 100]
tab_selected = [200, 200, 200]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 40, 40, 40]
table_border_strong = [ 60, 60, 60]
table_header_bg = [ 55, 55, 55]
table_row_bg = [250, 250, 250]
table_row_bg_alt = [235, 235, 235]
text = [ 0, 0, 0] text = [ 0, 0, 0]
text_disabled = [153, 153, 153] text_disabled = [153, 153, 153]
text_link = [ 60, 100, 150]
text_selected_bg = [ 66, 150, 250] text_selected_bg = [ 66, 150, 250]
title_bg = [245, 245, 245] title_bg = [245, 245, 245]
title_bg_active = [209, 209, 209] title_bg_active = [209, 209, 209]
title_bg_collapsed = [255, 255, 255] title_bg_collapsed = [255, 255, 255]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [240, 240, 240] window_bg = [240, 240, 240]
+29
View File
@@ -4,6 +4,7 @@ description = "Gruvbox Dark by Pavel Pertsev (github.com/morhetz/gruvbox)"
[colors] [colors]
border = [ 60, 56, 54] border = [ 60, 56, 54]
border_shadow = [ 0, 0, 0]
bubble_ai = [ 35, 65, 45] bubble_ai = [ 35, 65, 45]
bubble_system = [ 25, 25, 25] bubble_system = [ 25, 25, 25]
bubble_user = [ 30, 45, 75] bubble_user = [ 30, 45, 75]
@@ -16,14 +17,30 @@ child_bg = [ 50, 48, 47]
diff_added = [ 51, 230, 51] diff_added = [ 51, 230, 51]
diff_header = [ 77, 178, 255] diff_header = [ 77, 178, 255]
diff_removed = [230, 51, 51] diff_removed = [230, 51, 51]
docking_empty_bg = [ 20, 20, 20]
docking_preview = [100, 100, 100]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [ 50, 48, 47] frame_bg = [ 50, 48, 47]
frame_bg_active = [ 90, 90, 90] frame_bg_active = [ 90, 90, 90]
frame_bg_hovered = [ 80, 80, 80] frame_bg_hovered = [ 80, 80, 80]
header = [ 60, 56, 54] header = [ 60, 56, 54]
header_active = [251, 73, 52] header_active = [251, 73, 52]
header_hovered = [180, 120, 40] header_hovered = [180, 120, 40]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [ 40, 40, 40] menu_bar_bg = [ 40, 40, 40]
modal_window_dim_bg = [ 10, 10, 10]
nav_cursor = [100, 100, 100]
nav_windowing_dim_bg = [ 20, 20, 20]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [ 50, 48, 47] popup_bg = [ 50, 48, 47]
resize_grip = [ 60, 60, 60]
resize_grip_active = [200, 200, 200]
resize_grip_hovered = [100, 100, 100]
scrollbar_bg = [ 40, 40, 40] scrollbar_bg = [ 40, 40, 40]
scrollbar_grab = [ 80, 80, 80] scrollbar_grab = [ 80, 80, 80]
scrollbar_grab_active = [251, 241, 199] scrollbar_grab_active = [251, 241, 199]
@@ -41,12 +58,24 @@ status_info = [ 0, 255, 255]
status_success = [ 80, 255, 80] status_success = [ 80, 255, 80]
status_warning = [255, 152, 48] status_warning = [255, 152, 48]
tab = [ 60, 56, 54] tab = [ 60, 56, 54]
tab_dimmed = [ 60, 60, 60]
tab_dimmed_selected = [100, 100, 100]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [180, 120, 40] tab_hovered = [180, 120, 40]
tab_selected = [ 80, 80, 80] tab_selected = [ 80, 80, 80]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 40, 40, 40]
table_border_strong = [ 60, 60, 60]
table_header_bg = [ 60, 56, 54] table_header_bg = [ 60, 56, 54]
table_row_bg = [ 0, 0, 0]
table_row_bg_alt = [ 10, 10, 10]
text = [251, 241, 199] text = [251, 241, 199]
text_disabled = [146, 131, 116] text_disabled = [146, 131, 116]
text_link = [ 60, 100, 150]
text_selected_bg = [180, 120, 40] text_selected_bg = [180, 120, 40]
title_bg = [ 40, 40, 40] title_bg = [ 40, 40, 40]
title_bg_active = [ 80, 80, 80] title_bg_active = [ 80, 80, 80]
title_bg_collapsed = [ 30, 30, 30]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [ 40, 40, 40] window_bg = [ 40, 40, 40]
+14
View File
@@ -19,15 +19,24 @@ diff_header = [ 77, 178, 255]
diff_removed = [230, 51, 51] diff_removed = [230, 51, 51]
docking_empty_bg = [ 20, 20, 18] docking_empty_bg = [ 20, 20, 18]
docking_preview = [249, 38, 114] docking_preview = [249, 38, 114]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [ 50, 51, 44] frame_bg = [ 50, 51, 44]
frame_bg_active = [ 80, 82, 68] frame_bg_active = [ 80, 82, 68]
frame_bg_hovered = [ 65, 67, 56] frame_bg_hovered = [ 65, 67, 56]
header = [ 73, 72, 62] header = [ 73, 72, 62]
header_active = [198, 30, 92] header_active = [198, 30, 92]
header_hovered = [249, 38, 114] header_hovered = [249, 38, 114]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [ 50, 51, 44] menu_bar_bg = [ 50, 51, 44]
modal_window_dim_bg = [ 10, 10, 8] modal_window_dim_bg = [ 10, 10, 8]
nav_cursor = [166, 226, 46] nav_cursor = [166, 226, 46]
nav_windowing_dim_bg = [ 20, 20, 20]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [ 39, 40, 34] popup_bg = [ 39, 40, 34]
resize_grip = [ 73, 72, 62] resize_grip = [ 73, 72, 62]
resize_grip_active = [166, 226, 46] resize_grip_active = [166, 226, 46]
@@ -51,8 +60,10 @@ status_warning = [255, 152, 48]
tab = [ 73, 72, 62] tab = [ 73, 72, 62]
tab_dimmed = [ 50, 51, 44] tab_dimmed = [ 50, 51, 44]
tab_dimmed_selected = [ 90, 88, 76] tab_dimmed_selected = [ 90, 88, 76]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [249, 38, 114] tab_hovered = [249, 38, 114]
tab_selected = [249, 38, 114] tab_selected = [249, 38, 114]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 55, 56, 48] table_border_light = [ 55, 56, 48]
table_border_strong = [ 73, 72, 62] table_border_strong = [ 73, 72, 62]
table_header_bg = [ 60, 61, 52] table_header_bg = [ 60, 61, 52]
@@ -60,8 +71,11 @@ table_row_bg = [ 0, 0, 0]
table_row_bg_alt = [ 50, 51, 44] table_row_bg_alt = [ 50, 51, 44]
text = [248, 248, 242] text = [248, 248, 242]
text_disabled = [117, 113, 94] text_disabled = [117, 113, 94]
text_link = [ 60, 100, 150]
text_selected_bg = [249, 38, 114] text_selected_bg = [249, 38, 114]
title_bg = [ 39, 40, 34] title_bg = [ 39, 40, 34]
title_bg_active = [ 73, 72, 62] title_bg_active = [ 73, 72, 62]
title_bg_collapsed = [ 30, 31, 26] title_bg_collapsed = [ 30, 31, 26]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [ 39, 40, 34] window_bg = [ 39, 40, 34]
+29
View File
@@ -4,6 +4,7 @@ description = "Moss — green-tinted dark theme"
[colors] [colors]
border = [ 60, 80, 90] border = [ 60, 80, 90]
border_shadow = [ 0, 0, 0]
bubble_ai = [ 35, 65, 45] bubble_ai = [ 35, 65, 45]
bubble_system = [ 25, 25, 25] bubble_system = [ 25, 25, 25]
bubble_user = [ 30, 45, 75] bubble_user = [ 30, 45, 75]
@@ -16,14 +17,30 @@ child_bg = [ 24, 32, 30]
diff_added = [ 51, 230, 51] diff_added = [ 51, 230, 51]
diff_header = [ 77, 178, 255] diff_header = [ 77, 178, 255]
diff_removed = [230, 51, 51] diff_removed = [230, 51, 51]
docking_empty_bg = [ 20, 20, 20]
docking_preview = [100, 100, 100]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [ 50, 70, 80] frame_bg = [ 50, 70, 80]
frame_bg_active = [ 70, 100, 110] frame_bg_active = [ 70, 100, 110]
frame_bg_hovered = [ 60, 90, 100] frame_bg_hovered = [ 60, 90, 100]
header = [ 60, 80, 90] header = [ 60, 80, 90]
header_active = [ 42, 77, 50] header_active = [ 42, 77, 50]
header_hovered = [120, 160, 130] header_hovered = [120, 160, 130]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [ 40, 47, 49] menu_bar_bg = [ 40, 47, 49]
modal_window_dim_bg = [ 10, 10, 10]
nav_cursor = [100, 100, 100]
nav_windowing_dim_bg = [ 20, 20, 20]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [ 20, 35, 35] popup_bg = [ 20, 35, 35]
resize_grip = [ 60, 60, 60]
resize_grip_active = [200, 200, 200]
resize_grip_hovered = [100, 100, 100]
scrollbar_bg = [ 40, 47, 49] scrollbar_bg = [ 40, 47, 49]
scrollbar_grab = [ 80, 80, 80] scrollbar_grab = [ 80, 80, 80]
scrollbar_grab_active = [120, 120, 120] scrollbar_grab_active = [120, 120, 120]
@@ -41,12 +58,24 @@ status_info = [ 0, 255, 255]
status_success = [ 80, 255, 80] status_success = [ 80, 255, 80]
status_warning = [255, 152, 48] status_warning = [255, 152, 48]
tab = [ 60, 80, 90] tab = [ 60, 80, 90]
tab_dimmed = [ 60, 60, 60]
tab_dimmed_selected = [100, 100, 100]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [ 80, 100, 110] tab_hovered = [ 80, 100, 110]
tab_selected = [ 42, 77, 50] tab_selected = [ 42, 77, 50]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 40, 40, 40]
table_border_strong = [ 60, 60, 60]
table_header_bg = [ 50, 70, 80] table_header_bg = [ 50, 70, 80]
table_row_bg = [ 0, 0, 0]
table_row_bg_alt = [ 10, 10, 10]
text = [255, 255, 255] text = [255, 255, 255]
text_disabled = [208, 208, 208] text_disabled = [208, 208, 208]
text_link = [ 60, 100, 150]
text_selected_bg = [105, 101, 255] text_selected_bg = [105, 101, 255]
title_bg = [ 40, 47, 49] title_bg = [ 40, 47, 49]
title_bg_active = [ 42, 77, 50] title_bg_active = [ 42, 77, 50]
title_bg_collapsed = [ 30, 30, 30]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [ 40, 47, 49] window_bg = [ 40, 47, 49]
+14
View File
@@ -19,15 +19,24 @@ diff_header = [ 77, 178, 255]
diff_removed = [230, 51, 51] diff_removed = [230, 51, 51]
docking_empty_bg = [ 20, 22, 28] docking_empty_bg = [ 20, 22, 28]
docking_preview = [ 94, 129, 172] docking_preview = [ 94, 129, 172]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [ 46, 52, 64] frame_bg = [ 46, 52, 64]
frame_bg_active = [ 67, 76, 94] frame_bg_active = [ 67, 76, 94]
frame_bg_hovered = [ 59, 66, 82] frame_bg_hovered = [ 59, 66, 82]
header = [ 59, 66, 82] header = [ 59, 66, 82]
header_active = [129, 161, 193] header_active = [129, 161, 193]
header_hovered = [ 94, 129, 172] header_hovered = [ 94, 129, 172]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [ 46, 52, 64] menu_bar_bg = [ 46, 52, 64]
modal_window_dim_bg = [ 10, 12, 16] modal_window_dim_bg = [ 10, 12, 16]
nav_cursor = [136, 192, 208] nav_cursor = [136, 192, 208]
nav_windowing_dim_bg = [ 20, 20, 20]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [ 36, 41, 49] popup_bg = [ 36, 41, 49]
resize_grip = [ 59, 66, 82] resize_grip = [ 59, 66, 82]
resize_grip_active = [136, 192, 208] resize_grip_active = [136, 192, 208]
@@ -51,8 +60,10 @@ status_warning = [255, 152, 48]
tab = [ 46, 52, 64] tab = [ 46, 52, 64]
tab_dimmed = [ 36, 41, 49] tab_dimmed = [ 36, 41, 49]
tab_dimmed_selected = [ 59, 66, 82] tab_dimmed_selected = [ 59, 66, 82]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [ 94, 129, 172] tab_hovered = [ 94, 129, 172]
tab_selected = [ 76, 86, 106] tab_selected = [ 76, 86, 106]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 59, 66, 82] table_border_light = [ 59, 66, 82]
table_border_strong = [ 76, 86, 106] table_border_strong = [ 76, 86, 106]
table_header_bg = [ 59, 66, 82] table_header_bg = [ 59, 66, 82]
@@ -60,8 +71,11 @@ table_row_bg = [ 0, 0, 0]
table_row_bg_alt = [ 46, 52, 64] table_row_bg_alt = [ 46, 52, 64]
text = [216, 222, 233] text = [216, 222, 233]
text_disabled = [116, 128, 150] text_disabled = [116, 128, 150]
text_link = [ 60, 100, 150]
text_selected_bg = [ 94, 129, 172] text_selected_bg = [ 94, 129, 172]
title_bg = [ 36, 41, 49] title_bg = [ 36, 41, 49]
title_bg_active = [ 59, 66, 82] title_bg_active = [ 59, 66, 82]
title_bg_collapsed = [ 30, 34, 42] title_bg_collapsed = [ 30, 34, 42]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [ 36, 41, 49] window_bg = [ 36, 41, 49]
+29
View File
@@ -4,6 +4,7 @@ description = "Solarized Dark by Ethan Schoonover"
[colors] [colors]
border = [ 88, 110, 117] border = [ 88, 110, 117]
border_shadow = [ 0, 0, 0]
bubble_ai = [ 35, 65, 45] bubble_ai = [ 35, 65, 45]
bubble_system = [ 25, 25, 25] bubble_system = [ 25, 25, 25]
bubble_user = [ 30, 45, 75] bubble_user = [ 30, 45, 75]
@@ -16,14 +17,30 @@ child_bg = [ 7, 54, 66]
diff_added = [ 51, 230, 51] diff_added = [ 51, 230, 51]
diff_header = [ 77, 178, 255] diff_header = [ 77, 178, 255]
diff_removed = [230, 51, 51] diff_removed = [230, 51, 51]
docking_empty_bg = [ 20, 20, 20]
docking_preview = [100, 100, 100]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [ 7, 54, 66] frame_bg = [ 7, 54, 66]
frame_bg_active = [101, 123, 131] frame_bg_active = [101, 123, 131]
frame_bg_hovered = [ 88, 110, 117] frame_bg_hovered = [ 88, 110, 117]
header = [ 7, 54, 66] header = [ 7, 54, 66]
header_active = [ 38, 139, 210] header_active = [ 38, 139, 210]
header_hovered = [ 38, 139, 210] header_hovered = [ 38, 139, 210]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [ 0, 43, 54] menu_bar_bg = [ 0, 43, 54]
modal_window_dim_bg = [ 10, 10, 10]
nav_cursor = [100, 100, 100]
nav_windowing_dim_bg = [ 20, 20, 20]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [ 0, 43, 54] popup_bg = [ 0, 43, 54]
resize_grip = [ 60, 60, 60]
resize_grip_active = [200, 200, 200]
resize_grip_hovered = [100, 100, 100]
scrollbar_bg = [ 7, 54, 66] scrollbar_bg = [ 7, 54, 66]
scrollbar_grab = [ 88, 110, 117] scrollbar_grab = [ 88, 110, 117]
scrollbar_grab_active = [253, 246, 227] scrollbar_grab_active = [253, 246, 227]
@@ -41,12 +58,24 @@ status_info = [ 0, 255, 255]
status_success = [ 80, 255, 80] status_success = [ 80, 255, 80]
status_warning = [255, 152, 48] status_warning = [255, 152, 48]
tab = [ 7, 54, 66] tab = [ 7, 54, 66]
tab_dimmed = [ 60, 60, 60]
tab_dimmed_selected = [100, 100, 100]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [ 38, 139, 210] tab_hovered = [ 38, 139, 210]
tab_selected = [ 88, 110, 117] tab_selected = [ 88, 110, 117]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 40, 40, 40]
table_border_strong = [ 60, 60, 60]
table_header_bg = [ 7, 54, 66] table_header_bg = [ 7, 54, 66]
table_row_bg = [ 0, 0, 0]
table_row_bg_alt = [ 10, 10, 10]
text = [147, 161, 161] text = [147, 161, 161]
text_disabled = [ 88, 110, 117] text_disabled = [ 88, 110, 117]
text_link = [ 60, 100, 150]
text_selected_bg = [ 38, 139, 210] text_selected_bg = [ 38, 139, 210]
title_bg = [ 7, 54, 66] title_bg = [ 7, 54, 66]
title_bg_active = [ 88, 110, 117] title_bg_active = [ 88, 110, 117]
title_bg_collapsed = [ 30, 30, 30]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [ 0, 43, 54] window_bg = [ 0, 43, 54]
+29
View File
@@ -4,6 +4,7 @@ description = "Solarized Light by Ethan Schoonover"
[colors] [colors]
border = [147, 161, 161] border = [147, 161, 161]
border_shadow = [255, 255, 255]
bubble_ai = [220, 255, 220] bubble_ai = [220, 255, 220]
bubble_system = [240, 240, 240] bubble_system = [240, 240, 240]
bubble_user = [220, 230, 255] bubble_user = [220, 230, 255]
@@ -16,14 +17,30 @@ child_bg = [253, 246, 227]
diff_added = [ 40, 180, 40] diff_added = [ 40, 180, 40]
diff_header = [ 40, 100, 200] diff_header = [ 40, 100, 200]
diff_removed = [200, 40, 40] diff_removed = [200, 40, 40]
docking_empty_bg = [230, 230, 230]
docking_preview = [100, 100, 100]
drag_drop_target = [200, 200, 0]
drag_drop_target_bg = [ 0, 0, 0]
frame_bg = [253, 246, 227] frame_bg = [253, 246, 227]
frame_bg_active = [238, 232, 213] frame_bg_active = [238, 232, 213]
frame_bg_hovered = [238, 232, 213] frame_bg_hovered = [238, 232, 213]
header = [253, 246, 227] header = [253, 246, 227]
header_active = [ 38, 139, 210] header_active = [ 38, 139, 210]
header_hovered = [ 38, 139, 210] header_hovered = [ 38, 139, 210]
input_text_cursor = [200, 200, 200]
menu_bar_bg = [238, 232, 213] menu_bar_bg = [238, 232, 213]
modal_window_dim_bg = [150, 150, 150]
nav_cursor = [100, 100, 100]
nav_windowing_dim_bg = [200, 200, 200]
nav_windowing_highlight = [200, 200, 200]
plot_histogram = [100, 100, 100]
plot_histogram_hovered = [200, 100, 100]
plot_lines = [100, 100, 100]
plot_lines_hovered = [200, 100, 100]
popup_bg = [253, 246, 227] popup_bg = [253, 246, 227]
resize_grip = [ 60, 60, 60]
resize_grip_active = [200, 200, 200]
resize_grip_hovered = [100, 100, 100]
scrollbar_bg = [238, 232, 213] scrollbar_bg = [238, 232, 213]
scrollbar_grab = [147, 161, 161] scrollbar_grab = [147, 161, 161]
scrollbar_grab_active = [ 7, 54, 66] scrollbar_grab_active = [ 7, 54, 66]
@@ -41,12 +58,24 @@ status_info = [ 40, 100, 200]
status_success = [ 40, 180, 40] status_success = [ 40, 180, 40]
status_warning = [200, 140, 0] status_warning = [200, 140, 0]
tab = [238, 232, 213] tab = [238, 232, 213]
tab_dimmed = [220, 220, 220]
tab_dimmed_selected = [200, 200, 200]
tab_dimmed_selected_overline = [100, 100, 100]
tab_hovered = [ 38, 139, 210] tab_hovered = [ 38, 139, 210]
tab_selected = [147, 161, 161] tab_selected = [147, 161, 161]
tab_selected_overline = [100, 100, 100]
table_border_light = [ 40, 40, 40]
table_border_strong = [ 60, 60, 60]
table_header_bg = [238, 232, 213] table_header_bg = [238, 232, 213]
table_row_bg = [250, 250, 250]
table_row_bg_alt = [235, 235, 235]
text = [ 7, 54, 66] text = [ 7, 54, 66]
text_disabled = [147, 161, 161] text_disabled = [147, 161, 161]
text_link = [ 60, 100, 150]
text_selected_bg = [ 38, 139, 210] text_selected_bg = [ 38, 139, 210]
title_bg = [238, 232, 213] title_bg = [238, 232, 213]
title_bg_active = [147, 161, 161] title_bg_active = [147, 161, 161]
title_bg_collapsed = [240, 240, 240]
tree_lines = [ 60, 60, 60]
unsaved_marker = [200, 200, 200]
window_bg = [238, 232, 213] window_bg = [238, 232, 213]