This commit is contained in:
SqrtMinusOne 2023-08-05 17:13:20 +00:00
parent bfc9f32390
commit 27d6dbd382
8 changed files with 486 additions and 357 deletions

View file

@ -690,10 +690,13 @@
</tr>
</tbody>
</table>
<p><a href="https://github.com/alacritty/alacritty">Alacritty</a> is a GPU-accelerated terminal emulator. I haven&rsquo;t found it to be an inch faster than st, but configuration the in yml format is way more convenient than patches.</p>
<p>Once again, we have an application which doesn&rsquo;t support reading Xresources, so here goes noweb.</p>
<p><a id="code-snippet--get-xrdb"></a></p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>xrdb -query all | grep <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$color</span><span style="color:#ba2121">:&#34;</span> | cut -f <span style="color:#666">2</span>
<p><a href="https://github.com/alacritty/alacritty">Alacritty</a> is a GPU-accelerated terminal emulator. I haven&rsquo;t found it to be an inch faster than st, but <code>yml</code> configuration is way more convenient than patches.</p>
<p>The application doesn&rsquo;t support XResources, so here goes noweb.</p>
<p><a id="code-snippet--get-color"></a></p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">let</span> ((<span style="color:#19177c">color</span> (<span style="color:#008000">or</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">name</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#00f">&gt;</span> <span style="color:#008000">quote</span> <span style="color:#666">0</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#ba2121">&#34;\&#34;&#34;</span> <span style="color:#19177c">color</span> <span style="color:#ba2121">&#34;\&#34;&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">color</span>))
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">setq-local</span> <span style="color:#19177c">org-confirm-babel-evaluate</span> <span style="color:#800">nil</span>)
</span></span></code></pre></div><p>References:</p>
<ul>
@ -714,26 +717,26 @@
</span></span></span><span style="display:flex;"><span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">colors</span>:<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">primary</span>:<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">background</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color0&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">foreground</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color7&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">background</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;bg&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">foreground</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;fg&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">normal</span>:<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">black</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color0&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">red</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color1&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">green</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color2&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">yellow</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color3&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">blue</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color4&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">magenta</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color5&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">cyan</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color6&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">white</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color7&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">black</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;black&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">red</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;red&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">green</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;green&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">yellow</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;yellow&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">blue</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;blue&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">magenta</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;magenta&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">cyan</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;cyan&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">white</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;white&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">bright</span>:<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Black</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color8&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Red</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color9&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Green</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color10&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Yellow</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color11&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Blue</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color12&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Magenta</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color13&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Cyan</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color14&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">White</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-xrdb(color=&#34;color15&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Black</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-black&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Red</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-red&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Green</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-green&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Yellow</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-yellow&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Blue</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-blue&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Magenta</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-magenta&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">Cyan</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-cyan&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">White</span>:<span style="color:#bbb"> </span><span style="color:#ba2121">&#39;&lt;&lt;get-color(name=&#34;light-white&#34;)&gt;&gt;&#39;</span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"></span><span style="color:#008000;font-weight:bold">window</span>:<span style="color:#bbb">
</span></span></span><span style="display:flex;"><span><span style="color:#bbb"> </span><span style="color:#008000;font-weight:bold">padding</span>:<span style="color:#bbb">

File diff suppressed because it is too large Load diff

View file

@ -1319,23 +1319,22 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> <span style="color:#19177c">custom-enabled-themes</span>))
</span></span></code></pre></div><p>I also want to know if the current theme is light or not:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/light-p</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">and</span> (<span style="color:#19177c">seq-intersection</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">custom-enabled-themes</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">doom-one-light</span> <span style="color:#19177c">modus-operandi</span>))
</span></span><span style="display:flex;"><span> <span style="color:#800">t</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-light-p</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;bg</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/dark-p</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> (<span style="color:#19177c">my/light-p</span>)))
</span></span></code></pre></div><p>Now, let&rsquo;s get the current color from <code>doom</code>. <code>doom-themes</code> provide <code>doom-color</code>, but I also want to:</p>
<ul>
<li>override some colors</li>
<li>add <code>black</code>, <code>white</code> and <code>light-*</code></li>
<li>add <code>black</code>, <code>white</code>, <code>light-*</code> and <code>border</code></li>
</ul>
<!--listend-->
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defconst</span> <span style="color:#19177c">my/theme-override</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>((<span style="color:#19177c">doom-palenight</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">red</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;#f07178&#34;</span>))))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defvar</span> <span style="color:#19177c">my/alpha-for-light</span> <span style="color:#666">7</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/doom-color</span> (<span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">override</span> (<span style="color:#19177c">alist-get</span> (<span style="color:#19177c">my/doom-p</span>) <span style="color:#19177c">my/theme-override</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">color-name</span> (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>))
@ -1347,8 +1346,11 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;fg</span>) (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;bg</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">&#39;white</span> <span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;bg</span>) (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;fg</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">&#39;border</span> <span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;base0</span>) (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;base8</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;light-&#34;</span>) <span style="color:#19177c">color-name</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-inc</span> (<span style="color:#19177c">my/doom-color</span> (<span style="color:#00f">intern</span> (<span style="color:#00f">substring</span> <span style="color:#19177c">color-name</span> <span style="color:#666">6</span>))) <span style="color:#666">10</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-hsl-l-inc</span> (<span style="color:#19177c">my/doom-color</span> (<span style="color:#00f">intern</span> (<span style="color:#00f">substring</span> <span style="color:#19177c">color-name</span> <span style="color:#666">6</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/alpha-for-light</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">color</span>))))))
</span></span></code></pre></div><p>And the same for <code>modus-themes</code>. <code>my/modus-color</code> has to accept the same arguments as I use for <code>my/doom-color</code> for backward compatibility, which requires a bit more tuning.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/modus-get-base</span> (<span style="color:#19177c">color</span>)
@ -1367,16 +1369,18 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> <span style="color:#19177c">color</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;black</span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">fg-main</span> <span style="color:#19177c">bg-main</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;white</span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">bg-main</span> <span style="color:#19177c">fg-main</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;light-black</span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;light-black</span> (<span style="color:#19177c">ct-edit-hsl-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">fg-main</span> <span style="color:#19177c">bg-main</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">15</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;light-white</span> (<span style="color:#19177c">ct-edit-lab-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;light-white</span> (<span style="color:#19177c">ct-edit-hsl-l-inc</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">is-light</span> <span style="color:#19177c">bg-main</span> <span style="color:#19177c">fg-main</span>)
</span></span><span style="display:flex;"><span> <span style="color:#666">15</span>)))))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">or</span> (<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;bg</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;bg-main</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">or</span> (<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;fg</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;fg-main</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;bg-alt</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;bg-dim</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;violet</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">cadr</span> (<span style="color:#00f">assoc</span> <span style="color:#19177c">&#39;magenta-cooler</span> <span style="color:#19177c">palette</span>)))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">string-match-p</span> (<span style="color:#008000">rx</span> <span style="color:#19177c">bos</span> <span style="color:#ba2121">&#34;base&#34;</span> <span style="color:#19177c">digit</span>) (<span style="color:#00f">symbol-name</span> <span style="color:#19177c">color</span>))
@ -1394,7 +1398,7 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">black</span> <span style="color:#19177c">red</span> <span style="color:#19177c">green</span> <span style="color:#19177c">yellow</span> <span style="color:#19177c">blue</span> <span style="color:#19177c">magenta</span> <span style="color:#19177c">cyan</span> <span style="color:#19177c">white</span> <span style="color:#19177c">light-black</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">light-red</span> <span style="color:#19177c">light-green</span> <span style="color:#19177c">light-yellow</span> <span style="color:#19177c">light-blue</span> <span style="color:#19177c">light-magenta</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">light-cyan</span> <span style="color:#19177c">light-white</span> <span style="color:#19177c">bg</span> <span style="color:#19177c">fg</span> <span style="color:#19177c">violet</span> <span style="color:#19177c">grey</span> <span style="color:#19177c">base0</span> <span style="color:#19177c">base1</span> <span style="color:#19177c">base2</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">base3</span> <span style="color:#19177c">base4</span> <span style="color:#19177c">base5</span> <span style="color:#19177c">base6</span> <span style="color:#19177c">base7</span> <span style="color:#19177c">base8</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">base3</span> <span style="color:#19177c">base4</span> <span style="color:#19177c">base5</span> <span style="color:#19177c">base6</span> <span style="color:#19177c">base7</span> <span style="color:#19177c">base8</span> <span style="color:#19177c">border</span> <span style="color:#19177c">bg-alt</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/test-colors</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
@ -1417,8 +1421,8 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> ((<span style="color:#00f">eq</span> <span style="color:#19177c">color</span> <span style="color:#19177c">&#39;bg-other</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">color</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;bg</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">ct-light-p</span> <span style="color:#19177c">color</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-dec</span> <span style="color:#19177c">color</span> <span style="color:#666">3</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-lab-l-dec</span> <span style="color:#19177c">color</span> <span style="color:#666">3</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-hsl-l-dec</span> <span style="color:#19177c">color</span> <span style="color:#666">3</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">ct-edit-hsl-l-dec</span> <span style="color:#19177c">color</span> <span style="color:#666">3</span>))))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">my/doom-p</span>) (<span style="color:#19177c">my/doom-color</span> <span style="color:#19177c">color</span>))
</span></span><span style="display:flex;"><span> ((<span style="color:#19177c">my/modus-p</span>) (<span style="color:#19177c">my/modus-color</span> <span style="color:#19177c">color</span>))))
</span></span></code></pre></div><p>And a few more functions</p>
@ -1467,7 +1471,9 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> <span style="color:#008000">if</span> (<span style="color:#19177c">not</span> (<span style="color:#008000">or</span> (<span style="color:#00f">eq</span> <span style="color:#19177c">enabled-theme</span> <span style="color:#19177c">&#39;my-theme-1</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">eq</span> <span style="color:#19177c">enabled-theme</span> <span style="color:#19177c">theme</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">do</span> (<span style="color:#19177c">disable-theme</span> <span style="color:#19177c">enabled-theme</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">load-theme</span> <span style="color:#19177c">theme</span> <span style="color:#800">t</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">load-theme</span> <span style="color:#19177c">theme</span> <span style="color:#800">t</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> <span style="color:#19177c">current-prefix-arg</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/regenerate-desktop</span>)))
</span></span></code></pre></div><h4 id="dim-inactive-buffers">Dim inactive buffers</h4>
<p>Dim inactive buffers.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">auto-dim-other-buffers</span>
@ -2835,7 +2841,7 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span> <span style="color:#ba2121">&#34;aFunction symbol: &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-mapc</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">advice</span> <span style="color:#19177c">_props</span>) (<span style="color:#19177c">advice-remove</span> <span style="color:#19177c">sym</span> <span style="color:#19177c">advice</span>)) <span style="color:#19177c">sym</span>))
</span></span></code></pre></div><h5 id="ielm">IELM</h5>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;inferior-emacs-lisp-mode-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">lispy-mode</span>)
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;inferior-emacs-lisp-mode-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">smartparens-mode</span>)
</span></span></code></pre></div><h4 id="common-lisp">Common lisp</h4>
<h5 id="slime">SLIME</h5>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">slime</span>
@ -5245,7 +5251,21 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span></code></pre></div><p>To launch from CLI, run:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>emacs -Q --batch -l run-tangle.el
</span></span></code></pre></div><p>I have added this line to yadm&rsquo;s <code>post_alt</code> hook, so to run tangle after <code>yadm alt</code></p>
<h4 id="folders">Folders</h4>
<h4 id="regenerate-desktop-config">Regenerate desktop config</h4>
<p>Somewhat similar to the previous one&hellip; Occasinally I want to re-tangle all desktop configuration files, for instance to apply a new theme.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/regenerate-desktop</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-tangle-file</span> <span style="color:#ba2121">&#34;/home/pavel/Desktop.org&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-babel-tangle-file</span> <span style="color:#ba2121">&#34;/home/pavel/Console.org&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">call-process</span> <span style="color:#ba2121">&#34;xrdb&#34;</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#ba2121">&#34;-load&#34;</span> <span style="color:#ba2121">&#34;/home/pavel/.Xresources&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">call-process</span> <span style="color:#ba2121">&#34;~/bin/polybar.sh&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">call-process</span> <span style="color:#ba2121">&#34;pkill&#34;</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#ba2121">&#34;dunst&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">call-process</span> <span style="color:#ba2121">&#34;herd&#34;</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#ba2121">&#34;&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#00f">fboundp</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/exwm-set-alpha</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">my/light-p</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/exwm-set-alpha</span> <span style="color:#666">100</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/exwm-set-alpha</span> <span style="color:#666">90</span>))))
</span></span></code></pre></div><h4 id="folders">Folders</h4>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">let</span> ((<span style="color:#19177c">folders-file</span> (<span style="color:#00f">expand-file-name</span> <span style="color:#ba2121">&#34;folders.el&#34;</span> <span style="color:#19177c">user-emacs-directory</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#00f">file-exists-p</span> <span style="color:#19177c">folders-file</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">load-file</span> <span style="color:#19177c">folders-file</span>)))
@ -8699,6 +8719,7 @@ I&rsquo;ve seen a couple of cases where people would swap their username and ema
<li><a href="#tables-for-guix-dependencies">Tables for Guix Dependencies</a></li>
<li><a href="#noweb-evaluations">Noweb evaluations</a></li>
<li><a href="#yadm-hook">yadm hook</a></li>
<li><a href="#regenerate-desktop-config">Regenerate desktop config</a></li>
<li><a href="#folders">Folders</a></li>
</ul>
</li>

View file

@ -30,7 +30,8 @@ if [ -d &amp;#34;$HOME/bin&amp;#34; ] ; then export PATH=&amp;#34;$HOME/bin:$PAT
<description>My general desktop environment configuration.
Parts prefixed with (OFF) are not used, but kept for historic purposes. For some reason GitHub&amp;rsquo;s org renderer ignores TODO status, hence such a prefix. Round brackets instead of square ones to prevent GitHub&amp;rsquo;s org renderer from screwing up.
References:
A few cases of literate configuration. A few interesting ways in which literate configuration is used in this file. Global customization Colors I used to define color codes here (see previous version of the file), now I just get colors from the current Emacs theme.</description>
A few cases of literate configuration. A few interesting ways in which literate configuration is used in this file. Some remarks Removed features:
Feature Last commit rofi-buku e22476b0cc6315e104e5ce4de5559a61c830c429 Global customization Colors I used to define color codes here (see previous version of the file), now I just get colors from the current Emacs theme.</description>
</item>
<item>

View file

@ -255,6 +255,10 @@
<td>Job_Digital.Applicants</td>
</tr>
<tr>
<td>job.moevm</td>
<td>Job_Moevm</td>
</tr>
<tr>
<td>etu</td>
<td>Etu</td>
</tr>
@ -631,6 +635,13 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
</span></span><span style="display:flex;"><span> (<span style="color:#d2413a;font-weight:bold">user-error</span> <span style="color:#ba2121">&#34;Aborting.&#34;</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;notmuch-mua-send-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/message-ensure-subject</span>)
</span></span></code></pre></div><h3 id="ensure-password-is-loaded">Ensure password is loaded</h3>
<p>Otherwise <code>msmtp</code> may call <code>pinentry</code> while Emacs is locked, which means EXWM can&rsquo;t process the password window.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/ensure-password</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/password-store-get</span> <span style="color:#ba2121">&#34;Job/Digital/Email/pvkorytov@etu.ru&#34;</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;notmuch-mua-send-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/ensure-password</span>)
</span></span></code></pre></div><h2 id="mailcap">mailcap</h2>
<p>mailcap file is a file which defines how to read to different MIME types. Notmuch also uses it, so why not keep it here.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>audio/*; mpc add %s
@ -677,6 +688,7 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
<li><a href="#signing-messages">Signing messages</a></li>
<li><a href="#tuning-signature">Tuning signature</a></li>
<li><a href="#warn-if-no-subject">Warn if no subject</a></li>
<li><a href="#ensure-password-is-loaded">Ensure password is loaded</a></li>
</ul>
</li>
<li><a href="#mailcap">mailcap</a></li>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB