st-xtheme-20220218-001337-st-0.8.5.diff (12001B)
1 diff --git a/Makefile b/Makefile 2 index 470ac86..b095566 100644 3 --- a/Makefile 4 +++ b/Makefile 5 @@ -15,8 +15,14 @@ options: 6 @echo "LDFLAGS = $(STLDFLAGS)" 7 @echo "CC = $(CC)" 8 9 -config.h: 10 - cp config.def.h config.h 11 +theme.h: 12 + ./xtheme 13 + 14 +theme_beg.h: 15 + ./themesetup 16 + 17 +config.h: theme.h 18 + cp -n config.def.h config.h 19 20 .c.o: 21 $(CC) $(STCFLAGS) -c $< 22 @@ -24,13 +30,14 @@ config.h: 23 st.o: config.h st.h win.h 24 x.o: arg.h config.h st.h win.h 25 26 -$(OBJ): config.h config.mk 27 +$(OBJ): config.h theme_beg.h config.mk 28 29 st: $(OBJ) 30 $(CC) -o $@ $(OBJ) $(STLDFLAGS) 31 + rm -f theme_{beg,end}.h 32 33 clean: 34 - rm -f st $(OBJ) st-$(VERSION).tar.gz 35 + rm -f st $(OBJ) theme_{beg,end}.h st-$(VERSION).tar.gz 36 37 dist: clean 38 mkdir -p st-$(VERSION) 39 diff --git a/config.def.h b/config.def.h 40 index 91ab8ca..084710e 100644 41 --- a/config.def.h 42 +++ b/config.def.h 43 @@ -1,11 +1,15 @@ 44 /* See LICENSE file for copyright and license details. */ 45 46 +/* theme management */ 47 +# include "theme_beg.h" /* this is a compile-time generated header file */ 48 +# include "theme.h" 49 + 50 /* 51 * appearance 52 * 53 * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html 54 */ 55 -static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; 56 +static char *font = ST_FONT; 57 static int borderpx = 2; 58 59 /* 60 @@ -93,37 +97,43 @@ char *termname = "st-256color"; 61 */ 62 unsigned int tabspaces = 8; 63 64 +/* bg opacity */ 65 +float alpha = ST_ALPHA; 66 + 67 /* Terminal colors (16 first used in escape sequence) */ 68 static const char *colorname[] = { 69 /* 8 normal colors */ 70 - "black", 71 - "red3", 72 - "green3", 73 - "yellow3", 74 - "blue2", 75 - "magenta3", 76 - "cyan3", 77 - "gray90", 78 + ST_COLOR0, 79 + ST_COLOR1, 80 + ST_COLOR2, 81 + ST_COLOR3, 82 + ST_COLOR4, 83 + ST_COLOR5, 84 + ST_COLOR6, 85 + ST_COLOR7, 86 87 /* 8 bright colors */ 88 - "gray50", 89 - "red", 90 - "green", 91 - "yellow", 92 - "#5c5cff", 93 - "magenta", 94 - "cyan", 95 - "white", 96 + ST_COLOR8, 97 + ST_COLOR9, 98 + ST_COLOR10, 99 + ST_COLOR11, 100 + ST_COLOR12, 101 + ST_COLOR13, 102 + ST_COLOR14, 103 + ST_COLOR15, 104 105 [255] = 0, 106 107 /* more colors can be added after 255 to use with DefaultXX */ 108 - "#cccccc", 109 - "#555555", 110 - "gray90", /* default foreground colour */ 111 - "black", /* default background colour */ 112 + ST_CURSORCOLOR, 113 + ST_REVCURCOLOR, 114 + ST_FOREGROUND, /* default foreground colour */ 115 + ST_BACKGROUND, /* default background colour */ 116 }; 117 118 +/* theme management */ 119 +# include "theme_end.h" /* this is a compile-time generated header file */ 120 + 121 122 /* 123 * Default colors (colorname index) 124 diff --git a/themes/Cyberpunk-Neon.h b/themes/Cyberpunk-Neon.h 125 new file mode 100644 126 index 0000000..d77a229 127 --- /dev/null 128 +++ b/themes/Cyberpunk-Neon.h 129 @@ -0,0 +1,18 @@ 130 +# define ST_FOREGROUND "#0abdc6" 131 +# define ST_BACKGROUND "#000b1e" 132 +# define ST_COLOR0 "#123e7c" 133 +# define ST_COLOR1 "#ff0000" 134 +# define ST_COLOR2 "#d300c4" 135 +# define ST_COLOR3 "#f57800" 136 +# define ST_COLOR4 "#123e7c" 137 +# define ST_COLOR5 "#711c91" 138 +# define ST_COLOR6 "#0abdc6" 139 +# define ST_COLOR7 "#d7d7d5" 140 +# define ST_COLOR8 "#1c61c2" 141 +# define ST_COLOR9 "#ff0000" 142 +# define ST_COLOR10 "#d300c4" 143 +# define ST_COLOR11 "#f57800" 144 +# define ST_COLOR12 "#00ff00" 145 +# define ST_COLOR13 "#711c91" 146 +# define ST_COLOR14 "#0abdc6" 147 +# define ST_COLOR15 "#d7d7d5" 148 diff --git a/themes/catppuccin.h b/themes/catppuccin.h 149 new file mode 100644 150 index 0000000..6642319 151 --- /dev/null 152 +++ b/themes/catppuccin.h 153 @@ -0,0 +1,18 @@ 154 +# define ST_FOREGROUND "#D9E0EE" 155 +# define ST_BACKGROUND "#1E1E2E" 156 +# define ST_COLOR0 "#6E6C7E" 157 +# define ST_COLOR1 "#F28FAD" 158 +# define ST_COLOR2 "#ABE9B3" 159 +# define ST_COLOR3 "#FAE3B0" 160 +# define ST_COLOR4 "#96CDFB" 161 +# define ST_COLOR5 "#DDB6F2" 162 +# define ST_COLOR6 "#F5C2E7" 163 +# define ST_COLOR7 "#C3BAC6" 164 +# define ST_COLOR8 "#988BA2" 165 +# define ST_COLOR9 "#F28FAD" 166 +# define ST_COLOR10 "#ABE9B3" 167 +# define ST_COLOR11 "#FAE3B0" 168 +# define ST_COLOR12 "#96CDFB" 169 +# define ST_COLOR13 "#DDB6F2" 170 +# define ST_COLOR14 "#F5C2E7" 171 +# define ST_COLOR15 "#D9E0EE" 172 diff --git a/themes/dracula.h b/themes/dracula.h 173 new file mode 100644 174 index 0000000..1961616 175 --- /dev/null 176 +++ b/themes/dracula.h 177 @@ -0,0 +1,18 @@ 178 +# define ST_FOREGROUND "#F8F8F2" 179 +# define ST_BACKGROUND "#282A36" 180 +# define ST_COLOR0 "#000000" 181 +# define ST_COLOR1 "#FF5555" 182 +# define ST_COLOR2 "#50FA7B" 183 +# define ST_COLOR3 "#F1FA8C" 184 +# define ST_COLOR4 "#BD93F9" 185 +# define ST_COLOR5 "#FF79C6" 186 +# define ST_COLOR6 "#8BE9FD" 187 +# define ST_COLOR7 "#BFBFBF" 188 +# define ST_COLOR8 "#4D4D4D" 189 +# define ST_COLOR9 "#FF6E67" 190 +# define ST_COLOR10 "#5AF78E" 191 +# define ST_COLOR11 "#F4F99D" 192 +# define ST_COLOR12 "#CAA9FA" 193 +# define ST_COLOR13 "#FF92D0" 194 +# define ST_COLOR14 "#9AEDFE" 195 +# define ST_COLOR15 "#E6E6E6" 196 diff --git a/themes/dwan.h b/themes/dwan.h 197 new file mode 100644 198 index 0000000..6446c11 199 --- /dev/null 200 +++ b/themes/dwan.h 201 @@ -0,0 +1,19 @@ 202 +# define ST_FOREGROUND "#9b9081" 203 +# define ST_BACKGROUND "#181b20" 204 +# define ST_CURSORCOLOR "#9b9081" 205 +# define ST_COLOR0 "#353535" 206 +# define ST_COLOR1 "#744b40" 207 +# define ST_COLOR2 "#6d6137" 208 +# define ST_COLOR3 "#765636" 209 +# define ST_COLOR4 "#61564b" 210 +# define ST_COLOR5 "#6b4a49" 211 +# define ST_COLOR6 "#435861" 212 +# define ST_COLOR7 "#b3b3b3" 213 +# define ST_COLOR8 "#5f5f5f" 214 +# define ST_COLOR9 "#785850" 215 +# define ST_COLOR10 "#6f6749" 216 +# define ST_COLOR11 "#776049" 217 +# define ST_COLOR12 "#696057" 218 +# define ST_COLOR13 "#6f5a59" 219 +# define ST_COLOR14 "#525f66" 220 +# define ST_COLOR15 "#cdcdcd" 221 diff --git a/themes/gruvbox-dark.h b/themes/gruvbox-dark.h 222 new file mode 100644 223 index 0000000..c7901e8 224 --- /dev/null 225 +++ b/themes/gruvbox-dark.h 226 @@ -0,0 +1,18 @@ 227 +# define ST_FOREGROUND "#ebdbb2" 228 +# define ST_BACKGROUND "#282828" 229 +# define ST_COLOR0 "#282828" 230 +# define ST_COLOR1 "#cc241d" 231 +# define ST_COLOR2 "#98971a" 232 +# define ST_COLOR3 "#d79921" 233 +# define ST_COLOR4 "#458588" 234 +# define ST_COLOR5 "#b16286" 235 +# define ST_COLOR6 "#689d6a" 236 +# define ST_COLOR7 "#a89984" 237 +# define ST_COLOR8 "#928374" 238 +# define ST_COLOR9 "#fb4934" 239 +# define ST_COLOR10 "#b8bb26" 240 +# define ST_COLOR11 "#fabd2f" 241 +# define ST_COLOR12 "#83a598" 242 +# define ST_COLOR13 "#d3869b" 243 +# define ST_COLOR14 "#8ec07c" 244 +# define ST_COLOR15 "#ebdbb2" 245 diff --git a/themes/leet.h b/themes/leet.h 246 new file mode 100644 247 index 0000000..e149a2d 248 --- /dev/null 249 +++ b/themes/leet.h 250 @@ -0,0 +1,21 @@ 251 +# define ST_ALPHA .75F 252 +# define ST_FOREGROUND "#FF0000" 253 +# define ST_BACKGROUND "#080000" 254 +# define ST_CURSORCOLOR "#D40000" 255 +# define ST_REVCURCOLOR "#FF0000" 256 +# define ST_COLOR0 "#010008" 257 +# define ST_COLOR1 "#A71B1A" 258 +# define ST_COLOR2 "#3B8526" 259 +# define ST_COLOR3 "#E49202" 260 +# define ST_COLOR4 "#1D576D" 261 +# define ST_COLOR5 "#97219C" 262 +# define ST_COLOR6 "#24866F" 263 +# define ST_COLOR7 "#B5AD64" 264 +# define ST_COLOR8 "#1C1C1C" 265 +# define ST_COLOR9 "#BF3130" 266 +# define ST_COLOR10 "#58A642" 267 +# define ST_COLOR11 "#FFB026" 268 +# define ST_COLOR12 "#4169E1" 269 +# define ST_COLOR13 "#A7248C" 270 +# define ST_COLOR14 "#37A48D" 271 +# define ST_COLOR15 "#CEC67D" 272 diff --git a/themes/redish.h b/themes/redish.h 273 new file mode 100644 274 index 0000000..51fedfc 275 --- /dev/null 276 +++ b/themes/redish.h 277 @@ -0,0 +1,20 @@ 278 +# define ST_FOREGROUND "#FF0000" 279 +# define ST_BACKGROUND "#1C0F0F" 280 +# define ST_CURSORCOLOR "#D40000" 281 +# define ST_REVCURCOLOR "#FF0000" 282 +# define ST_COLOR0 "#1C0F11" 283 +# define ST_COLOR1 "#752323" 284 +# define ST_COLOR2 "#D96767" 285 +# define ST_COLOR3 "#FF0000" 286 +# define ST_COLOR4 "#523F3F" 287 +# define ST_COLOR5 "#993131" 288 +# define ST_COLOR6 "#B45050" 289 +# define ST_COLOR7 "#735050" 290 +# define ST_COLOR8 "#806060" 291 +# define ST_COLOR9 "#C02F2F" 292 +# define ST_COLOR10 "#D76262" 293 +# define ST_COLOR11 "#FF0000" 294 +# define ST_COLOR12 "#7E4F4F" 295 +# define ST_COLOR13 "#FF1111" 296 +# define ST_COLOR14 "#FF8A8A" 297 +# define ST_COLOR15 "#8C6161" 298 diff --git a/themes/solarized-dark.h b/themes/solarized-dark.h 299 new file mode 100644 300 index 0000000..4dabf4b 301 --- /dev/null 302 +++ b/themes/solarized-dark.h 303 @@ -0,0 +1,19 @@ 304 +# define ST_FOREGROUND "#839496" 305 +# define ST_BACKGROUND "#002b36" 306 +# define ST_CURSORCOLOR "#93a1a1" 307 +# define ST_COLOR0 "#073642" 308 +# define ST_COLOR1 "#dc322f" 309 +# define ST_COLOR2 "#859900" 310 +# define ST_COLOR3 "#b58900" 311 +# define ST_COLOR4 "#268bd2" 312 +# define ST_COLOR5 "#d33682" 313 +# define ST_COLOR6 "#2aa198" 314 +# define ST_COLOR7 "#eee8d5" 315 +# define ST_COLOR8 "#002b36" 316 +# define ST_COLOR9 "#cb4b16" 317 +# define ST_COLOR10 "#586e75" 318 +# define ST_COLOR11 "#657b83" 319 +# define ST_COLOR12 "#839496" 320 +# define ST_COLOR13 "#6c71c4" 321 +# define ST_COLOR14 "#93a1a1" 322 +# define ST_COLOR15 "#fdf6e3" 323 diff --git a/themes/sweetlove.h b/themes/sweetlove.h 324 new file mode 100644 325 index 0000000..5c85bd0 326 --- /dev/null 327 +++ b/themes/sweetlove.h 328 @@ -0,0 +1,19 @@ 329 +# define ST_FOREGROUND "#c0b18b" 330 +# define ST_BACKGROUND "#1f1f1f" 331 +# define ST_CURSORCOLOR "#c0b18b" 332 +# define ST_COLOR0 "#4a3637" 333 +# define ST_COLOR1 "#d17b49" 334 +# define ST_COLOR2 "#7b8748" 335 +# define ST_COLOR3 "#af865a" 336 +# define ST_COLOR4 "#535c5c" 337 +# define ST_COLOR5 "#775759" 338 +# define ST_COLOR6 "#6d715e" 339 +# define ST_COLOR7 "#c0b18b" 340 +# define ST_COLOR8 "#402e2e" 341 +# define ST_COLOR9 "#ac5d2f" 342 +# define ST_COLOR10 "#647035" 343 +# define ST_COLOR11 "#8f6840" 344 +# define ST_COLOR12 "#444b4b" 345 +# define ST_COLOR13 "#614445" 346 +# define ST_COLOR14 "#585c49" 347 +# define ST_COLOR15 "#978965" 348 diff --git a/themesetup b/themesetup 349 new file mode 100755 350 index 0000000..e8710c1 351 --- /dev/null 352 +++ b/themesetup 353 @@ -0,0 +1,5 @@ 354 +#!/bin/sh 355 + 356 +echo \# if $(cat theme.h | cut -d' ' -f3 | sed "s/^/defined /;s/$/ ||/" | tr "\n" " ") 0 > theme_beg.h 357 +echo -e "# error (conflicting macro names)\n# endif" >> theme_beg.h 358 +cat theme.h | cut -d' ' -f3 | sed "s/^/# undef /;" > theme_end.h 359 diff --git a/xtable.md b/xtable.md 360 new file mode 100644 361 index 0000000..9f51f33 362 --- /dev/null 363 +++ b/xtable.md 364 @@ -0,0 +1,24 @@ 365 +| TYPE | RESOURCE | DEFAULT VALUE | [ALTERNATIVE RESOURCE] | 366 +|:---------:|:-----------------:|:-----------------------------------------------------------------:|:-------------------------:| 367 +| S | font | Liberation Mono:pixelsize=12:antialias=true:autohint=true | | 368 +| F | alpha | 1 | | 369 +| S | foreground | gray90 | | 370 +| S | background | black | | 371 +| S | cursorColor | #cccccc | | 372 +| S | revCurColor | #555555 | | 373 +| S | color0 | black | | 374 +| S | color1 | red3 | | 375 +| S | color2 | green3 | | 376 +| S | color3 | yellow3 | | 377 +| S | color4 | blue2 | | 378 +| S | color5 | magenta3 | | 379 +| S | color6 | cyan3 | | 380 +| S | color7 | gray90 | | 381 +| S | color8 | gray50 | | 382 +| S | color9 | red | | 383 +| S | color10 | green | | 384 +| S | color11 | yellow | | 385 +| S | color12 | #5c5cff | | 386 +| S | color13 | magenta | | 387 +| S | color14 | cyan | | 388 +| S | color15 | white | | 389 diff --git a/xtheme b/xtheme 390 new file mode 100755 391 index 0000000..ff1cc3e 392 --- /dev/null 393 +++ b/xtheme 394 @@ -0,0 +1,63 @@ 395 +#!/bin/sh 396 + 397 +prefix=st 398 +themeout=theme.h 399 +xtable=xtable.md 400 + 401 +rm -f $themeout 402 + 403 +set_resource () 404 +{ 405 + T=$1 406 + M=$2 407 + V=$3 408 + 409 + case $T in 410 + S) 411 + V=\"$V\" 412 + ;; 413 + SA) 414 + V="{\"$(echo $V | sed 's/, /", "/g')\"}" 415 + esac 416 + 417 + echo "# define $M $V" >> $themeout 418 +} 419 + 420 +cat "$xtable" | 421 + sed '1,2d;s/\(^|\t*\)\|\(|$\)//g;s/\t\+|\t\+/|/g' | 422 + while IFS='|' read T R D A 423 + do 424 + m=$(echo "$prefix"'_'"$R" | tr '[:lower:]' '[:upper:]') 425 + 426 + l='' 427 + 428 + for r in "$R" "$A" 429 + do 430 + [[ "$r" == '' ]] && continue 431 + 432 + e=0 433 + 434 + for p in "$prefix" '' 435 + do 436 + l="$( \ 437 + xrdb -query \ 438 + | grep -P "^$p\*?\.?$r:\s+\S+" | tail -n 1 \ 439 + | sed 's/\s\+/ /g' | cut -d' ' -f 2 \ 440 + )" 441 + 442 + if [[ "$l" != '' ]] 443 + then 444 + e=1 445 + set_resource $T $m "$l" 446 + break 447 + fi 448 + done 449 + 450 + [[ $e == 1 ]] && break 451 + done 452 + 453 + if [[ "$l" == '' ]] 454 + then 455 + set_resource $T $m "$D" 456 + fi 457 + done