feat(st): 添加dracula主题

Dracula is a color scheme made by Zeno Rocha based on Solarized. This
patch make the Dracula color scheme available for st.
This commit is contained in:
augety 2024-07-20 20:23:13 +08:00
parent d82014aa4b
commit 2c8e6d42fd
2 changed files with 108 additions and 25 deletions

View File

@ -99,26 +99,28 @@ float alpha = 0.8, alphaUnfocused = 0.6;
/* Terminal colors (16 first used in escape sequence) */ /* Terminal colors (16 first used in escape sequence) */
static const char *colorname[] = { static const char *colorname[] = {
/* 8 normal colors */ /* 8 normal colors */
"black", [0] = "#000000", /* black */
"red3", [1] = "#ff5555", /* red */
"green3", [2] = "#50fa7b", /* green */
"yellow3", [3] = "#f1fa8c", /* yellow */
"blue2", [4] = "#bd93f9", /* blue */
"magenta3", [5] = "#ff79c6", /* magenta */
"cyan3", [6] = "#8be9fd", /* cyan */
"gray90", [7] = "#bbbbbb", /* white */
/* 8 bright colors */ /* 8 bright colors */
"gray50", [8] = "#44475a", /* black */
"red", [9] = "#ff5555", /* red */
"green", [10] = "#50fa7b", /* green */
"yellow", [11] = "#f1fa8c", /* yellow */
"#5c5cff", [12] = "#bd93f9", /* blue */
"magenta", [13] = "#ff79c6", /* magenta */
"cyan", [14] = "#8be9fd", /* cyan */
"white", [15] = "#ffffff", /* white */
[255] = 0, /* special colors */
[256] = "#282a36", /* background */
[257] = "#f8f8f2", /* foreground */
/* more colors can be added after 255 to use with DefaultXX */ /* more colors can be added after 255 to use with DefaultXX */
"#cccccc", "#cccccc",
@ -132,11 +134,11 @@ static const char *colorname[] = {
* Default colors (colorname index) * Default colors (colorname index)
* foreground, background, cursor, reverse cursor * foreground, background, cursor, reverse cursor
*/ */
unsigned int defaultfg = 258; unsigned int defaultfg = 257;
unsigned int defaultbg = 0; unsigned int defaultbg = 0;
unsigned int defaultcs = 256; unsigned int defaultcs = 257;
static unsigned int defaultrcs = 257; unsigned int defaultrcs = 257;
unsigned int bg = 1, bgUnfocused = 16; unsigned int bg = 256, bgUnfocused = 16;
/* /*
* Default shape of cursor * Default shape of cursor

View File

@ -0,0 +1,81 @@
diff '--color=auto' -up ../st/config.def.h ./config.def.h
--- ../st/config.def.h 2022-03-09 08:28:40.186246176 -0300
+++ ./config.def.h 2022-03-09 08:26:03.194323581 -0300
@@ -95,27 +95,29 @@ unsigned int tabspaces = 8;
/* Terminal colors (16 first used in escape sequence) */
static const char *colorname[] = {
- /* 8 normal colors */
- "black",
- "red3",
- "green3",
- "yellow3",
- "blue2",
- "magenta3",
- "cyan3",
- "gray90",
-
- /* 8 bright colors */
- "gray50",
- "red",
- "green",
- "yellow",
- "#5c5cff",
- "magenta",
- "cyan",
- "white",
-
- [255] = 0,
+ /* 8 normal colors */
+ [0] = "#000000", /* black */
+ [1] = "#ff5555", /* red */
+ [2] = "#50fa7b", /* green */
+ [3] = "#f1fa8c", /* yellow */
+ [4] = "#bd93f9", /* blue */
+ [5] = "#ff79c6", /* magenta */
+ [6] = "#8be9fd", /* cyan */
+ [7] = "#bbbbbb", /* white */
+
+ /* 8 bright colors */
+ [8] = "#44475a", /* black */
+ [9] = "#ff5555", /* red */
+ [10] = "#50fa7b", /* green */
+ [11] = "#f1fa8c", /* yellow */
+ [12] = "#bd93f9", /* blue */
+ [13] = "#ff79c6", /* magenta */
+ [14] = "#8be9fd", /* cyan */
+ [15] = "#ffffff", /* white */
+
+ /* special colors */
+ [256] = "#282a36", /* background */
+ [257] = "#f8f8f2", /* foreground */
/* more colors can be added after 255 to use with DefaultXX */
"#cccccc",
@@ -127,14 +129,22 @@ static const char *colorname[] = {
/*
* Default colors (colorname index)
- * foreground, background, cursor, reverse cursor
+ * foreground, background, cursor
*/
-unsigned int defaultfg = 258;
-unsigned int defaultbg = 259;
-unsigned int defaultcs = 256;
+unsigned int defaultfg = 257;
+unsigned int defaultbg = 256;
+unsigned int defaultcs = 257;
static unsigned int defaultrcs = 257;
/*
+ * Colors used, when the specific fg == defaultfg. So in reverse mode this
+ * will reverse too. Another logic would only make the simple feature too
+ * complex.
+ */
+unsigned int defaultitalic = 7;
+unsigned int defaultunderline = 7;
+
+/*
* Default shape of cursor
* 2: Block ("█")
* 4: Underline ("_")