summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-08-16 12:25:10 +0200
committercashmere <cashmere@autistici.org>2026-08-16 12:25:10 +0200
commit31035ffa0110d5a59ddff25379124065dca1d84a (patch)
treeb8d56b54f6827da810ae5564600c7634dfc5be7e
parent058f4d1661f4584c4746bce2c92210484ce602a1 (diff)
downloademacs-31035ffa0110d5a59ddff25379124065dca1d84a.tar.gz
md: 2026-08-16T12:25:10+02:00
-rw-r--r--Emacs-logo.svg239
-rw-r--r--config.el60
-rw-r--r--config.org46
-rw-r--r--themes/tinty-theme.el422
4 files changed, 649 insertions, 118 deletions
diff --git a/Emacs-logo.svg b/Emacs-logo.svg
new file mode 100644
index 0000000..1903f17
--- /dev/null
+++ b/Emacs-logo.svg
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg6612"
+ sodipodi:version="0.32"
+ inkscape:version="0.45.1"
+ width="270"
+ height="217"
+ version="1.0"
+ sodipodi:docbase="/home/sphinx/images"
+ sodipodi:docname="Emacs-logo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <metadata
+ id="metadata6617">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Dmitry Dzhus</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:date>2007-07</dc:date>
+ <dc:title>Emacs logo</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>emacs</rdf:li>
+ <rdf:li>logo</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:description>Emacs logo by Luis Fernandes was created in 2001. This is an SVG version created by hand from scratch in Inkscape.</dc:description>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/SourceCode" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs6615" />
+ <sodipodi:namedview
+ inkscape:window-height="990"
+ inkscape:window-width="1276"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1.7926268"
+ inkscape:cx="227.95993"
+ inkscape:cy="149.03165"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:current-layer="svg6612" />
+ <g
+ id="g2240"
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ transform="translate(-4.7334344,4.3389815)">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 176.57988,37.972907 C 174.9871,39.007967 168.87448,51.953525 168.7783,53.533221 C 180.64186,73.113933 202.57955,40.078784 206.55381,24.980764 C 206.55381,24.980764 196.17124,43.179003 186.77317,43.526939 C 175.75676,43.93479 178.17554,36.935973 176.57988,37.972907 z "
+ id="path2242"
+ sodipodi:nodetypes="cccsz" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 22.47173,15.758997 L 15.81003,32.485756 C 15.81003,32.485756 19.89052,42.218104 26.49069,42.838195 C 41.61737,44.259359 58.45245,15.619537 63.19409,15.758997 C 67.93574,15.898457 77.55353,23.422298 82.6657,33.922656 C 89.39535,20.759071 97.58642,14.911225 111.16839,24.667015 C 119.07042,30.342966 135.58934,52.795226 145.47559,53.901349 C 156.18021,55.099037 165.37798,44.912817 169.81138,26.288239 C 163.67513,34.237468 161.1768,37.806706 155.0286,38.212082 C 148.68317,38.630462 149.241,39.885604 127.06684,16.874679 C 104.89268,-6.1362469 94.43317,4.8811053 87.87854,14.643316 C 86.41421,13.039524 78.99699,1.01863 70.05858,1.1156811 C 63.72511,1.1844483 53.17415,16.174161 46.86414,21.616488 C 40.30897,27.270272 36.37856,28.267647 33.99471,28.294944 C 30.30074,28.339067 25.84923,26.450798 22.47173,15.758997 z "
+ id="path2244"
+ sodipodi:nodetypes="ccsscsscsscsssc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 76.60517,33.616604 C 59.9071,53.934058 59.23819,54.418087 50.46092,68.860929 C 41.68365,83.303771 39.35397,92.905012 43.4733,96.486252 C 47.62389,100.09467 55.01913,100.29382 64.07871,93.597586 C 76.68602,83.936084 93.51416,70.148169 98.13382,58.409876 C 99.33455,55.358876 77.4725,76.054153 68.69926,81.186233 C 63.43563,84.265304 56.36004,85.075126 52.55923,81.397725 C 44.80291,73.893236 79.52343,36.77475 76.60517,33.616604 z "
+ id="path2246"
+ sodipodi:nodetypes="csscsssc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 101.40617,64.709511 C 101.3713,63.070854 109.84351,50.554306 111.30784,50.066195 C 132.55351,64.354287 121.48844,101.10862 114.51543,104.3162 C 114.51543,104.3162 115.7357,88.557199 112.56298,78.655527 C 109.39026,68.753854 101.4411,66.351131 101.40617,64.709511 z "
+ id="path2248"
+ sodipodi:nodetypes="cccsz" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 212.01995,32.790058 C 210.0143,24.25611 219.12924,1.1854142 230.75546,1.1854142 C 259.78347,1.1854142 245.6869,47.473559 240.02956,64.570053 C 226.22301,100.34158 217.47477,153.8249 216.87918,158.42673 C 216.15214,164.0442 207.47903,179.09487 211.85861,154.24293 C 216.23819,129.39099 224.1069,100.38994 233.56074,66.549824 C 238.51906,48.801431 244.54954,17.14762 227.7868,17.100791 C 219.23545,16.991458 219.72047,23.025811 212.01995,32.790058 z "
+ id="path2250"
+ sodipodi:nodetypes="cscssscc" />
+ </g>
+ <g
+ id="g2233"
+ style="stroke:none">
+ <path
+ sodipodi:nodetypes="cccsz"
+ id="path9706"
+ d="M 176.57988,37.972907 C 174.9871,39.007967 168.87448,51.953525 168.7783,53.533221 C 180.64186,73.113933 202.57955,40.078784 206.55381,24.980764 C 206.55381,24.980764 196.17124,43.179003 186.77317,43.526939 C 175.75676,43.93479 178.17554,36.935973 176.57988,37.972907 z "
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccsscsscsscsssc"
+ id="path7673"
+ d="M 22.47173,15.758997 L 15.81003,32.485756 C 15.81003,32.485756 19.89052,42.218104 26.49069,42.838195 C 41.61737,44.259359 58.45245,15.619537 63.19409,15.758997 C 67.93574,15.898457 77.55353,23.422298 82.6657,33.922656 C 89.39535,20.759071 97.58642,14.911225 111.16839,24.667015 C 119.07042,30.342966 135.58934,52.795226 145.47559,53.901349 C 156.18021,55.099037 165.37798,44.912817 169.81138,26.288239 C 163.67513,34.237468 161.1768,37.806706 155.0286,38.212082 C 148.68317,38.630462 149.241,39.885604 127.06684,16.874679 C 104.89268,-6.1362469 94.43317,4.8811053 87.87854,14.643316 C 86.41421,13.039524 78.99699,1.01863 70.05858,1.1156811 C 63.72511,1.1844483 53.17415,16.174161 46.86414,21.616488 C 40.30897,27.270272 36.37856,28.267647 33.99471,28.294944 C 30.30074,28.339067 25.84923,26.450798 22.47173,15.758997 z "
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="csscsssc"
+ id="path8693"
+ d="M 76.60517,33.616604 C 59.9071,53.934058 59.23819,54.418087 50.46092,68.860929 C 41.68365,83.303771 39.35397,92.905012 43.4733,96.486252 C 47.62389,100.09467 55.01913,100.29382 64.07871,93.597586 C 76.68602,83.936084 93.51416,70.148169 98.13382,58.409876 C 99.33455,55.358876 77.4725,76.054153 68.69926,81.186233 C 63.43563,84.265304 56.36004,85.075126 52.55923,81.397725 C 44.80291,73.893236 79.52343,36.77475 76.60517,33.616604 z "
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccsz"
+ id="path9704"
+ d="M 101.40617,64.709511 C 101.3713,63.070854 109.84351,50.554306 111.30784,50.066195 C 132.55351,64.354287 121.48844,101.10862 114.51543,104.3162 C 114.51543,104.3162 115.7357,88.557199 112.56298,78.655527 C 109.39026,68.753854 101.4411,66.351131 101.40617,64.709511 z "
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cscssscc"
+ id="path2171"
+ d="M 212.01995,32.790058 C 210.0143,24.25611 219.12924,1.1854142 230.75546,1.1854142 C 259.78347,1.1854142 245.6869,47.473559 240.02956,64.570053 C 226.22301,100.34158 217.47477,153.8249 216.87918,158.42673 C 216.15214,164.0442 207.47903,179.09487 211.85861,154.24293 C 216.23819,129.39099 224.1069,100.38994 233.56074,66.549824 C 238.51906,48.801431 244.54954,17.14762 227.7868,17.100791 C 219.23545,16.991458 219.72047,23.025811 212.01995,32.790058 z "
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ id="g2256"
+ transform="translate(0.8166413,4.3944529)">
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 79.886738,152.50463 C 67.822172,155.61715 50.502331,192.18769 49.743523,198.14195 C 52.532726,198.83925 111.02019,130.19512 80.295208,193.81167 C 102.57324,174.95912 124.9556,141.04167 107.8027,183.94795 C 103.74903,194.08781 123.59559,194.09426 142.96938,172.96563 C 137.88975,176.22186 112.22868,191.62171 126.35499,159.60889 C 133.77483,142.79418 109.21923,159.41447 102.3683,165.83729 C 103.80096,159.33343 108.94433,147.78354 100.61675,150.98227 C 92.289176,154.181 83.310373,160.6892 67.937825,175.11509 C 76.765795,160.89643 77.224181,159.40756 79.886738,152.50463 z "
+ id="path2258"
+ sodipodi:nodetypes="cccscscscc" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 248.85492,188.50638 C 263.21933,186.53398 284.36437,164.67209 255.21207,163.30784 C 223.17817,161.81588 262.88238,150.47751 262.88238,150.47751 C 245.58932,149.36183 214.14946,168.68613 239.80172,165.74839 C 265.63062,162.76646 265.93049,186.17596 239.24388,186.14445 C 235.50916,186.14004 236.66387,182.41388 236.66387,182.41388 L 225.77752,187.22526 C 236.0826,190.18366 240.70876,189.62494 248.85492,188.50638 z "
+ id="path2260"
+ sodipodi:nodetypes="cscssccs" />
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 35.422878,148.66454 C 20.150885,157.04591 -6.2772909,190.95274 6.2647537,199.01662 C 17.984924,206.55208 68.941642,170.29445 77.667057,153.75538 C 4.3035383,211.52619 14.065561,174.90254 27.008448,162.02628 C 35.805465,151.30801 64.004057,143.68513 71.481066,128.52052 C 32.789119,149.29474 30.405114,131.50519 62.642197,110.82103 C 68.569623,107.02504 107.74937,89.042889 77.768775,114.28261 C 95.502651,106.02716 110.52675,93.267855 98.941531,90.767173 C 83.884151,87.517022 60.202847,105.92694 48.092626,115.80927 C 40.969928,121.62162 11.868522,145.38354 35.422878,148.66454 z "
+ id="path2262"
+ sodipodi:nodetypes="cscccscssc" />
+ <g
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ id="g2264">
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path2266"
+ d="M 153.52386,181.54504 C 114.3973,212.57672 133.43947,164.59338 180.00502,149.95001 C 144.43247,174.12306 139.76476,184.61018 153.52386,181.54504 z "
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path2268"
+ d="M 196.30981,176.96638 C 156.1373,209.46239 150.29865,172.10195 184.30492,155.10468 C 167.14111,181.92747 183.59666,177.6607 196.30981,176.96638 z "
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <path
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 229.3687,178.97034 C 185.57023,211.04797 178.47643,161.27557 237.30661,150.27509 C 188.34589,179.18978 219.44475,183.56954 229.3687,178.97034 z "
+ id="path2270"
+ sodipodi:nodetypes="ccc" />
+ </g>
+ <g
+ id="g2201"
+ style="fill:#2076c1;fill-opacity:1;stroke:none">
+ <path
+ sodipodi:nodetypes="cccscscscc"
+ id="path2173"
+ d="M 79.886738,152.50463 C 67.822172,155.61715 50.502331,192.18769 49.743523,198.14195 C 52.532726,198.83925 111.02019,130.19512 80.295208,193.81167 C 102.57324,174.95912 124.9556,141.04167 107.8027,183.94795 C 103.74903,194.08781 123.59559,194.09426 142.96938,172.96563 C 137.88975,176.22186 112.22868,191.62171 126.35499,159.60889 C 133.77483,142.79418 109.21923,159.41447 102.3683,165.83729 C 103.80096,159.33343 108.94433,147.78354 100.61675,150.98227 C 92.289176,154.181 83.310373,160.6892 67.937825,175.11509 C 76.765795,160.89643 77.224181,159.40756 79.886738,152.50463 z "
+ style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
+ <path
+ sodipodi:nodetypes="cscssccs"
+ id="path2183"
+ d="M 248.85492,188.50638 C 263.21933,186.53398 284.36437,164.67209 255.21207,163.30784 C 223.17817,161.81588 262.88238,150.47751 262.88238,150.47751 C 245.58932,149.36183 214.14946,168.68613 239.80172,165.74839 C 265.63062,162.76646 265.93049,186.17596 239.24388,186.14445 C 235.50916,186.14004 236.66387,182.41388 236.66387,182.41388 L 225.77752,187.22526 C 236.0826,190.18366 240.70876,189.62494 248.85492,188.50638 z "
+ style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
+ <path
+ sodipodi:nodetypes="cscccscssc"
+ id="path6069"
+ d="M 35.422878,148.66454 C 20.150885,157.04591 -6.2772909,190.95274 6.2647537,199.01662 C 17.984924,206.55208 68.941642,170.29445 77.667057,153.75538 C 4.3035383,211.52619 14.065561,174.90254 27.008448,162.02628 C 35.805465,151.30801 64.004057,143.68513 71.481066,128.52052 C 32.789119,149.29474 30.405114,131.50519 62.642197,110.82103 C 68.569623,107.02504 107.74937,89.042889 77.768775,114.28261 C 95.502651,106.02716 110.52675,93.267855 98.941531,90.767173 C 83.884151,87.517022 60.202847,105.92694 48.092626,115.80927 C 40.969928,121.62162 11.868522,145.38354 35.422878,148.66454 z "
+ style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
+ <g
+ id="g2188"
+ style="fill:#2076c1;fill-opacity:1;stroke:none">
+ <path
+ style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="M 153.52386,181.54504 C 114.3973,212.57672 133.43947,164.59338 180.00502,149.95001 C 144.43247,174.12306 139.76476,184.61018 153.52386,181.54504 z "
+ id="path2175"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
+ d="M 196.30981,176.96638 C 156.1373,209.46239 150.29865,172.10195 184.30492,155.10468 C 167.14111,181.92747 183.59666,177.6607 196.30981,176.96638 z "
+ id="path2177"
+ sodipodi:nodetypes="ccc" />
+ </g>
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path2179"
+ d="M 229.3687,178.97034 C 185.57023,211.04797 178.47643,161.27557 237.30661,150.27509 C 188.34589,179.18978 219.44475,183.56954 229.3687,178.97034 z "
+ style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
+ </g>
+ <path
+ sodipodi:nodetypes="cscsss"
+ id="path2252"
+ d="M 124.1858,189.83823 C 119.19632,187.34349 148.26509,119.15484 152.29057,142.10943 C 154.09525,152.40027 170.73124,123.57014 170.73124,123.57014 C 170.73124,123.57014 183.79749,99.804357 184.43848,101.87524 C 187.48343,111.71277 149.00775,175.41789 146.27516,159.36674 C 143.51342,143.14437 124.77748,190.13407 124.1858,189.83823 z "
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 127.36915,186.62713 C 122.37967,184.13239 151.44844,115.94374 155.47392,138.89833 C 157.2786,149.18917 173.91459,120.35904 173.91459,120.35904 C 173.91459,120.35904 186.98084,96.593259 187.62183,98.664137 C 190.66678,108.50167 152.1911,172.20679 149.45851,156.15564 C 146.69677,139.93327 127.96083,186.92297 127.36915,186.62713 z "
+ id="path3158"
+ sodipodi:nodetypes="cscsss" />
+ <path
+ sodipodi:nodetypes="cscsc"
+ id="path2254"
+ d="M 56.312166,214.04162 C 56.312166,214.04162 56.065636,199.44685 80.768246,168.4823 C 100.68005,143.52298 123.7636,107.53934 123.7636,107.53934 C 123.7636,107.53934 119.97892,126.52044 103.15975,148.19092 C 83.527796,173.4855 56.312166,214.04162 56.312166,214.04162 z "
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 59.52326,215.22497 C 59.52326,215.22497 59.27673,200.6302 83.97934,169.66565 C 103.89115,144.70633 126.9747,108.72269 126.9747,108.72269 C 126.9747,108.72269 123.19002,127.70379 106.37085,149.37427 C 86.73889,174.66885 59.52326,215.22497 59.52326,215.22497 z "
+ id="path4129"
+ sodipodi:nodetypes="cscsc" />
+</svg>
diff --git a/config.el b/config.el
index 1e69479..a0b54e6 100644
--- a/config.el
+++ b/config.el
@@ -1111,6 +1111,23 @@ TITLE names the new denote-style file in ~/org."
+(use-package kitty-graphics
+ :ensure (:host github :repo "cashmeredev/kitty-graphics.el")
+ :demand t
+ :custom
+ (kitty-graphics-enable-video t)
+ (kitty-graphics-shr-scale 'fit)
+ (kitty-graphics-shr-fit-width 0.4)
+ (kitty-graphics-shr-fit-height 20)
+ (kitty-graphics-doc-view-resolution-scale 2.0)
+ :hook (dired-mode . kitty-graphics-dired-auto-preview-mode)
+ :config
+ (setq kitty-graphics-enable-browser t
+ kitty-graphics-casty-program "~/projects/casty/bin/casty.js"
+ kitty-graphics-casty-chrome "helium-browser")
+
+ (kitty-graphics-setup))
+
(with-eval-after-load 'org
(setq org-confirm-babel-evaluate nil)
(org-babel-do-load-languages
@@ -2888,11 +2905,6 @@ created later still get them."
-(use-package batppuccin
- :ensure t
- :config
- (load-theme 'batppuccin-mocha t))
-
;; (use-package solarized-theme
;; :ensure t
;; :config
@@ -4260,4 +4272,42 @@ opening another file in same project does not re-notify."
:ensure nil
:commands (zfs))
+(use-package minimal-dashboard
+ :ensure t
+ :init
+ (setq initial-buffer-choice #'minimal-dashboard) ;; set initial buffer as dashboard
+ :custom
+ (minimal-dashboard-buffer-name "Dashboard")
+ ;; (minimal-dashboard-buffer-name #'some-func-that-returns-a-string)
+
+ (minimal-dashboard-image-path "~/.emacs.d/Emacs-logo.svg") ;; path to image
+ ;; (minimal-dashboard-image-path #'some-func-that-returns-a-valid-image-path)
+
+ (minimal-dashboard-text "Welcome to Emacs") ;; plain text
+
+ ;; You can have function returning a string as well
+ (minimal-dashboard-text (lambda () (format "started in %s" (emacs-init-time))))
+
+ ;; Multi-line text (with center alignment) is also supported
+ ;; (minimal-dashboard-text "My multiline\nstring is here")
+
+ ;; Click support for image
+ ;; (minimal-dashboard-image-click-handler
+ ;; (lambda (event)
+ ;; (pcase (event-basic-type event)
+ ;; ('mouse-1 (message "Left click on image"))
+ ;; ('mouse-2 (message "Middle click on image"))
+ ;; ('mouse-3 (message "Right click on image")))))
+
+ ;; Click support for text
+ ;; (minimal-dashboard-text-click-handler
+ ;; (lambda (event)
+ ;; (pcase (event-basic-type event)
+ ;; ('mouse-1 (message "Left click on text"))
+ ;; ('mouse-2 (message "Middle click on text"))
+ ;; ('mouse-3 (message "Right click on text")))))
+ (minimal-dashboard-image-scale 1.25)
+ (minimal-dashboard-enable-resize-handling t) ;; to refresh when buffer is resized
+ (minimal-dashboard-modeline-shown t)) ;; visibility of the modeline
+
(provide 'init)
diff --git a/config.org b/config.org
index c8082d1..4241985 100644
--- a/config.org
+++ b/config.org
@@ -1267,7 +1267,7 @@ TITLE names the new denote-style file in ~/org."
#+begin_src emacs-lisp
#+end_src
-** COMMENT kitty-graphics
+** kitty-graphics
Display inline images in terminal Emacs via the Kitty graphics protocol.
Only activates when running in a Kitty terminal (not in GUI Emacs).
@@ -3494,7 +3494,7 @@ moved to local.el
#+end_src
-** batppuccin
+** COMMENT batppuccin
#+begin_src emacs-lisp
(use-package batppuccin
@@ -5080,6 +5080,48 @@ opening another file in same project does not re-notify."
:commands (zfs))
#+end_src
+* minimal-dashboard
+
+#+begin_src emacs-lisp
+(use-package minimal-dashboard
+ :ensure t
+ :init
+ (setq initial-buffer-choice #'minimal-dashboard) ;; set initial buffer as dashboard
+ :custom
+ (minimal-dashboard-buffer-name "Dashboard")
+ ;; (minimal-dashboard-buffer-name #'some-func-that-returns-a-string)
+
+ (minimal-dashboard-image-path "~/.emacs.d/Emacs-logo.svg") ;; path to image
+ ;; (minimal-dashboard-image-path #'some-func-that-returns-a-valid-image-path)
+
+ (minimal-dashboard-text "Welcome to Emacs") ;; plain text
+
+ ;; You can have function returning a string as well
+ (minimal-dashboard-text (lambda () (format "started in %s" (emacs-init-time))))
+
+ ;; Multi-line text (with center alignment) is also supported
+ ;; (minimal-dashboard-text "My multiline\nstring is here")
+
+ ;; Click support for image
+ ;; (minimal-dashboard-image-click-handler
+ ;; (lambda (event)
+ ;; (pcase (event-basic-type event)
+ ;; ('mouse-1 (message "Left click on image"))
+ ;; ('mouse-2 (message "Middle click on image"))
+ ;; ('mouse-3 (message "Right click on image")))))
+
+ ;; Click support for text
+ ;; (minimal-dashboard-text-click-handler
+ ;; (lambda (event)
+ ;; (pcase (event-basic-type event)
+ ;; ('mouse-1 (message "Left click on text"))
+ ;; ('mouse-2 (message "Middle click on text"))
+ ;; ('mouse-3 (message "Right click on text")))))
+ (minimal-dashboard-image-scale 1.25)
+ (minimal-dashboard-enable-resize-handling t) ;; to refresh when buffer is resized
+ (minimal-dashboard-modeline-shown t)) ;; visibility of the modeline
+#+end_src
+
* provide init
#+begin_src emacs-lisp
diff --git a/themes/tinty-theme.el b/themes/tinty-theme.el
index 4fc283d..b3c7cd9 100644
--- a/themes/tinty-theme.el
+++ b/themes/tinty-theme.el
@@ -16,70 +16,124 @@
;;; Code:
+(defgroup tinty nil
+ "Tinty theme."
+ :group 'faces
+ :prefix "tinty-"
+ :tag "Tinty")
+
+(defcustom tinty-scale-headings t
+ "Whether to scale document and outline headings."
+ :type 'boolean
+ :group 'tinty)
+
+(defcustom tinty-height-document-title 1.4
+ "Height multiplier for document titles."
+ :type 'number
+ :group 'tinty)
+
+(defcustom tinty-height-1 1.3
+ "Height multiplier for level-one headings."
+ :type 'number
+ :group 'tinty)
+
+(defcustom tinty-height-2 1.2
+ "Height multiplier for level-two headings."
+ :type 'number
+ :group 'tinty)
+
+(defcustom tinty-height-3 1.1
+ "Height multiplier for level-three headings."
+ :type 'number
+ :group 'tinty)
+
+(defcustom tinty-italic-comments t
+ "Whether to render comments in italic."
+ :type 'boolean
+ :group 'tinty)
+
+(defcustom tinty-flat-mode-line nil
+ "Whether to render the mode line without a surrounding box."
+ :type 'boolean
+ :group 'tinty)
+
+(defcustom tinty-use-variable-pitch nil
+ "Whether to render headings in a variable-pitch font."
+ :type 'boolean
+ :group 'tinty)
+
(deftheme tinty "Noctalia theme with proper color contrast.")
(let* (;; Tinted8 UI surface colors
- (ui-bg "#1e1e2e")
- (ui-fg "#cdd6f4")
- (ui-fg-dim "#a6adc8")
+ (ui-bg "#282a36")
+ (ui-fg "#f8f8f2")
+ (ui-fg-dim "#6272a4")
;; Use dim foreground for borders/muted chrome so they stay visible in
;; light variants (the raw border color is nearly white on latte).
- (ui-border "#a6adc8")
- (ui-line-highlight "#232336")
- (ui-bg-dark "#181825")
- (ui-bg-light "#45475a")
+ (ui-border "#6272a4")
+ (ui-line-highlight "#353747")
+ (ui-bg-dark "#191a21")
+ (ui-bg-light "#343746")
;; Tinted8 UI accent/status colors
- (ui-accent "#b4befe")
- (ui-link "#89b4fa")
- (ui-info "#fab387")
- (ui-error "#f38ba8")
- (ui-success "#a6e3a1")
- (ui-warning "#f9e2af")
+ (ui-accent "#bd93f9")
+ (ui-link "#8be9fd")
+ (ui-info "#8be9fd")
+ (ui-error "#ff5555")
+ (ui-success "#50fa7b")
+ (ui-warning "#ffb86c")
;; Tinted8 UI container colors (for BACKGROUNDS only)
- (ui-selection-bg "#45475a")
- (ui-selection-fg "#cdd6f4")
- (ui-button-bg "#45475a")
- (ui-button-fg "#cdd6f4")
- (ui-tooltip-bg "#313244")
- (ui-tooltip-fg "#cdd6f4")
- (ui-active-text-bg "#9399b2")
- (ui-active-text-fg "#cdd6f4")
- (ui-search-bg "#94e2d5")
- (ui-search-fg "#1e1e2e")
+ (ui-selection-bg "#44475a")
+ (ui-selection-fg "#f8f8f2")
+ (ui-button-bg "#343746")
+ (ui-button-fg "#f8f8f2")
+ (ui-tooltip-bg "#343746")
+ (ui-tooltip-fg "#f8f8f2")
+ (ui-active-text-bg "#44475a")
+ (ui-active-text-fg "#ffffff")
+ (ui-search-bg "#ffb86c")
+ (ui-search-fg "#282a36")
;; Tinted8 syntax colors
;; Comments use dim foreground instead of the raw syntax-comment gray,
;; which becomes almost invisible in light variants.
- (syntax-comment "#a6adc8")
- (syntax-constant "#fab387")
- (syntax-function "#89b4fa")
- (syntax-keyword "#cba6f7")
- (syntax-string "#a6e3a1")
- (syntax-type "#f9e2af")
+ (syntax-comment "#6272a4")
+ (syntax-constant "#ffb86c")
+ (syntax-function "#50fa7b")
+ (syntax-keyword "#ff79c6")
+ (syntax-string "#f1fa8c")
+ (syntax-type "#8be9fd")
;; Give variables/imported names a distinct hue instead of blending into
;; the default foreground.
- (syntax-variable "#aa69f7")
- (syntax-warning "#f6c5d3")
- (syntax-preprocessor "#488dfd")
- (syntax-annotation "#f9e2af")
- (syntax-attribute "#c7dafa")
- (syntax-number "#fab387")
- (syntax-operator "#89dceb")
+ (syntax-variable "#f8f8f2")
+ (syntax-warning "#ff6e6e")
+ (syntax-preprocessor "#9954fb")
+ (syntax-annotation "#f1fa8c")
+ (syntax-attribute "#8be9fd")
+ (syntax-number "#ffb86c")
+ (syntax-operator "#8be9fd")
;; Raw palette colors for rainbow headings, delimiters, terminal faces,
;; and anywhere else we need a predictable hue cycle.
- (pal-red "#f38ba8")
- (pal-orange "#fab387")
- (pal-yellow "#f9e2af")
- (pal-green "#a6e3a1")
- (pal-cyan "#94e2d5")
- (pal-blue "#89b4fa")
- (pal-magenta "#cba6f7")
- (pal-gray "#9399b2")
- (pal-white "#cdd6f4")
- (pal-black "#1e1e2e"))
+ (pal-red "#ff5555")
+ (pal-orange "#ffb86c")
+ (pal-yellow "#f1fa8c")
+ (pal-green "#50fa7b")
+ (pal-cyan "#8be9fd")
+ (pal-blue "#bd93f9")
+ (pal-magenta "#ff79c6")
+ (pal-gray "#6272a4")
+ (pal-white "#f8f8f2")
+ (pal-black "#21222c")
+ (h1 (if tinty-scale-headings tinty-height-1 1.0))
+ (h2 (if tinty-scale-headings tinty-height-2 1.0))
+ (h3 (if tinty-scale-headings tinty-height-3 1.0))
+ (h-doc (if tinty-scale-headings tinty-height-document-title 1.0))
+ (comment-slant (if tinty-italic-comments 'italic 'normal))
+ (mode-line-box (unless tinty-flat-mode-line
+ (list :line-width -1 :color ui-border)))
+ (vpitch (if tinty-use-variable-pitch 'variable-pitch 'default)))
(custom-theme-set-faces
'tinty
@@ -110,10 +164,10 @@
;; === Font-lock (driven by Tinted8 syntax properties) ===
`(font-lock-builtin-face ((t (:foreground ,syntax-constant))))
- `(font-lock-comment-face ((t (:foreground ,syntax-comment :slant italic))))
- `(font-lock-comment-delimiter-face ((t (:foreground ,syntax-comment))))
+ `(font-lock-comment-face ((t (:foreground ,syntax-comment :slant ,comment-slant))))
+ `(font-lock-comment-delimiter-face ((t (:foreground ,syntax-comment :slant ,comment-slant))))
`(font-lock-constant-face ((t (:foreground ,syntax-constant :weight bold))))
- `(font-lock-doc-face ((t (:foreground ,syntax-comment :slant italic))))
+ `(font-lock-doc-face ((t (:foreground ,syntax-comment :slant ,comment-slant))))
`(font-lock-doc-markup-face ((t (:foreground ,syntax-annotation))))
`(font-lock-function-name-face ((t (:foreground ,syntax-function :weight bold))))
`(font-lock-function-call-face ((t (:foreground ,syntax-function))))
@@ -143,8 +197,8 @@
`(show-paren-mismatch ((t (:background ,ui-active-text-bg :foreground ,ui-error :weight bold :underline t))))
;; === Mode line ===
- `(mode-line ((t (:background ,ui-line-highlight :foreground ,ui-fg :box (:line-width -1 :color ,ui-border)))))
- `(mode-line-inactive ((t (:background ,ui-bg-dark :foreground ,ui-fg-dim :box (:line-width -1 :color ,ui-border)))))
+ `(mode-line ((t (:background ,ui-line-highlight :foreground ,ui-fg :box ,mode-line-box))))
+ `(mode-line-inactive ((t (:background ,ui-bg-dark :foreground ,ui-fg-dim :box ,mode-line-box))))
`(mode-line-buffer-id ((t (:foreground ,ui-accent :weight bold))))
`(mode-line-emphasis ((t (:foreground ,ui-fg :weight bold))))
`(mode-line-highlight ((t (:foreground ,ui-accent :box nil))))
@@ -158,15 +212,15 @@
`(org-meta-line ((t (:foreground ,ui-border :slant italic))))
;; === Org headings - rainbow cycle across the available palette ===
- `(org-level-1 ((t (:foreground ,pal-red :weight bold :height 1.2))))
- `(org-level-2 ((t (:foreground ,pal-orange :weight bold :height 1.1))))
- `(org-level-3 ((t (:foreground ,pal-yellow :weight bold))))
- `(org-level-4 ((t (:foreground ,pal-green :weight bold))))
- `(org-level-5 ((t (:foreground ,pal-cyan :weight bold))))
- `(org-level-6 ((t (:foreground ,pal-blue :weight bold))))
- `(org-level-7 ((t (:foreground ,pal-magenta :weight bold))))
- `(org-level-8 ((t (:foreground ,pal-gray :weight bold))))
- `(org-document-title ((t (:foreground ,pal-red :weight bold :height 1.3))))
+ `(org-level-1 ((t (:inherit ,vpitch :foreground ,pal-red :weight bold :height ,h1))))
+ `(org-level-2 ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(org-level-3 ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(org-level-4 ((t (:inherit ,vpitch :foreground ,pal-green :weight bold))))
+ `(org-level-5 ((t (:inherit ,vpitch :foreground ,pal-cyan :weight bold))))
+ `(org-level-6 ((t (:inherit ,vpitch :foreground ,pal-blue :weight bold))))
+ `(org-level-7 ((t (:inherit ,vpitch :foreground ,pal-magenta :weight bold))))
+ `(org-level-8 ((t (:inherit ,vpitch :foreground ,pal-gray :weight bold))))
+ `(org-document-title ((t (:inherit ,vpitch :foreground ,pal-red :weight bold :height ,h-doc))))
`(org-document-info ((t (:foreground ,ui-fg-dim))))
`(org-todo ((t (:foreground ,pal-orange :weight bold))))
`(org-done ((t (:foreground ,pal-green :weight bold))))
@@ -290,13 +344,13 @@
;; === Terminal colors - mapped to the palette so they stay correct in both variants ===
`(term-color-black ((t (:foreground ,ui-bg-dark :background ,ui-bg-dark))))
- `(term-color-red ((t (:foreground "#f38ba8" :background "#f38ba8"))))
- `(term-color-green ((t (:foreground "#a6e3a1" :background "#a6e3a1"))))
- `(term-color-yellow ((t (:foreground "#f9e2af" :background "#f9e2af"))))
- `(term-color-blue ((t (:foreground "#89b4fa" :background "#89b4fa"))))
- `(term-color-magenta ((t (:foreground "#cba6f7" :background "#cba6f7"))))
- `(term-color-cyan ((t (:foreground "#94e2d5" :background "#94e2d5"))))
- `(term-color-white ((t (:foreground "#cdd6f4" :background "#cdd6f4"))))
+ `(term-color-red ((t (:foreground "#ff5555" :background "#ff5555"))))
+ `(term-color-green ((t (:foreground "#50fa7b" :background "#50fa7b"))))
+ `(term-color-yellow ((t (:foreground "#f1fa8c" :background "#f1fa8c"))))
+ `(term-color-blue ((t (:foreground "#bd93f9" :background "#bd93f9"))))
+ `(term-color-magenta ((t (:foreground "#ff79c6" :background "#ff79c6"))))
+ `(term-color-cyan ((t (:foreground "#8be9fd" :background "#8be9fd"))))
+ `(term-color-white ((t (:foreground "#f8f8f2" :background "#f8f8f2"))))
;; === EShell ===
`(eshell-prompt ((t (:foreground ,ui-accent :weight bold))))
@@ -314,12 +368,12 @@
;; === Markdown - rainbow heading cycle ===
`(markdown-header-face ((t (:foreground ,pal-red :weight bold))))
- `(markdown-header-face-1 ((t (:foreground ,pal-red :weight bold :height 1.2))))
- `(markdown-header-face-2 ((t (:foreground ,pal-orange :weight bold :height 1.1))))
- `(markdown-header-face-3 ((t (:foreground ,pal-yellow :weight bold))))
- `(markdown-header-face-4 ((t (:foreground ,pal-green :weight bold))))
- `(markdown-header-face-5 ((t (:foreground ,pal-cyan :weight bold))))
- `(markdown-header-face-6 ((t (:foreground ,pal-blue :weight bold))))
+ `(markdown-header-face-1 ((t (:inherit ,vpitch :foreground ,pal-red :weight bold :height ,h1))))
+ `(markdown-header-face-2 ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(markdown-header-face-3 ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(markdown-header-face-4 ((t (:inherit ,vpitch :foreground ,pal-green :weight bold))))
+ `(markdown-header-face-5 ((t (:inherit ,vpitch :foreground ,pal-cyan :weight bold))))
+ `(markdown-header-face-6 ((t (:inherit ,vpitch :foreground ,pal-blue :weight bold))))
`(markdown-inline-code-face ((t (:foreground ,pal-cyan :background ,ui-bg-dark :inherit fixed-pitch))))
`(markdown-code-face ((t (:background ,ui-bg-dark :extend t :inherit fixed-pitch))))
`(markdown-pre-face ((t (:background ,ui-bg-dark :inherit fixed-pitch))))
@@ -351,10 +405,10 @@
`(lsp-face-highlight-write ((t (:background ,ui-tooltip-bg :foreground ,ui-tooltip-fg :weight bold))))
;; === Info titles - rainbow heading cycle ===
- `(info-title-1 ((t (:foreground ,pal-red :weight bold :height 1.3))))
- `(info-title-2 ((t (:foreground ,pal-orange :weight bold :height 1.2))))
- `(info-title-3 ((t (:foreground ,pal-yellow :weight bold :height 1.1))))
- `(info-title-4 ((t (:foreground ,pal-green :weight bold))))
+ `(info-title-1 ((t (:inherit ,vpitch :foreground ,pal-red :weight bold :height ,h1))))
+ `(info-title-2 ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(info-title-3 ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(info-title-4 ((t (:inherit ,vpitch :foreground ,pal-green :weight bold))))
`(Info-quoted ((t (:foreground ,pal-cyan))))
`(info-menu-header ((t (:foreground ,pal-red :weight bold))))
`(info-menu-star ((t (:foreground ,pal-red))))
@@ -411,22 +465,22 @@
`(linum-highlight-face ((t (:foreground ,ui-fg :weight normal))))
;; === Outline (non-org) - rainbow cycle ===
- `(outline-1 ((t (:foreground ,pal-red :weight ultra-bold))))
- `(outline-2 ((t (:foreground ,pal-orange :weight bold))))
- `(outline-3 ((t (:foreground ,pal-yellow :weight bold))))
- `(outline-4 ((t (:foreground ,pal-green))))
- `(outline-5 ((t (:foreground ,pal-cyan))))
- `(outline-6 ((t (:foreground ,pal-blue))))
- `(outline-7 ((t (:foreground ,pal-magenta))))
- `(outline-8 ((t (:foreground ,pal-gray))))
- `(outline-minor-1 ((t (:foreground ,pal-red :weight ultra-bold))))
- `(outline-minor-2 ((t (:foreground ,pal-orange :weight bold))))
- `(outline-minor-3 ((t (:foreground ,pal-yellow :weight bold))))
- `(outline-minor-4 ((t (:foreground ,pal-green))))
- `(outline-minor-5 ((t (:foreground ,pal-cyan))))
- `(outline-minor-6 ((t (:foreground ,pal-blue))))
- `(outline-minor-7 ((t (:foreground ,pal-magenta))))
- `(outline-minor-8 ((t (:foreground ,pal-gray))))
+ `(outline-1 ((t (:inherit ,vpitch :foreground ,pal-red :weight ultra-bold :height ,h1))))
+ `(outline-2 ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(outline-3 ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(outline-4 ((t (:inherit ,vpitch :foreground ,pal-green))))
+ `(outline-5 ((t (:inherit ,vpitch :foreground ,pal-cyan))))
+ `(outline-6 ((t (:inherit ,vpitch :foreground ,pal-blue))))
+ `(outline-7 ((t (:inherit ,vpitch :foreground ,pal-magenta))))
+ `(outline-8 ((t (:inherit ,vpitch :foreground ,pal-gray))))
+ `(outline-minor-1 ((t (:inherit ,vpitch :foreground ,pal-red :weight ultra-bold :height ,h1))))
+ `(outline-minor-2 ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(outline-minor-3 ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(outline-minor-4 ((t (:inherit ,vpitch :foreground ,pal-green))))
+ `(outline-minor-5 ((t (:inherit ,vpitch :foreground ,pal-cyan))))
+ `(outline-minor-6 ((t (:inherit ,vpitch :foreground ,pal-blue))))
+ `(outline-minor-7 ((t (:inherit ,vpitch :foreground ,pal-magenta))))
+ `(outline-minor-8 ((t (:inherit ,vpitch :foreground ,pal-gray))))
;; === Org (missing faces) ===
`(org-archived ((t (:foreground ,ui-border))))
@@ -509,14 +563,14 @@
`(ansi-color-magenta ((t (:foreground ,pal-magenta :background ,pal-magenta))))
`(ansi-color-cyan ((t (:foreground ,pal-cyan :background ,pal-cyan))))
`(ansi-color-white ((t (:foreground ,pal-white :background ,pal-white))))
- `(ansi-color-bright-black ((t (:foreground "#45475a" :background "#45475a"))))
- `(ansi-color-bright-red ((t (:foreground "#f6c5d3" :background "#f6c5d3"))))
- `(ansi-color-bright-green ((t (:foreground "#d4efd2" :background "#d4efd2"))))
- `(ansi-color-bright-yellow ((t (:foreground "#fcf6e9" :background "#fcf6e9"))))
- `(ansi-color-bright-blue ((t (:foreground "#c7dafa" :background "#c7dafa"))))
- `(ansi-color-bright-magenta ((t (:foreground "#ece0fb" :background "#ece0fb"))))
- `(ansi-color-bright-cyan ((t (:foreground "#c6ede6" :background "#c6ede6"))))
- `(ansi-color-bright-white ((t (:foreground "#bac2de" :background "#bac2de"))))
+ `(ansi-color-bright-black ((t (:foreground "#6272a4" :background "#6272a4"))))
+ `(ansi-color-bright-red ((t (:foreground "#ff6e6e" :background "#ff6e6e"))))
+ `(ansi-color-bright-green ((t (:foreground "#69ff94" :background "#69ff94"))))
+ `(ansi-color-bright-yellow ((t (:foreground "#ffffa5" :background "#ffffa5"))))
+ `(ansi-color-bright-blue ((t (:foreground "#d6acff" :background "#d6acff"))))
+ `(ansi-color-bright-magenta ((t (:foreground "#ff92df" :background "#ff92df"))))
+ `(ansi-color-bright-cyan ((t (:foreground "#a4ffff" :background "#a4ffff"))))
+ `(ansi-color-bright-white ((t (:foreground "#ffffff" :background "#ffffff"))))
;; === Anzu ===
`(anzu-replace-highlight ((t (:background ,ui-line-highlight :foreground ,ui-error :weight bold :strike-through t))))
@@ -586,6 +640,152 @@
`(custom-visibility ((t (:foreground ,ui-link :height 0.8 :underline t))))
;; === Built-in packages (batppuccin-inspired additions) ===
+ `(anzu-match-1 ((t (:foreground ,ui-bg :background ,pal-blue))))
+ `(anzu-match-2 ((t (:foreground ,ui-bg :background ,pal-cyan))))
+ `(anzu-match-3 ((t (:foreground ,ui-bg :background ,pal-orange))))
+ `(anzu-mode-line ((t (:foreground ,pal-cyan :weight bold))))
+ `(anzu-mode-line-no-match ((t (:foreground ,ui-error :weight bold))))
+ `(asciidoc-admonition-caution-face ((t (:background ,ui-bg-dark :extend t))))
+ `(asciidoc-admonition-caution-label-face ((t (:foreground ,pal-yellow :weight bold))))
+ `(asciidoc-admonition-important-face ((t (:background ,ui-bg-dark :extend t))))
+ `(asciidoc-admonition-important-label-face ((t (:foreground ,syntax-keyword :weight bold))))
+ `(asciidoc-admonition-note-face ((t (:background ,ui-button-bg :extend t))))
+ `(asciidoc-admonition-note-label-face ((t (:foreground ,pal-blue :weight bold))))
+ `(asciidoc-admonition-tip-face ((t (:background ,ui-tooltip-bg :extend t))))
+ `(asciidoc-admonition-tip-label-face ((t (:foreground ,ui-success :weight bold))))
+ `(asciidoc-admonition-warning-face ((t (:background ,ui-active-text-bg :extend t))))
+ `(asciidoc-admonition-warning-label-face ((t (:foreground ,ui-error :weight bold))))
+ `(asciidoc-anchor-face ((t (:foreground ,pal-magenta))))
+ `(asciidoc-code-face ((t (:foreground ,pal-cyan :background ,ui-bg-dark :extend t))))
+ `(asciidoc-cross-reference-face ((t (:foreground ,pal-magenta :underline t))))
+ `(asciidoc-document-title-face ((t (:inherit ,vpitch :foreground ,ui-fg :weight bold :height ,h-doc))))
+ `(asciidoc-footnote-marker-face ((t (:foreground ,pal-cyan))))
+ `(asciidoc-footnote-text-face ((t (:foreground ,ui-fg-dim))))
+ `(asciidoc-highlight-face ((t (:foreground ,ui-bg :background ,pal-yellow))))
+ `(asciidoc-link-face ((t (:foreground ,pal-blue :underline t))))
+ `(asciidoc-link-mouse-face ((t (:foreground ,pal-blue :background ,ui-bg-light :underline t))))
+ `(asciidoc-markup-face ((t (:foreground ,ui-fg-dim))))
+ `(asciidoc-metadata-key-face ((t (:foreground ,ui-fg-dim))))
+ `(asciidoc-metadata-value-face ((t (:foreground ,ui-fg-dim))))
+ `(asciidoc-overline-face ((t (:overline t))))
+ `(asciidoc-strike-through-face ((t (:foreground ,ui-fg-dim :strike-through t))))
+ `(asciidoc-subscript-face ((t (:foreground ,ui-fg :height 0.8))))
+ `(asciidoc-superscript-face ((t (:foreground ,ui-fg :height 0.8))))
+ `(asciidoc-title-1-face ((t (:inherit ,vpitch :foreground ,pal-red :weight bold :height ,h1))))
+ `(asciidoc-title-2-face ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(asciidoc-title-3-face ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(asciidoc-title-4-face ((t (:inherit ,vpitch :foreground ,pal-green :weight bold))))
+ `(asciidoc-title-5-face ((t (:inherit ,vpitch :foreground ,pal-cyan :weight bold))))
+ `(asciidoc-underline-face ((t (:underline t))))
+ `(asciidoc-url-face ((t (:foreground ,pal-blue :underline t))))
+ `(breadcrumb-face ((t (:foreground ,ui-fg-dim))))
+ `(breadcrumb-imenu-base-face ((t (:foreground ,ui-fg-dim :weight bold))))
+ `(breadcrumb-imenu-crumbs-face ((t (:foreground ,ui-fg-dim))))
+ `(breadcrumb-imenu-leaf-face ((t (:foreground ,pal-blue :weight bold))))
+ `(breadcrumb-project-base-face ((t (:foreground ,ui-fg-dim :weight bold))))
+ `(breadcrumb-project-crumbs-face ((t (:foreground ,ui-fg-dim))))
+ `(breadcrumb-project-leaf-face ((t (:foreground ,ui-fg :weight bold))))
+ `(cider-debug-prompt-face ((t (:foreground ,syntax-keyword :weight bold))))
+ `(cider-fringe-bad-face ((t (:foreground ,ui-error))))
+ `(cider-fringe-stale-face ((t (:foreground ,pal-yellow))))
+ `(cider-reader-conditional-face ((t (:foreground ,ui-fg-dim))))
+ `(cider-repl-result-face ((t (:foreground ,pal-cyan))))
+ `(clojure-character-face ((t (:foreground ,ui-success))))
+ `(clojure-discard-face ((t (:foreground ,ui-fg-dim :slant italic))))
+ `(clojure-keyword-face ((t (:foreground ,pal-cyan))))
+ `(completion-preview ((t (:foreground ,ui-fg-dim))))
+ `(completion-preview-common ((t (:foreground ,ui-fg-dim))))
+ `(completion-preview-exact ((t (:foreground ,ui-fg-dim :underline t))))
+ `(copilot-overlay-face ((t (:foreground ,ui-fg-dim :slant italic))))
+ `(corfu-popupinfo ((t (:foreground ,ui-fg :background ,ui-bg-dark))))
+ `(dictionary-button-face ((t (:foreground ,pal-blue :underline t :weight bold))))
+ `(dictionary-reference-face ((t (:foreground ,ui-link :underline t))))
+ `(dictionary-word-definition-face ((t (:foreground ,ui-fg))))
+ `(dictionary-word-entry-face ((t (:foreground ,pal-blue :weight bold))))
+ `(easy-kill-origin ((t (:foreground ,ui-bg :background ,ui-error))))
+ `(easy-kill-selection ((t (:background ,ui-selection-bg :extend t))))
+ `(erlang-edoc-heading ((t (:foreground ,syntax-keyword :weight bold))))
+ `(erlang-edoc-macro ((t (:foreground ,pal-magenta))))
+ `(erlang-edoc-tag ((t (:foreground ,ui-fg-dim))))
+ `(erlang-edoc-todo ((t (:foreground ,ui-error :weight bold))))
+ `(erlang-edoc-verbatim ((t (:foreground ,pal-cyan))))
+ `(erlang-font-lock-exported-function-name-face ((t (:foreground ,pal-blue :weight bold))))
+ `(font-latex-bold-face ((t (:foreground ,ui-fg :weight bold))))
+ `(font-latex-italic-face ((t (:foreground ,ui-fg :slant italic))))
+ `(font-latex-math-face ((t (:foreground ,pal-cyan))))
+ `(font-latex-script-char-face ((t (:foreground ,pal-orange))))
+ `(font-latex-sectioning-0-face ((t (:inherit ,vpitch :foreground ,pal-red :height ,h1 :weight bold))))
+ `(font-latex-sectioning-1-face ((t (:inherit ,vpitch :foreground ,pal-orange :height ,h2 :weight bold))))
+ `(font-latex-sectioning-2-face ((t (:inherit ,vpitch :foreground ,pal-yellow :height ,h3 :weight bold))))
+ `(font-latex-sectioning-3-face ((t (:inherit ,vpitch :foreground ,pal-green :weight bold))))
+ `(font-latex-sectioning-4-face ((t (:inherit ,vpitch :foreground ,pal-cyan :weight bold))))
+ `(font-latex-sectioning-5-face ((t (:inherit ,vpitch :foreground ,pal-blue :weight bold))))
+ `(font-latex-sedate-face ((t (:foreground ,ui-fg-dim))))
+ `(font-latex-slide-title-face ((t (:inherit ,vpitch :foreground ,pal-blue :weight bold :height ,h1))))
+ `(font-latex-string-face ((t (:foreground ,ui-success))))
+ `(font-latex-subscript-face ((t (:height 0.9))))
+ `(font-latex-superscript-face ((t (:height 0.9))))
+ `(font-latex-verbatim-face ((t (:foreground ,pal-cyan :inherit fixed-pitch))))
+ `(font-latex-warning-face ((t (:foreground ,pal-orange :weight bold))))
+ `(font-latex-doctex-documentation-face ((t (:background ,ui-bg-dark))))
+ `(font-latex-doctex-preprocessor-face ((t (:foreground ,syntax-keyword))))
+ `(git-timemachine-commit ((t (:foreground ,pal-orange :weight bold))))
+ `(git-timemachine-minibuffer-author-face ((t (:foreground ,pal-blue))))
+ `(git-timemachine-minibuffer-detail-face ((t (:foreground ,pal-cyan))))
+ `(gptel-context-deletion-face ((t (:background ,ui-active-text-bg :extend t))))
+ `(gptel-context-highlight-face ((t (:background ,ui-bg-light :extend t))))
+ `(gptel-response-fringe-highlight ((t (:foreground ,pal-blue))))
+ `(gptel-response-highlight ((t (:background ,ui-bg-dark :extend t))))
+ `(gptel-rewrite-highlight-face ((t (:background ,ui-button-bg :extend t))))
+ `(haskell-constructor-face ((t (:foreground ,pal-yellow))))
+ `(haskell-definition-face ((t (:foreground ,pal-blue))))
+ `(haskell-error-face ((t (:underline (:style wave :color ,ui-error)))))
+ `(haskell-hole-face ((t (:foreground ,pal-yellow :weight bold))))
+ `(haskell-interactive-face-compile-error ((t (:foreground ,ui-error :weight bold))))
+ `(haskell-interactive-face-compile-warning ((t (:foreground ,pal-yellow :weight bold))))
+ `(haskell-interactive-face-garbage ((t (:foreground ,ui-fg-dim))))
+ `(haskell-interactive-face-prompt ((t (:foreground ,pal-blue :weight bold))))
+ `(haskell-interactive-face-prompt-cont ((t (:foreground ,ui-link))))
+ `(haskell-interactive-face-result ((t (:foreground ,ui-success))))
+ `(haskell-keyword-face ((t (:foreground ,syntax-keyword))))
+ `(haskell-literate-comment-face ((t (:foreground ,ui-fg-dim :slant italic))))
+ `(haskell-operator-face ((t (:foreground ,pal-cyan))))
+ `(haskell-pragma-face ((t (:foreground ,pal-magenta))))
+ `(haskell-quasi-quote-face ((t (:foreground ,ui-success))))
+ `(haskell-type-face ((t (:foreground ,pal-yellow))))
+ `(haskell-warning-face ((t (:underline (:style wave :color ,pal-yellow)))))
+ `(inf-ruby-result-overlay-face ((t (:foreground ,ui-success :background ,ui-bg-dark :box (:line-width -1 :color ,ui-bg-light)))))
+ `(jinx-annotation ((t (:foreground ,ui-fg-dim))))
+ `(jinx-highlight ((t (:foreground ,ui-bg :background ,ui-error :weight bold))))
+ `(jinx-key ((t (:foreground ,syntax-keyword :weight bold))))
+ `(jinx-misspelled ((t (:underline (:style wave :color ,ui-error)))))
+ `(jinx-save ((t (:foreground ,pal-orange :weight bold))))
+ `(mistty-fringe-face ((t (:foreground ,ui-border))))
+ `(nrepl-message-1-face ((t (:foreground ,ui-error))))
+ `(nrepl-message-2-face ((t (:foreground ,pal-orange))))
+ `(nrepl-message-3-face ((t (:foreground ,pal-yellow))))
+ `(nrepl-message-4-face ((t (:foreground ,ui-success))))
+ `(nrepl-message-5-face ((t (:foreground ,pal-cyan))))
+ `(nrepl-message-6-face ((t (:foreground ,ui-link))))
+ `(nrepl-message-7-face ((t (:foreground ,pal-blue))))
+ `(nrepl-message-8-face ((t (:foreground ,pal-magenta))))
+ `(shr-h1 ((t (:inherit ,vpitch :foreground ,pal-red :weight bold :height ,h1))))
+ `(shr-h2 ((t (:inherit ,vpitch :foreground ,pal-orange :weight bold :height ,h2))))
+ `(shr-h3 ((t (:inherit ,vpitch :foreground ,pal-yellow :weight bold :height ,h3))))
+ `(shr-h4 ((t (:inherit ,vpitch :foreground ,pal-green :weight bold))))
+ `(shr-h5 ((t (:inherit ,vpitch :foreground ,pal-cyan :weight bold))))
+ `(shr-h6 ((t (:inherit ,vpitch :foreground ,pal-blue :weight bold))))
+ `(shr-link ((t (:foreground ,pal-blue :underline t))))
+ `(shr-selected-link ((t (:foreground ,pal-orange :underline t))))
+ `(shr-code ((t (:foreground ,pal-cyan :background ,ui-bg-dark))))
+ `(shr-mark ((t (:foreground ,ui-bg :background ,pal-yellow))))
+ `(vundo-branch-stem ((t (:foreground ,ui-border))))
+ `(vundo-diff-highlight ((t (:foreground ,pal-orange :weight bold))))
+ `(vundo-highlight ((t (:foreground ,pal-blue :weight bold))))
+ `(vundo-last-saved ((t (:foreground ,ui-success :weight bold))))
+ `(vundo-node ((t (:foreground ,ui-fg-dim))))
+ `(vundo-saved ((t (:foreground ,ui-success))))
+ `(vundo-stem ((t (:foreground ,ui-border))))
;; === Calendar ===
`(calendar-today ((t (:foreground ,pal-blue :weight bold :underline t))))
`(calendar-weekend-header ((t (:foreground ,ui-error))))
@@ -1016,8 +1216,8 @@
`(markdown-blockquote-face ((t (:foreground ,ui-border :slant italic))))
`(markdown-bold-face ((t (:foreground ,ui-fg :weight bold))))
`(markdown-header-delimiter-face ((t (:foreground ,ui-accent :weight bold))))
- `(markdown-header-face-5 ((t (:foreground ,ui-accent :weight bold))))
- `(markdown-header-face-6 ((t (:foreground ,ui-link :weight bold))))
+ `(markdown-header-face-5 ((t (:inherit ,vpitch :foreground ,ui-accent :weight bold))))
+ `(markdown-header-face-6 ((t (:inherit ,vpitch :foreground ,ui-link :weight bold))))
`(markdown-html-attr-name-face ((t (:foreground ,ui-accent))))
`(markdown-html-attr-value-face ((t (:foreground ,ui-info))))
`(markdown-html-entity-face ((t (:foreground ,ui-accent :slant italic))))
@@ -1167,14 +1367,14 @@
;; === Term (extended) ===
`(term ((t (:foreground ,ui-fg :background ,ui-bg))))
`(term-bold ((t (:weight bold))))
- `(term-color-bright-black ((t (:foreground "#45475a" :background "#45475a"))))
- `(term-color-bright-red ((t (:foreground "#f6c5d3" :background "#f6c5d3"))))
- `(term-color-bright-green ((t (:foreground "#d4efd2" :background "#d4efd2"))))
- `(term-color-bright-yellow ((t (:foreground "#fcf6e9" :background "#fcf6e9"))))
- `(term-color-bright-blue ((t (:foreground "#c7dafa" :background "#c7dafa"))))
- `(term-color-bright-magenta ((t (:foreground "#ece0fb" :background "#ece0fb"))))
- `(term-color-bright-cyan ((t (:foreground "#c6ede6" :background "#c6ede6"))))
- `(term-color-bright-white ((t (:foreground "#bac2de" :background "#bac2de"))))
+ `(term-color-bright-black ((t (:foreground "#6272a4" :background "#6272a4"))))
+ `(term-color-bright-red ((t (:foreground "#ff6e6e" :background "#ff6e6e"))))
+ `(term-color-bright-green ((t (:foreground "#69ff94" :background "#69ff94"))))
+ `(term-color-bright-yellow ((t (:foreground "#ffffa5" :background "#ffffa5"))))
+ `(term-color-bright-blue ((t (:foreground "#d6acff" :background "#d6acff"))))
+ `(term-color-bright-magenta ((t (:foreground "#ff92df" :background "#ff92df"))))
+ `(term-color-bright-cyan ((t (:foreground "#a4ffff" :background "#a4ffff"))))
+ `(term-color-bright-white ((t (:foreground "#ffffff" :background "#ffffff"))))
;; === Transient ===
`(transient-heading ((t (:foreground ,pal-blue :weight bold))))