Skip to content
This repository was archived by the owner on Nov 6, 2024. It is now read-only.

Commit 9974189

Browse files
authored
add termthemes (#55)
1 parent 5bf0aaf commit 9974189

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

docs/config.mdx

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,71 @@ For reference this is the current default configuration (v0.8.8):
6262
"telemetry:enabled": true
6363
}
6464
```
65+
66+
### Terminal Theming
67+
68+
User-defined terminal themes are located in `~/.waveterm/config/termthemes.json`. This JSON file is structured as an object, with each sub-key defining a theme.
69+
Themes are applied by right-clicking on the terminal's header bar and selecting an entry from the "Themes" sub-menu. Alternatively they can be applied to
70+
the block's metadata key `term:theme`. This uses the JSON key value as the identifier. Note, for best consistency all colors should be of the format "#rrggbb" or "#rrggbbaa" (aa = alpha channel for transparency).
71+
72+
`wsh setmeta this term:theme="default-dark"`
73+
74+
Here is an example of defining a full terminal theme. All of the built-in themes are defined here: https://github.com/wavetermdev/waveterm/blob/main/pkg/wconfig/defaultconfig/termthemes.json (if you'd like to add a popular terminal theme, please submit a PR!)
75+
76+
```json
77+
{
78+
"default-dark": {
79+
"display:name": "Default Dark",
80+
"display:order": 1,
81+
"black": "#757575",
82+
"red": "#cc685c",
83+
"green": "#76c266",
84+
"yellow": "#cbca9b",
85+
"blue": "#85aacb",
86+
"magenta": "#cc72ca",
87+
"cyan": "#74a7cb",
88+
"white": "#c1c1c1",
89+
"brightBlack": "#727272",
90+
"brightRed": "#cc9d97",
91+
"brightGreen": "#a3dd97",
92+
"brightYellow": "#cbcaaa",
93+
"brightBlue": "#9ab6cb",
94+
"brightMagenta": "#cc8ecb",
95+
"brightCyan": "#b7b8cb",
96+
"brightWhite": "#f0f0f0",
97+
"gray": "#8b918a",
98+
"cmdtext": "#f0f0f0",
99+
"foreground": "#c1c1c1",
100+
"selectionBackground": "",
101+
"background": "#00000077",
102+
"cursorAccent": ""
103+
}
104+
}
105+
```
106+
107+
| Key Name | Type | ANSI FG# | ANSI BG# | Function |
108+
|----------|------|----------|----------|----------|
109+
| display:name | string ||| the name as it will appear in the UI context menu |
110+
| display:order | float ||| entries in the context menu are sorted by display:order |
111+
| black | CSS color | 30 | 40 | color for black |
112+
| red | CSS color | 31 | 41 | color for red |
113+
| green | CSS color | 32 | 42 | color for green |
114+
| yellow | CSS color | 33 | 43 | color for yellow |
115+
| blue | CSS color | 34 | 44 | color for blue |
116+
| magenta | CSS color | 35 | 45 | color for magenta |
117+
| cyan | CSS color | 36 | 46 | color for cyan |
118+
| white | CSS color | 37 | 47 | color for white |
119+
| brightBlack | CSS color | 90 | 100 | color for bright black |
120+
| brightRed | CSS color | 91 | 101 | color for bright red |
121+
| brightGreen | CSS color | 92 | 102 | color for bright green |
122+
| brightYellow | CSS color | 93 | 103 | color for bright yellow |
123+
| brightBlue | CSS color | 94 | 104 | color for bright blue |
124+
| brightMagenta | CSS color | 95 | 105 | color for bright magenta |
125+
| brightCyan | CSS color | 96 | 106 | color for bright cyan |
126+
| brightWhite | CSS color | 97 | 107 | color for bright white |
127+
| gray | CSS color ||| currently unused |
128+
| cmdtext | CSS color ||| currently unused |
129+
| foreground | CSS color ||| foreground color (default when no color code is applied) |
130+
| background | CSS color ||| background color (default when no color code is applied), must have alpha channel (#rrggbbaa) if you want the terminal to be transparent |
131+
| cursorAccent | CSS color ||| color for cursor |
132+
| selectionBackground | CSS color ||| background color for selected text |

0 commit comments

Comments
 (0)