This commit is contained in:
SqrtMinusOne 2025-04-20 21:50:25 +00:00
parent 0a39c4bea5
commit 39b47b7ffc
22 changed files with 3908 additions and 3646 deletions

View file

@ -76,8 +76,7 @@
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe> <iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1> </h1>
<blockquote> <blockquote>
<p>No matter from which side you approach penguins, more always come from behind</p> <p>No matter from which side you approach penguins, more always come from behind</p></blockquote>
</blockquote>
<ul> <ul>
<li>A friend of mine</li> <li>A friend of mine</li>
</ul> </ul>
@ -137,11 +136,18 @@
</span></span></code></pre></div><h3 id="ssh-agent">ssh-agent</h3> </span></span></code></pre></div><h3 id="ssh-agent">ssh-agent</h3>
<p>I&rsquo;m paranoid so I encrypt my SSH keys.</p> <p>I&rsquo;m paranoid so I encrypt my SSH keys.</p>
<p>Got the idea for below from <a href="https://wiki.archlinux.org/title/SSH_keys#SSH_agents">ArchWiki</a>:</p> <p>Got the idea for below from <a href="https://wiki.archlinux.org/title/SSH_keys#SSH_agents">ArchWiki</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><span style="color:#008000;font-weight:bold">if</span> ! pgrep -u <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$USER</span><span style="color:#ba2121">&#34;</span> ssh-agent &gt; /dev/null; <span style="color:#008000;font-weight:bold">then</span> <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><span style="color:#19177c">SSH_AGENT_DIR</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;/tmp&#34;</span>
</span></span><span style="display:flex;"><span> ssh-agent -t 1h &gt; <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$XDG_RUNTIME_DIR</span><span style="color:#ba2121">/ssh-agent.env&#34;</span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$IS_ANDROID</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">==</span> <span style="color:#ba2121">&#34;true&#34;</span> <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">SSH_AGENT_DIR</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;/data/data/com.termux/files/tmp&#34;</span>
</span></span><span style="display:flex;"><span> mkdir -p <span style="color:#19177c">$SSH_AGENT_DIR</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> ! pgrep -u <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$USER</span><span style="color:#ba2121">&#34;</span> ssh-agent &gt; /dev/null; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> ssh-agent -t 1h &gt; <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$SSH_AGENT_DIR</span><span style="color:#ba2121">/ssh-agent.env&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[[</span> ! -f <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$SSH_AUTH_SOCK</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]]</span>; <span style="color:#008000;font-weight:bold">then</span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[[</span> ! -f <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$SSH_AUTH_SOCK</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]]</span>; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">source</span> <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$XDG_RUNTIME_DIR</span><span style="color:#ba2121">/ssh-agent.env&#34;</span> &gt;/dev/null </span></span><span style="display:flex;"><span> <span style="color:#008000">source</span> <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$SSH_AGENT_DIR</span><span style="color:#ba2121">/ssh-agent.env&#34;</span> &gt;/dev/null
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">fi</span>
</span></span></code></pre></div><h3 id="guix-settings">Guix settings</h3> </span></span></code></pre></div><h3 id="guix-settings">Guix settings</h3>
<p>Enable extra profiles</p> <p>Enable extra profiles</p>
@ -154,7 +160,7 @@
</span></span><span style="display:flex;"><span> . <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$GUIX_PROFILE</span><span style="color:#ba2121">&#34;</span>/etc/profile </span></span><span style="display:flex;"><span> . <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$GUIX_PROFILE</span><span style="color:#ba2121">&#34;</span>/etc/profile
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">fi</span> </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">fi</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">&#34;</span>/share/man <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span> </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">if</span> <span style="color:#666">[</span> -d <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">&#34;</span>/share/man <span style="color:#666">]</span>; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">if</span> <span style="color:#008000">command</span> -v manpath; <span style="color:#008000;font-weight:bold">then</span> </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">if</span> <span style="color:#008000">command</span> -v manpath &gt;/dev/null 2&gt;/dev/null; <span style="color:#008000;font-weight:bold">then</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#008000;font-weight:bold">:-$(</span>manpath<span style="color:#008000;font-weight:bold">)</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#008000;font-weight:bold">:-$(</span>manpath<span style="color:#008000;font-weight:bold">)</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">else</span> </span></span><span style="display:flex;"><span> <span style="color:#008000;font-weight:bold">else</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">MANPATH</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;</span><span style="color:#b68;font-weight:bold">${</span><span style="color:#19177c">MANPATH</span><span style="color:#b68;font-weight:bold">}</span><span style="color:#ba2121">:</span><span style="color:#19177c">$profile</span><span style="color:#ba2121">/share/man&#34;</span>
@ -298,7 +304,7 @@
<p>Allow other users to access X server. Necessary for stuff like aw-watcher-window.</p> <p>Allow other users to access X server. Necessary for stuff like aw-watcher-window.</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>xhost +local:root &gt; /dev/null 2&gt;&amp;<span style="color:#666">1</span> <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>xhost +local:root &gt; /dev/null 2&gt;&amp;<span style="color:#666">1</span>
</span></span></code></pre></div><p>Set manpager to bat</p> </span></span></code></pre></div><p>Set manpager to bat</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><span style="color:#008000">export</span> <span style="color:#19177c">MANPAGER</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;sh -c &#39;sed -e s/.\\\\x08//g | bat -l man -p&#39;&#34;</span> <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><span style="color:#408080;font-style:italic"># export MANPAGER=&#34;sh -c &#39;sed -e s/.\\\\x08//g | bat -l man -p&#39;&#34;</span>
</span></span></code></pre></div><p><a href="https://codeberg.org/akib/emacs-eat">eat</a> integration</p> </span></span></code></pre></div><p><a href="https://codeberg.org/akib/emacs-eat">eat</a> integration</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><span style="color:#666">[</span> -n <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$EAT_SHELL_INTEGRATION_DIR</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#008000">source</span> <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$EAT_SHELL_INTEGRATION_DIR</span><span style="color:#ba2121">/bash&#34;</span> <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><span style="color:#666">[</span> -n <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$EAT_SHELL_INTEGRATION_DIR</span><span style="color:#ba2121">&#34;</span> <span style="color:#666">]</span> <span style="color:#666">&amp;&amp;</span> <span style="color:#008000">source</span> <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$EAT_SHELL_INTEGRATION_DIR</span><span style="color:#ba2121">/bash&#34;</span>
</span></span></code></pre></div><h4 id="launch-fish">Launch fish</h4> </span></span></code></pre></div><h4 id="launch-fish">Launch fish</h4>
@ -401,8 +407,7 @@
</span></span></code></pre></div><h4 id="micromamba">Micromamba</h4> </span></span></code></pre></div><h4 id="micromamba">Micromamba</h4>
<p>I&rsquo;ve moved from conda to <a href="https://github.com/mamba-org/mamba">micromamba</a> because it&rsquo;s faster.</p> <p>I&rsquo;ve moved from conda to <a href="https://github.com/mamba-org/mamba">micromamba</a> because it&rsquo;s faster.</p>
<blockquote> <blockquote>
<p>managed by &lsquo;mamba init&rsquo; !!!</p> <p>managed by &lsquo;mamba init&rsquo; !!!</p></blockquote>
</blockquote>
<p>Yeah, tell this to yourself</p> <p>Yeah, tell this to yourself</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>init_mamba <span style="color:#666">()</span> <span style="color:#666">{</span> <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>init_mamba <span style="color:#666">()</span> <span style="color:#666">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">MAMBA_EXE</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;/home/pavel/.guix-extra-profiles/dev/dev/bin/micromamba&#34;</span>; </span></span><span style="display:flex;"><span> <span style="color:#008000">export</span> <span style="color:#19177c">MAMBA_EXE</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;/home/pavel/.guix-extra-profiles/dev/dev/bin/micromamba&#34;</span>;
@ -964,6 +969,14 @@
<td>aria2</td> <td>aria2</td>
<td>Download tool</td> <td>Download tool</td>
</tr> </tr>
<tr>
<td>man-db</td>
<td></td>
</tr>
<tr>
<td>pv</td>
<td></td>
</tr>
</tbody> </tbody>
</table> </table>
<h3 id="ripgrep-config">ripgrep config</h3> <h3 id="ripgrep-config">ripgrep config</h3>

View file

@ -76,8 +76,7 @@
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe> <iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1> </h1>
<blockquote> <blockquote>
<p>One day we won&rsquo;t hate one another, no young boy will march to war and I will clean up my Emacs config. But that day isn&rsquo;t today.</p> <p>One day we won&rsquo;t hate one another, no young boy will march to war and I will clean up my Emacs config. But that day isn&rsquo;t today.</p></blockquote>
</blockquote>
<ul> <ul>
<li>Me, <span class="timestamp-wrapper"><span class="timestamp">&lt;2021-05-27 Thu 17:35&gt; </span></span> in commit 93a0573. Adapted from <a href="https://www.youtube.com/watch?v=pIdBinlW40E">The Dark Element - &ldquo;The Pallbearer Walks Alone&rdquo;</a>. T_T</li> <li>Me, <span class="timestamp-wrapper"><span class="timestamp">&lt;2021-05-27 Thu 17:35&gt; </span></span> in commit 93a0573. Adapted from <a href="https://www.youtube.com/watch?v=pIdBinlW40E">The Dark Element - &ldquo;The Pallbearer Walks Alone&rdquo;</a>. T_T</li>
</ul> </ul>
@ -906,8 +905,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:#19177c">general-imap</span> <span style="color:#ba2121">&#34;M-TAB&#34;</span> <span style="color:#19177c">&#39;company-yasnippet</span>) </span></span><span style="display:flex;"><span>(<span style="color:#19177c">general-imap</span> <span style="color:#ba2121">&#34;M-TAB&#34;</span> <span style="color:#19177c">&#39;company-yasnippet</span>)
</span></span></code></pre></div><h4 id="input-method">Input Method</h4> </span></span></code></pre></div><h4 id="input-method">Input Method</h4>
<blockquote> <blockquote>
<p>I have to switch layouts all the time, especially in LaTeX documents, because for some reason the Bolsheviks abandoned the idea of replacing Russian Cyrillic letters with Latin ones.</p> <p>I have to switch layouts all the time, especially in LaTeX documents, because for some reason the Bolsheviks abandoned the idea of replacing Russian Cyrillic letters with Latin ones.</p></blockquote>
</blockquote>
<ul> <ul>
<li>Me, <span class="timestamp-wrapper"><span class="timestamp">[2021-04-24 Sat]</span></span>, in a commit to <a href="https://github.com/SystemCrafters/crafter-configs">SystemCrafters/crafter-configs</a>.</li> <li>Me, <span class="timestamp-wrapper"><span class="timestamp">[2021-04-24 Sat]</span></span>, in a commit to <a href="https://github.com/SystemCrafters/crafter-configs">SystemCrafters/crafter-configs</a>.</li>
</ul> </ul>
@ -1010,6 +1008,26 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-k&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">popup-previous</span>) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-k&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">popup-previous</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">accent-custom</span> <span style="color:#666">&#39;</span>((<span style="color:#19177c">a</span> (<span style="color:#19177c">ā</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">accent-custom</span> <span style="color:#666">&#39;</span>((<span style="color:#19177c">a</span> (<span style="color:#19177c">ā</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">A</span> (<span style="color:#19177c">Ā</span>))))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">A</span> (<span style="color:#19177c">Ā</span>)))))
</span></span></code></pre></div><h4 id="random-editing-tricks">Random editing tricks</h4>
<h5 id="round-number-at-point">Round number at point</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">defun</span> <span style="color:#19177c">my/round-number-at-point</span> (<span style="color:#19177c">word</span> <span style="color:#19177c">signs</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#008000">or</span> (<span style="color:#008000">when</span> (<span style="color:#19177c">region-active-p</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">buffer-substring-no-properties</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">region-beginning</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">region-end</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thing-at-point</span> <span style="color:#19177c">&#39;number</span> <span style="color:#19177c">&#39;no-properties</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">read-number</span> <span style="color:#ba2121">&#34;Decimal signs: &#34;</span> <span style="color:#666">2</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#00f">stringp</span> <span style="color:#19177c">word</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">word</span> (<span style="color:#00f">string-to-number</span> <span style="color:#19177c">word</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">number</span> (<span style="color:#00f">/</span> (<span style="color:#00f">float</span> (<span style="color:#00f">round</span> (<span style="color:#00f">*</span> (<span style="color:#00f">expt</span> <span style="color:#666">10</span> <span style="color:#19177c">signs</span>) <span style="color:#19177c">word</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">expt</span> <span style="color:#666">10</span> <span style="color:#19177c">signs</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">replace-string-in-region</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">number-to-string</span> <span style="color:#19177c">word</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">number-to-string</span> <span style="color:#19177c">number</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">line-beginning-position</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">line-end-position</span>)))))
</span></span></code></pre></div><h3 id="working-with-projects">Working with projects</h3> </span></span></code></pre></div><h3 id="working-with-projects">Working with projects</h3>
<p>Packages related to managing projects.</p> <p>Packages related to managing projects.</p>
<p>I used to have <a href="https://github.com/Alexander-Miller/treemacs">Treemacs</a> here, but in the end decided that dired with <a href="https://github.com/jojojames/dired-sidebar">dired-sidebar</a> does a better job. Dired has its separate section in &ldquo;Applications&rdquo;.</p> <p>I used to have <a href="https://github.com/Alexander-Miller/treemacs">Treemacs</a> here, but in the end decided that dired with <a href="https://github.com/jojojames/dired-sidebar">dired-sidebar</a> does a better job. Dired has its separate section in &ldquo;Applications&rdquo;.</p>
@ -2006,7 +2024,7 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
<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">nerd-icons</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:#008000">use-package</span> <span style="color:#19177c">nerd-icons</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>)
</span></span></code></pre></div><h3 id="text-highlight">Text highlight</h3> </span></span></code></pre></div><h3 id="text-highlight">Text highlight</h3>
<p>Highlight indent guides. I used <a href="https://github.com/DarthFennec/highlight-indent-guides">highlight-indent-guides</a> before but <a href="https://github.com/jdtsmith/indent-bars">indent-bars</a> seems to work better, and also doesn&rsquo;t break with <code>treesit-fold</code>.</p> <p>Highlight indent guides. I used <a href="https://github.com/DarthFennec/highlight-indent-guides">highlight-indent-guides</a> before but <a href="https://github.com/jdtsmith/indent-bars">indent-bars</a> seems to work better, and it doesn&rsquo;t break with <code>treesit-fold</code>.</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">indent-bars</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:#008000">use-package</span> <span style="color:#19177c">indent-bars</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:host</span> <span style="color:#19177c">github</span> <span style="color:#008000">:repo</span> <span style="color:#ba2121">&#34;jdtsmith/indent-bars&#34;</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:host</span> <span style="color:#19177c">github</span> <span style="color:#008000">:repo</span> <span style="color:#ba2121">&#34;jdtsmith/indent-bars&#34;</span>)
</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:#19177c">my/remote-server</span>)) </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:#19177c">my/remote-server</span>))
@ -2336,6 +2354,29 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;lsp-mode</span> </span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;lsp-mode</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#19177c">&#39;lsp--progress-status</span> <span style="color:#008000">:override</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/lsp--progress-status</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#19177c">&#39;lsp--progress-status</span> <span style="color:#008000">:override</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/lsp--progress-status</span>))
</span></span></code></pre></div><h5 id="fix-vue-semantic-server">Fix vue-semantic-server</h5>
<p>Somehow, for me <a href="https://github.com/vuejs/language-tools">vue-semantic-server</a> sends an empty <code>textDocument/publishDiagnostics</code> message a second or two after the real one, causing the diagnostics to disappear.</p>
<p>For now, I&rsquo;ve advised this away by ignoring empty messages unless they show up more than 5 seconds after a non-empty message.</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">setq</span> <span style="color:#19177c">my/lsp--vue-diagnostics-last-update</span> (<span style="color:#00f">make-hash-table</span> <span style="color:#008000">:test</span> <span style="color:#00f">#&#39;equal</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/lsp--on-diagnostics</span> (<span style="color:#19177c">fn</span> <span style="color:#19177c">workspace</span> <span style="color:#19177c">params</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#00f">equal</span> (<span style="color:#00f">gethash</span> <span style="color:#19177c">&#39;vue-semantic-server</span> <span style="color:#19177c">lsp-clients</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">lsp--workspace-client</span> <span style="color:#19177c">workspace</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">progn</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">is-empty</span> (<span style="color:#19177c">seq-empty-p</span> (<span style="color:#00f">gethash</span> <span style="color:#ba2121">&#34;diagnostics&#34;</span> <span style="color:#19177c">params</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">uri</span> (<span style="color:#00f">gethash</span> <span style="color:#ba2121">&#34;uri&#34;</span> <span style="color:#19177c">params</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">last-update</span> (<span style="color:#00f">gethash</span> <span style="color:#19177c">uri</span> <span style="color:#19177c">my/lsp--vue-diagnostics-last-update</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">current-update</span> (<span style="color:#19177c">time-convert</span> <span style="color:#800">nil</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">integer</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> <span style="color:#19177c">is-empty</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">puthash</span> <span style="color:#19177c">uri</span> <span style="color:#19177c">current-update</span> <span style="color:#19177c">my/lsp--vue-diagnostics-last-update</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#008000">or</span> (<span style="color:#19177c">not</span> <span style="color:#19177c">is-empty</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> <span style="color:#19177c">last-update</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">&gt;</span> (<span style="color:#00f">-</span> <span style="color:#19177c">current-update</span> (<span style="color:#008000">or</span> <span style="color:#19177c">last-update</span> <span style="color:#666">0</span>)) <span style="color:#666">5</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">funcall</span> <span style="color:#19177c">fn</span> <span style="color:#19177c">workspace</span> <span style="color:#19177c">params</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">funcall</span> <span style="color:#19177c">fn</span> <span style="color:#19177c">workspace</span> <span style="color:#19177c">params</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;lsp</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">lsp--on-diagnostics</span> <span style="color:#008000">:around</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/lsp--on-diagnostics</span>))
</span></span></code></pre></div><h4 id="flycheck">Flycheck</h4> </span></span></code></pre></div><h4 id="flycheck">Flycheck</h4>
<p>A syntax checking extension for Emacs. Integrates with LSP-mode, but can also use various standalone checkers.</p> <p>A syntax checking extension for Emacs. Integrates with LSP-mode, but can also use various standalone checkers.</p>
<p>References:</p> <p>References:</p>
@ -2797,7 +2838,7 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span></code></pre></div><h3 id="web-development">Web development</h3> </span></span></code></pre></div><h3 id="web-development">Web development</h3>
<p>Configs for various web development technologies I&rsquo;m using.</p> <p>Configs for various web development technologies I&rsquo;m using.</p>
<h4 id="emmet">Emmet</h4> <h4 id="emmet">Emmet</h4>
<p><a href="https://emmet.io/">Emmet</a> is a toolkit which greatly speeds up typing HTML &amp; CSS.</p> <p><a href="//emmet.io/">Emmet</a> is a toolkit which greatly speeds up typing HTML &amp; CSS.</p>
<table> <table>
<thead> <thead>
<tr> <tr>
@ -2931,6 +2972,10 @@ 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">add-hook</span> <span style="color:#19177c">&#39;web-mode-hook</span> <span style="color:#19177c">&#39;smartparens-mode</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;web-mode-hook</span> <span style="color:#19177c">&#39;smartparens-mode</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;web-mode-hook</span> <span style="color:#19177c">&#39;hs-minor-mode</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-hook</span> <span style="color:#19177c">&#39;web-mode-hook</span> <span style="color:#19177c">&#39;hs-minor-mode</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/set-smartparens-indent</span> <span style="color:#19177c">&#39;web-mode</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/set-smartparens-indent</span> <span style="color:#19177c">&#39;web-mode</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;editorconfig</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">push</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;standard-indent</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">&#39;web-mode</span> <span style="color:#19177c">editorconfig-indentation-alist</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">web-mode-auto-pairs</span> <span style="color:#800">nil</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">web-mode-auto-pairs</span> <span style="color:#800">nil</span>))
</span></span></code></pre></div><p>Hooking this up with lsp.</p> </span></span></code></pre></div><p>Hooking this up with lsp.</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">setq</span> <span style="color:#19177c">my/web-mode-lsp-extensions</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:#008000">setq</span> <span style="color:#19177c">my/web-mode-lsp-extensions</span>
@ -4038,7 +4083,13 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span></code></pre></div><h3 id="keybindings-and-stuff">Keybindings &amp; stuff</h3> </span></span></code></pre></div><h3 id="keybindings-and-stuff">Keybindings &amp; stuff</h3>
<p>I&rsquo;ve moved this block above because the <code>my-leader-def</code> expression in the next block seems to override the previous ones. So it has to be on the top.</p> <p>I&rsquo;ve moved this block above because the <code>my-leader-def</code> expression in the next block seems to override the previous ones. So it has to be on the top.</p>
<h4 id="general-keybindings">General keybindings</h4> <h4 id="general-keybindings">General keybindings</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">with-eval-after-load</span> <span style="color:#19177c">&#39;org</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:#008000">defun</span> <span style="color:#19177c">my/outline-prev-or-up-heading</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">outline-on-heading-p</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">outline-up-heading</span> <span style="color:#666">1</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">outline-previous-visible-heading</span> <span style="color:#666">1</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;org</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">&#39;org-mode-map</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">&#39;org-mode-map</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-c d&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-decrypt-entry</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-c d&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-decrypt-entry</span>
@ -4057,6 +4108,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:#ba2121">&#34;M-9&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-previous-visible-heading</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-9&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-previous-visible-heading</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-0&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-forward-heading-same-level</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-0&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-forward-heading-same-level</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-9&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-backward-heading-same-level</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;C-9&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-backward-heading-same-level</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;(&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/outline-prev-or-up-heading</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-]&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-babel-next-src-block</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-]&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-babel-next-src-block</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-[&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-babel-previous-src-block</span>) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-[&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-babel-previous-src-block</span>)
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
@ -4136,7 +4188,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:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">file</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">file</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string-replace</span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">&#34;/&#34;</span>) <span style="color:#ba2121">&#34;&#34;</span> <span style="color:#19177c">file</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">string-replace</span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">&#34;/&#34;</span>) <span style="color:#ba2121">&#34;&#34;</span> <span style="color:#19177c">file</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">append</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">append</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;inbox.org&#34;</span> <span style="color:#ba2121">&#34;contacts.org&#34;</span>))))) </span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;inbox.org&#34;</span> <span style="color:#ba2121">&#34;contacts.org&#34;</span> <span style="color:#ba2121">&#34;recurring.org&#34;</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">find-file</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">find-file</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">&#34;/&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">&#34;/&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">completing-read</span> <span style="color:#ba2121">&#34;Org file: &#34;</span> <span style="color:#19177c">files</span>))))) </span></span><span style="display:flex;"><span> (<span style="color:#00f">completing-read</span> <span style="color:#ba2121">&#34;Org file: &#34;</span> <span style="color:#19177c">files</span>)))))
@ -4620,7 +4672,9 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
<p>A nice package to make screenshots and insert them to the Org document.</p> <p>A nice package to make screenshots and insert them to the Org document.</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">org-attach-screenshot</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:#008000">use-package</span> <span style="color:#19177c">org-attach-screenshot</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:commands</span> (<span style="color:#19177c">org-attach-screenshot</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:commands</span> (<span style="color:#19177c">org-attach-screenshot</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">org-attach-screenshot-auto-refresh</span> <span style="color:#19177c">&#39;never</span>))
</span></span></code></pre></div><h4 id="transclusion">Transclusion</h4> </span></span></code></pre></div><h4 id="transclusion">Transclusion</h4>
<p>A package that implements transclusions in Org Mode, i.e. rendering part of one file inside another file.</p> <p>A package that implements transclusions in Org Mode, i.e. rendering part of one file inside another file.</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">org-transclusion</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:#008000">use-package</span> <span style="color:#19177c">org-transclusion</span>
@ -5804,8 +5858,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
<p>About installing the package on Guix (<strong>CREDIT</strong>: thanks @Ashraz on the SystemCrafters discord)</p> <p>About installing the package on Guix (<strong>CREDIT</strong>: thanks @Ashraz on the SystemCrafters discord)</p>
<blockquote> <blockquote>
<p>So, for all those interested: unfortunately, org-roam (or rather emacsql-sqlite) cannot compile the sqlite.c and emacsql.c due to missing headers (linux/falloc.h) on Guix. You would have to properly set all the include paths on Guix, and also adjust the PATH to have gcc actually find as later on in the compilation process.</p> <p>So, for all those interested: unfortunately, org-roam (or rather emacsql-sqlite) cannot compile the sqlite.c and emacsql.c due to missing headers (linux/falloc.h) on Guix. You would have to properly set all the include paths on Guix, and also adjust the PATH to have gcc actually find as later on in the compilation process.</p>
<p>Instead, you should remove all Org-Roam related packages from your Emacs installation (via M-x package-delete org-roam RET and M-x package-autoremove RET y RET) and then use the Guix package called emacs-org-roam.</p> <p>Instead, you should remove all Org-Roam related packages from your Emacs installation (via M-x package-delete org-roam RET and M-x package-autoremove RET y RET) and then use the Guix package called emacs-org-roam.</p></blockquote>
</blockquote>
<p>References:</p> <p>References:</p>
<ul> <ul>
<li><a href="https://github.com/org-roam/org-roam/wiki/Hitchhiker%27s-Rough-Guide-to-Org-roam-V2">Hitchhiker&rsquo;s Rough Guide to Org roam V2</a></li> <li><a href="https://github.com/org-roam/org-roam/wiki/Hitchhiker%27s-Rough-Guide-to-Org-roam-V2">Hitchhiker&rsquo;s Rough Guide to Org roam V2</a></li>
@ -6114,23 +6167,59 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/get-files-status</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;@{%s}&#34;</span> <span style="color:#19177c">date</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/get-files-status</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;@{%s}&#34;</span> <span style="color:#19177c">date</span>))))
</span></span></code></pre></div><h5 id="data-from-org-roam">Data from org-roam</h5> </span></span></code></pre></div><h5 id="data-from-org-roam">Data from org-roam</h5>
<p>I&rsquo;ll use data from git to get the list of what I&rsquo;ve been working on. The directories include <code>org-roam</code> itself and <code>inbox-notes</code>, where my in-process notes live.</p> <p>I&rsquo;ll use data from git to get the list of what I&rsquo;ve been working on. The directories include <code>org-roam</code> itself and <code>inbox-notes</code>, where my in-process notes live.</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/org-review-format-org-roam</span> (<span style="color:#19177c">date</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:#008000">defun</span> <span style="color:#19177c">my/org-review--org-roam-get-changes</span> (<span style="color:#19177c">date</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">changes</span> (<span style="color:#19177c">my/org-changed-files-since-date</span> <span style="color:#19177c">date</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">changes</span> (<span style="color:#19177c">my/org-changed-files-since-date</span> <span style="color:#19177c">date</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">nodes</span> (<span style="color:#19177c">org-roam-node-list</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">nodes</span> (<span style="color:#19177c">org-roam-node-list</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">nodes-by-file</span> (<span style="color:#00f">make-hash-table</span> <span style="color:#008000">:test</span> <span style="color:#00f">#&#39;equal</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">nodes-by-file</span> (<span style="color:#00f">make-hash-table</span> <span style="color:#008000">:test</span> <span style="color:#00f">#&#39;equal</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cl-loop</span> <span style="color:#19177c">for</span> <span style="color:#19177c">node</span> <span style="color:#19177c">in</span> <span style="color:#19177c">nodes</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">cl-loop</span> <span style="color:#19177c">for</span> <span style="color:#19177c">node</span> <span style="color:#19177c">in</span> <span style="color:#19177c">nodes</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">for</span> <span style="color:#19177c">file</span> <span style="color:#00f">=</span> (<span style="color:#19177c">org-roam-node-file</span> <span style="color:#19177c">node</span>) </span></span><span style="display:flex;"><span> <span style="color:#19177c">for</span> <span style="color:#19177c">file</span> <span style="color:#00f">=</span> (<span style="color:#19177c">org-roam-node-file</span> <span style="color:#19177c">node</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">do</span> (<span style="color:#00f">puthash</span> <span style="color:#19177c">file</span> <span style="color:#19177c">node</span> <span style="color:#19177c">nodes-by-file</span>)) </span></span><span style="display:flex;"><span> <span style="color:#008000">do</span> (<span style="color:#00f">puthash</span> <span style="color:#19177c">file</span> <span style="color:#19177c">node</span> <span style="color:#19177c">nodes-by-file</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">changed-nodes</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;*** Zettelkasten Updates\n&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;TODO Sort the updates by topics\n\n&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">changes</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Changes in inbox:\n&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">cons</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">gethash</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">&#34;/&#34;</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">nodes-by-file</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span> <span style="color:#00f">#&#39;cdr</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-inbox</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changes</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">changes</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">file</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;inbox-notes&#34;</span>) (<span style="color:#00f">cdr</span> <span style="color:#19177c">file</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">file</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;inbox-notes&#34;</span>) (<span style="color:#00f">cdr</span> <span style="color:#19177c">file</span>))))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-sort-by</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">s</span>) (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">s</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-fleeting</span>
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;string-lessp</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-nodes</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-contains-p</span> (<span style="color:#19177c">org-roam-node-tags</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;fleeting&#34;</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-sort-by</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>) (<span style="color:#00f">concat</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))))
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;string-lessp</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-permanent</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-nodes</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">not</span> (<span style="color:#19177c">seq-contains-p</span> (<span style="color:#19177c">org-roam-node-tags</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;fleeting&#34;</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-sort-by</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>) (<span style="color:#00f">concat</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))))
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;string-lessp</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-inbox</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-fleeting</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-permanent</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/org-review-org-roam-format</span> (<span style="color:#19177c">date</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">data</span> (<span style="color:#19177c">my/org-review--org-roam-get-changes</span> <span style="color:#19177c">date</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-inbox</span> (<span style="color:#00f">nth</span> <span style="color:#666">0</span> <span style="color:#19177c">data</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-fleeting</span> (<span style="color:#00f">nth</span> <span style="color:#666">1</span> <span style="color:#19177c">data</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-permanent</span> (<span style="color:#00f">nth</span> <span style="color:#666">2</span> <span style="color:#19177c">data</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Changes in inbox:\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-inbox</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">change</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">change</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- %s :: %s\n&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- %s :: %s\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span>
@ -6140,18 +6229,18 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">change</span>))))) </span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">change</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">change</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">change</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\nChanges in notes:\n&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\nChanges in fleeting notes:\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changes</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-fleeting</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">cons</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- %s :: [[id:%s][%s]]\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">gethash</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">org-directory</span> <span style="color:#ba2121">&#34;/&#34;</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-id</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">nodes-by-file</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span> <span style="color:#00f">#&#39;cdr</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-sort-by</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>) (<span style="color:#00f">concat</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>)) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\nChanges in permanent notes:\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;string-lessp</span>) </span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-permanent</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- %s :: [[id:%s][%s]]\n&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- %s :: [[id:%s][%s]]\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>)))
@ -6169,13 +6258,17 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;weekly</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;weekly</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">*</span> <span style="color:#666">21</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#00f">*</span> <span style="color:#666">21</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;zk</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">*</span> <span style="color:#666">45</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">_</span> (<span style="color:#d2413a;font-weight:bold">error</span> <span style="color:#ba2121">&#34;Unsupported kind: %s&#34;</span> <span style="color:#19177c">kind</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">_</span> (<span style="color:#d2413a;font-weight:bold">error</span> <span style="color:#ba2121">&#34;Unsupported kind: %s&#34;</span> <span style="color:#19177c">kind</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">:location</span> <span style="color:#19177c">&#39;section</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:location</span> <span style="color:#19177c">&#39;section</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:order</span> <span style="color:#19177c">&#39;descending</span>))) </span></span><span style="display:flex;"><span> <span style="color:#008000">:order</span> <span style="color:#19177c">&#39;descending</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">query-res</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> <span style="color:#19177c">query-res</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-tag-reference-date</span> (<span style="color:#00f">car</span> <span style="color:#19177c">query-res</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-tag-reference-date</span> (<span style="color:#00f">car</span> <span style="color:#19177c">query-res</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> <span style="color:#19177c">kind</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">pcase</span> <span style="color:#19177c">kind</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;weekly</span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span> (<span style="color:#00f">*</span> <span style="color:#666">7</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>))))))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;weekly</span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span> (<span style="color:#00f">*</span> <span style="color:#666">7</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">&#39;zk</span> (<span style="color:#00f">-</span> <span style="color:#19177c">start-of-day</span> (<span style="color:#00f">*</span> <span style="color:#666">45</span> <span style="color:#666">24</span> <span style="color:#666">60</span> <span style="color:#666">60</span>)))))))
</span></span></code></pre></div><h5 id="weekly-review">Weekly review</h5> </span></span></code></pre></div><h5 id="weekly-review">Weekly review</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">defun</span> <span style="color:#19177c">my/org-review-set-weekly-record</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:#008000">defun</span> <span style="color:#19177c">my/org-review-set-weekly-record</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
@ -6190,7 +6283,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seconds-to-time</span> <span style="color:#19177c">last-review-date</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">seconds-to-time</span> <span style="color:#19177c">last-review-date</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34; </span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121"> </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">Review checklist: </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">Review checklist (/delete this/):
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Clear email inbox </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Clear email inbox
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Reconcile ledger </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Reconcile ledger
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Clear [[file:~/Downloads][downloads]] and [[file:~/00-Scratch][scratch]] folders </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Clear [[file:~/Downloads][downloads]] and [[file:~/00-Scratch][scratch]] folders
@ -6207,8 +6300,6 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Review journal records </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">- [ ] Review journal records
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&#34;</span>) </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&#34;</span>)
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> (<span style="color:#19177c">my/org-review-format-org-roam</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format-time-string</span> <span style="color:#ba2121">&#34;%Y-%m-%d&#34;</span> (<span style="color:#19177c">seconds-to-time</span> <span style="color:#19177c">last-review-date</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34; </span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** Summary </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** Summary
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">TODO Write something, maybe? &#34;</span>)))) </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">TODO Write something, maybe? &#34;</span>))))
@ -6233,6 +6324,11 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">call-process-shell-command</span> <span style="color:#ba2121">&#34;pkill -f &#39;bwrap --args 36 element&#39;&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">call-process-shell-command</span> <span style="color:#ba2121">&#34;pkill -f &#39;bwrap --args 36 element&#39;&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">call-process-shell-command</span> <span style="color:#ba2121">&#34;pkill -f element-desktop&#34;</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">call-process-shell-command</span> <span style="color:#ba2121">&#34;pkill -f element-desktop&#34;</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">defun</span> <span style="color:#19177c">my/org-review-set-daily-record</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">defun</span> <span style="color:#19177c">my/org-review-set-daily-record</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">today</span> (<span style="color:#00f">format-time-string</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;%Y-%m-%d&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">days-to-time</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">-</span> (<span style="color:#19177c">org-today</span>) (<span style="color:#19177c">time-to-days</span> <span style="color:#666">0</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">roam-changes</span> (<span style="color:#19177c">my/org-review--org-roam-get-changes</span> <span style="color:#19177c">today</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-tags-prop-apply-delta</span> <span style="color:#008000">:add</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;review.daily&#34;</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-tags-prop-apply-delta</span> <span style="color:#008000">:add</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;review.daily&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;Daily Review&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;Daily Review&#34;</span>)
@ -6257,13 +6353,22 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121"> </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** New ideas </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** New ideas
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">/Write them down in org-roam with the \&#34;fleeting\&#34; tag; leave links here. Perhaps note what sparked that idea?/ </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">/Write them down in org-roam with the \&#34;fleeting\&#34; tag; leave links here. Perhaps note what sparked that idea?/
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121"> </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">nth</span> <span style="color:#666">1</span> <span style="color:#19177c">roam-changes</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-filter</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>) (<span style="color:#00f">eq</span> <span style="color:#19177c">&#39;added</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- [[id:%s][%s]]\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-id</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** Interactions today </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** Interactions today
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">/Any meaninginful interactions, conflicts or tensions?/ </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">/Any meaninginful interactions, conflicts or tensions?/
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121"> </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** Emotions today </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">*** Emotions today
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">/How did I feel?/ </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">/How did I feel?/
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&#34;</span>))) </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&#34;</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">defun</span> <span style="color:#19177c">my/org-review-daily</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">defun</span> <span style="color:#19177c">my/org-review-daily</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">org-journal-after-entry-create-hook</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">org-journal-after-entry-create-hook</span>
@ -6273,6 +6378,92 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-fold-show-subtree</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-fold-show-subtree</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">with-eval-after-load</span> <span style="color:#19177c">&#39;org-journal</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">with-eval-after-load</span> <span style="color:#19177c">&#39;org-journal</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">&#34;ojd&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/org-review-daily</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">&#34;ojd&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/org-review-daily</span>))
</span></span></code></pre></div><h5 id="zk-review">ZK review</h5>
<p>Mostly incorporating or discarding my fleeting notes here.</p>
<p>This function formats the list of notes to review:</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/org-review-org-roam-format-zk-before</span> (<span style="color:#19177c">date</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">data</span> (<span style="color:#19177c">my/org-review--org-roam-get-changes</span> <span style="color:#19177c">date</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-inbox</span> (<span style="color:#00f">nth</span> <span style="color:#666">0</span> <span style="color:#19177c">data</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-fleeting</span> (<span style="color:#00f">nth</span> <span style="color:#666">1</span> <span style="color:#19177c">data</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">changed-permanent</span> (<span style="color:#00f">nth</span> <span style="color:#666">2</span> <span style="color:#19177c">data</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> <span style="color:#19177c">changed-inbox</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Process these changes in inbox:\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-inbox</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">change</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- [ ] %s :: %s\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cond</span>
</span></span><span style="display:flex;"><span> ((<span style="color:#008000">or</span> (<span style="color:#00f">member</span> (<span style="color:#00f">car</span> <span style="color:#19177c">change</span>) <span style="color:#666">&#39;</span>(<span style="color:#19177c">deleted</span> <span style="color:#19177c">moved</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string-match-p</span> <span style="color:#ba2121">&#34;figured-out&#34;</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">change</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Processed&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#800">t</span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">change</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">change</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\n&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> <span style="color:#19177c">changed-fleeting</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Process these fleeting notes:\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-fleeting</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- [ ] %s :: [[id:%s][%s]]\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-id</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\n&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> <span style="color:#19177c">changed-permanent</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Check these changes in permanent notes:\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">thread-last</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">changed-permanent</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">c</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;- [ ] %s :: [[id:%s][%s]]\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">capitalize</span> (<span style="color:#00f">symbol-name</span> (<span style="color:#00f">car</span> <span style="color:#19177c">c</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-id</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-node-title</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">c</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">apply</span> <span style="color:#00f">#&#39;concat</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">defun</span> <span style="color:#19177c">my/org-review-org-roam-finish</span> (<span style="color:#19177c">date</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-roam-db-sync</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-back-to-heading</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">replace-regexp</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">rx</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;:BEGIN_REVIEW:&#34;</span> (<span style="color:#00f">*</span> <span style="color:#19177c">anything</span>) <span style="color:#ba2121">&#34;:END_REVIEW:&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string-trim</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/org-review-org-roam-format</span> <span style="color:#19177c">date</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">defun</span> <span style="color:#19177c">my/org-review-set-zk-record</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">last-review-date</span> (<span style="color:#19177c">my/org-review-get-last-review-date</span> <span style="color:#19177c">&#39;zk</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-tags-prop-apply-delta</span> <span style="color:#008000">:add</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;review.zk&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;Zettelkasten Review&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">goto-char</span> (<span style="color:#00f">point-max</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;Last review date: &#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format-time-string</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;[%Y-%m-%d]&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seconds-to-time</span> <span style="color:#19177c">last-review-date</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">insert</span> <span style="color:#ba2121">&#34;\n\n:BEGIN_REVIEW:\n&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Process all the required categories in this block, then execute \&#34;Finish review\&#34;.\n\n&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">string-trim</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/org-review-org-roam-format-zk-before</span> <span style="color:#19177c">last-review-date</span>))
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\n\n[[elisp:(my/org-review-org-roam-finish \&#34;&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format-time-string</span> <span style="color:#ba2121">&#34;%Y-%m-%d&#34;</span> <span style="color:#19177c">last-review-date</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\&#34;)][Finish review]]&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;\n:END_REVIEW:\n&#34;</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">defun</span> <span style="color:#19177c">my/org-review-zk</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">org-journal-after-entry-create-hook</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>(<span style="color:#666">,@</span><span style="color:#19177c">org-journal-after-entry-create-hook</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">my/org-review-set-zk-record</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-journal-new-entry</span> <span style="color:#800">nil</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-fold-show-subtree</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;org-journal</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my-leader-def</span> <span style="color:#ba2121">&#34;ojz&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/org-review-zk</span>))
</span></span></code></pre></div><h4 id="contacts">Contacts</h4> </span></span></code></pre></div><h4 id="contacts">Contacts</h4>
<p><code>org-contacts</code> is a package to store contacts in an org file.</p> <p><code>org-contacts</code> is a package to store contacts in an org file.</p>
<p>It seems the package has been somewhat revived in the recent months. It used things like <code>lexical-let</code> when I first found it.</p> <p>It seems the package has been somewhat revived in the recent months. It used things like <code>lexical-let</code> when I first found it.</p>
@ -6845,6 +7036,24 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">file</span> (<span style="color:#008000">ignore-errors</span> (<span style="color:#19177c">dired-get-file-for-visit</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">file</span> (<span style="color:#008000">ignore-errors</span> (<span style="color:#19177c">dired-get-file-for-visit</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">start-process</span> <span style="color:#ba2121">&#34;dired-open&#34;</span> <span style="color:#800">nil</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">start-process</span> <span style="color:#ba2121">&#34;dired-open&#34;</span> <span style="color:#800">nil</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;xdg-open&#34;</span> (<span style="color:#19177c">file-truename</span> <span style="color:#19177c">file</span>))))) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;xdg-open&#34;</span> (<span style="color:#19177c">file-truename</span> <span style="color:#19177c">file</span>)))))
</span></span></code></pre></div><p>Run a command on the marked files. Unlike <code>dired-do-async-shell-command</code>, this uses <code>start-process</code> instead of <code>shell-command</code>, which prevents the output buffer from popping up.</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/dired-do-async-shell-command</span> (<span style="color:#19177c">command</span> <span style="color:#008000">&amp;optional</span> <span style="color:#19177c">arg</span> <span style="color:#19177c">file-list</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">files</span> (<span style="color:#19177c">dired-get-marked-files</span> <span style="color:#800">t</span> <span style="color:#19177c">current-prefix-arg</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#800">t</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span>
</span></span><span style="display:flex;"><span> <span style="color:#408080;font-style:italic">;; Want to give feedback whether this file or marked files are used:</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">dired-read-shell-command</span> <span style="color:#ba2121">&#34;&amp; on %s: &#34;</span> <span style="color:#19177c">current-prefix-arg</span> <span style="color:#19177c">files</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">current-prefix-arg</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">files</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">start-process-shell-command</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;*Dired Command*&#34;</span> <span style="color:#800">nil</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">dired-shell-stuff-it</span> <span style="color:#19177c">command</span> <span style="color:#19177c">file-list</span> <span style="color:#19177c">arg</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;dired</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#00f">insert</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">dired-mode-map</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&amp;&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/dired-do-async-shell-command</span>))
</span></span></code></pre></div><h4 id="bookmarks">Bookmarks</h4> </span></span></code></pre></div><h4 id="bookmarks">Bookmarks</h4>
<p>A simple bookmark list for Dired, mainly to use with TRAMP. I may look into a proper bookmarking system later.</p> <p>A simple bookmark list for Dired, mainly to use with TRAMP. I may look into a proper bookmarking system later.</p>
<p>Bookmarks are listed in the <a href=".emacs.d/private.el">private.el</a> file, which has an expression like this:</p> <p>Bookmarks are listed in the <a href=".emacs.d/private.el">private.el</a> file, which has an expression like this:</p>
@ -6966,7 +7175,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#d2413a;font-weight:bold">user-error</span> <span style="color:#ba2121">&#34;No (non-directory) files selected&#34;</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#d2413a;font-weight:bold">user-error</span> <span style="color:#ba2121">&#34;No (non-directory) files selected&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> <span style="color:#19177c">mastodon-buffer</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> <span style="color:#19177c">mastodon-buffer</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">dolist</span> (<span style="color:#19177c">file</span> <span style="color:#19177c">files</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">dolist</span> (<span style="color:#19177c">file</span> <span style="color:#19177c">files</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">mastodon-toot--attach-media</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">mastodon-toot-attach-media</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">file</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">file</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">read-from-minibuffer</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;Description for %s: &#34;</span> <span style="color:#19177c">file</span>)))))) </span></span><span style="display:flex;"><span> (<span style="color:#00f">read-from-minibuffer</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;Description for %s: &#34;</span> <span style="color:#19177c">file</span>))))))
</span></span></code></pre></div><p>And the keybindings:</p> </span></span></code></pre></div><p>And the keybindings:</p>
@ -8671,15 +8880,15 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">motion</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">motion</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">mastodon-mode-map</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">mastodon-mode-map</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;J&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--goto-next-item</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;J&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-goto-next-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;K&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--goto-prev-item</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;K&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-goto-prev-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-j&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--next-tab-item</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-j&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-next-tab-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-k&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--prev-tab-item</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-k&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-prev-tab-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&lt;tab&gt;&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--next-tab-item</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&lt;tab&gt;&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-next-tab-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&lt;backtab&gt;&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--previous-tab-item</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;&lt;backtab&gt;&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-previous-tab-item</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;o&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/mastodon-toot</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;o&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/mastodon-toot</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;r&#34;</span> <span style="color:#19177c">&#39;mastodon-tl--update</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;r&#34;</span> <span style="color:#19177c">&#39;mastodon-tl-update</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;c&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl--toggle-spoiler-text-in-toot</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;c&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">mastodon-tl-toggle-spoiler-text-in-toot</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">kill-current-buffer</span>)) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">kill-current-buffer</span>))
</span></span></code></pre></div><h5 id="modeline-segment">Modeline segment</h5> </span></span></code></pre></div><h5 id="modeline-segment">Modeline segment</h5>
<p>This is my attempt to make a modeline indicator for new mastodon notifications.</p> <p>This is my attempt to make a modeline indicator for new mastodon notifications.</p>
@ -8819,11 +9028,11 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/mastodon-tl--get-home</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/mastodon-tl--get-home</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-contains-p</span> <span style="color:#19177c">args</span> <span style="color:#ba2121">&#34;--hide-replies&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-contains-p</span> <span style="color:#19177c">args</span> <span style="color:#ba2121">&#34;--hide-replies&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-contains-p</span> <span style="color:#19177c">args</span> <span style="color:#ba2121">&#34;--hide-boosts&#34;</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">seq-contains-p</span> <span style="color:#19177c">args</span> <span style="color:#ba2121">&#34;--hide-boosts&#34;</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;l&#34;</span> <span style="color:#ba2121">&#34;Local&#34;</span> <span style="color:#19177c">mastodon-tl--get-local-timeline</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;l&#34;</span> <span style="color:#ba2121">&#34;Local&#34;</span> <span style="color:#19177c">mastodon-tl-get-local-timeline</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;f&#34;</span> <span style="color:#ba2121">&#34;Federated&#34;</span> <span style="color:#19177c">mastodon-tl--get-federated-timeline</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;f&#34;</span> <span style="color:#ba2121">&#34;Federated&#34;</span> <span style="color:#19177c">mastodon-tl-get-federated-timeline</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;g&#34;</span> <span style="color:#ba2121">&#34;One tag&#34;</span> <span style="color:#19177c">mastodon-tl--get-tag-timeline</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;g&#34;</span> <span style="color:#ba2121">&#34;One tag&#34;</span> <span style="color:#19177c">mastodon-tl-get-tag-timeline</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;a&#34;</span> <span style="color:#ba2121">&#34;Followed tags&#34;</span> <span style="color:#19177c">mastodon-tl--followed-tags-timeline</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;a&#34;</span> <span style="color:#ba2121">&#34;Followed tags&#34;</span> <span style="color:#19177c">mastodon-tl-followed-tags-timeline</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#ba2121">&#34;Some followed tags&#34;</span> <span style="color:#19177c">mastodon-tl--some-followed-tags-timeline</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#ba2121">&#34;Some followed tags&#34;</span> <span style="color:#19177c">mastodon-tl-some-followed-tags-timeline</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Misc&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Misc&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#ba2121">&#34;Quit&#34;</span> <span style="color:#19177c">transient-quit-one</span>)])) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#ba2121">&#34;Quit&#34;</span> <span style="color:#19177c">transient-quit-one</span>)]))
@ -8839,26 +9048,26 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;m&#34;</span> <span style="color:#ba2121">&#34;Mastodon&#34;</span> <span style="color:#19177c">mastodon</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;m&#34;</span> <span style="color:#ba2121">&#34;Mastodon&#34;</span> <span style="color:#19177c">mastodon</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;t&#34;</span> <span style="color:#ba2121">&#34;Timelines&#34;</span> <span style="color:#19177c">my/mastodon-tl</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;t&#34;</span> <span style="color:#ba2121">&#34;Timelines&#34;</span> <span style="color:#19177c">my/mastodon-tl</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;n&#34;</span> <span style="color:#ba2121">&#34;Notifications&#34;</span> <span style="color:#19177c">mastodon-notifications-get</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;n&#34;</span> <span style="color:#ba2121">&#34;Notifications&#34;</span> <span style="color:#19177c">mastodon-notifications-get</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#ba2121">&#34;Search query&#34;</span> <span style="color:#19177c">mastodon-search--query</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;s&#34;</span> <span style="color:#ba2121">&#34;Search query&#34;</span> <span style="color:#19177c">mastodon-search-query</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Tags&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Tags&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;aa&#34;</span> <span style="color:#ba2121">&#34;Followed tags&#34;</span> <span style="color:#19177c">mastodon-tl--list-followed-tags</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;aa&#34;</span> <span style="color:#ba2121">&#34;Followed tags&#34;</span> <span style="color:#19177c">mastodon-tl-list-followed-tags</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;af&#34;</span> <span style="color:#ba2121">&#34;Follow tag&#34;</span> <span style="color:#19177c">mastodon-tl--follow-tag</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;af&#34;</span> <span style="color:#ba2121">&#34;Follow tag&#34;</span> <span style="color:#19177c">mastodon-tl-follow-tag</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;aF&#34;</span> <span style="color:#ba2121">&#34;Unfollow tag&#34;</span> <span style="color:#19177c">mastodon-tl--unfollow-tag</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;aF&#34;</span> <span style="color:#ba2121">&#34;Unfollow tag&#34;</span> <span style="color:#19177c">mastodon-tl-unfollow-tag</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Own profile&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Own profile&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;c&#34;</span> <span style="color:#ba2121">&#34;Toot&#34;</span> <span style="color:#19177c">mastodon-toot</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;c&#34;</span> <span style="color:#ba2121">&#34;Toot&#34;</span> <span style="color:#19177c">mastodon-toot</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;o&#34;</span> <span style="color:#ba2121">&#34;My profile&#34;</span> <span style="color:#19177c">mastodon-profile--my-profile</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;o&#34;</span> <span style="color:#ba2121">&#34;My profile&#34;</span> <span style="color:#19177c">mastodon-profile-my-profile</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;u&#34;</span> <span style="color:#ba2121">&#34;Update profile note&#34;</span> <span style="color:#19177c">mastodon-profile--update-user-profile-note</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;u&#34;</span> <span style="color:#ba2121">&#34;Update profile note&#34;</span> <span style="color:#19177c">mastodon-profile-update-user-profile-note</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;f&#34;</span> <span style="color:#ba2121">&#34;Favourites&#34;</span> <span style="color:#19177c">mastodon-profile--view-favourites</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;f&#34;</span> <span style="color:#ba2121">&#34;Favourites&#34;</span> <span style="color:#19177c">mastodon-profile-view-favourites</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;b&#34;</span> <span style="color:#ba2121">&#34;Bookmarks&#34;</span> <span style="color:#19177c">mastodon-profile--view-bookmarks</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;b&#34;</span> <span style="color:#ba2121">&#34;Bookmarks&#34;</span> <span style="color:#19177c">mastodon-profile-view-bookmarks</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Minor views&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Minor views&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;F&#34;</span> <span style="color:#ba2121">&#34;Follow requests&#34;</span> <span style="color:#19177c">mastodon-views--view-follow-requests</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;F&#34;</span> <span style="color:#ba2121">&#34;Follow requests&#34;</span> <span style="color:#19177c">mastodon-views-view-follow-requests</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;S&#34;</span> <span style="color:#ba2121">&#34;Scheduled toots&#34;</span> <span style="color:#19177c">mastodon-views--view-scheduled-toots</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;S&#34;</span> <span style="color:#ba2121">&#34;Scheduled toots&#34;</span> <span style="color:#19177c">mastodon-views-view-scheduled-toots</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;I&#34;</span> <span style="color:#ba2121">&#34;Filters&#34;</span> <span style="color:#19177c">mastodon-views--view-filters</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;I&#34;</span> <span style="color:#ba2121">&#34;Filters&#34;</span> <span style="color:#19177c">mastodon-views-view-filters</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;G&#34;</span> <span style="color:#ba2121">&#34;Follow suggestions&#34;</span> <span style="color:#19177c">mastodon-views--view-follow-suggestions</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;G&#34;</span> <span style="color:#ba2121">&#34;Follow suggestions&#34;</span> <span style="color:#19177c">mastodon-views-view-follow-suggestions</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;L&#34;</span> <span style="color:#ba2121">&#34;Lists&#34;</span> <span style="color:#19177c">mastodon-views--view-lists</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;L&#34;</span> <span style="color:#ba2121">&#34;Lists&#34;</span> <span style="color:#19177c">mastodon-views-view-lists</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Misc&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Misc&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;/&#34;</span> <span style="color:#ba2121">&#34;Switch to buffer&#34;</span> <span style="color:#19177c">mastodon-switch-to-buffer</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;/&#34;</span> <span style="color:#ba2121">&#34;Switch to buffer&#34;</span> <span style="color:#19177c">mastodon-switch-to-buffer</span>)
@ -8886,53 +9095,53 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">browse-url</span> <span style="color:#19177c">url</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">browse-url</span> <span style="color:#19177c">url</span>)))
</span></span></code></pre></div><p>And the prefix itself:</p> </span></span></code></pre></div><p>And the prefix itself:</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">with-eval-after-load</span> <span style="color:#19177c">&#39;mastodon</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:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;mastodon</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-toot--toggle-boost</span> <span style="color:#ba2121">&#34;Toggle boost for this post? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-toot-toggle-boost</span> <span style="color:#ba2121">&#34;Toggle boost for this post? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-toot--toggle-favourite</span> <span style="color:#ba2121">&#34;Toggle favourite this post? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-toot-toggle-favourite</span> <span style="color:#ba2121">&#34;Toggle favourite this post? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-toot--toggle-bookmark</span> <span style="color:#ba2121">&#34;Toggle bookmark this post? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-toot-toggle-bookmark</span> <span style="color:#ba2121">&#34;Toggle bookmark this post? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--follow-user</span> <span style="color:#ba2121">&#34;Follow this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-follow-user</span> <span style="color:#ba2121">&#34;Follow this user? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--unfollow-user</span> <span style="color:#ba2121">&#34;Unfollow this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-unfollow-user</span> <span style="color:#ba2121">&#34;Unfollow this user? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--block-user</span> <span style="color:#ba2121">&#34;Block this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-block-user</span> <span style="color:#ba2121">&#34;Block this user? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--unblock-user</span> <span style="color:#ba2121">&#34;Unblock this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-unblock-user</span> <span style="color:#ba2121">&#34;Unblock this user? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--mute-user</span> <span style="color:#ba2121">&#34;Mute this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-mute-user</span> <span style="color:#ba2121">&#34;Mute this user? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--unmute-user</span> <span style="color:#ba2121">&#34;Unmute this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-unmute-user</span> <span style="color:#ba2121">&#34;Unmute this user? &#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl--unmute-user</span> <span style="color:#ba2121">&#34;Unmute this user? &#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/def-confirmer</span> <span style="color:#19177c">mastodon-tl-unmute-user</span> <span style="color:#ba2121">&#34;Unmute this user? &#34;</span>)
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">transient-define-prefix</span> <span style="color:#19177c">my/mastodon-toot</span> () </span></span><span style="display:flex;"><span> (<span style="color:#19177c">transient-define-prefix</span> <span style="color:#19177c">my/mastodon-toot</span> ()
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Mastodon toot actions.&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Mastodon toot actions.&#34;</span>
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;View&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;View&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;o&#34;</span> <span style="color:#ba2121">&#34;Thread&#34;</span> <span style="color:#19177c">mastodon-tl--thread</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;o&#34;</span> <span style="color:#ba2121">&#34;Thread&#34;</span> <span style="color:#19177c">mastodon-tl-thread</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;w&#34;</span> <span style="color:#ba2121">&#34;Browser&#34;</span> <span style="color:#19177c">my/mastodon-toot--browse</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;w&#34;</span> <span style="color:#ba2121">&#34;Browser&#34;</span> <span style="color:#19177c">my/mastodon-toot--browse</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;le&#34;</span> <span style="color:#ba2121">&#34;List edits&#34;</span> <span style="color:#19177c">mastodon-toot--view-toot-edits</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;le&#34;</span> <span style="color:#ba2121">&#34;List edits&#34;</span> <span style="color:#19177c">mastodon-toot-view-toot-edits</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;lf&#34;</span> <span style="color:#ba2121">&#34;List favouriters&#34;</span> <span style="color:#19177c">mastodon-toot--list-favouriters</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;lf&#34;</span> <span style="color:#ba2121">&#34;List favouriters&#34;</span> <span style="color:#19177c">mastodon-toot-list-favouriters</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;lb&#34;</span> <span style="color:#ba2121">&#34;List boosters&#34;</span> <span style="color:#19177c">mastodon-toot--list-boosters</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;lb&#34;</span> <span style="color:#ba2121">&#34;List boosters&#34;</span> <span style="color:#19177c">mastodon-toot-list-boosters</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Toot Actions&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Toot Actions&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;r&#34;</span> <span style="color:#ba2121">&#34;Reply&#34;</span> <span style="color:#19177c">mastodon-toot--reply</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;r&#34;</span> <span style="color:#ba2121">&#34;Reply&#34;</span> <span style="color:#19177c">mastodon-toot-reply</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;v&#34;</span> <span style="color:#ba2121">&#34;Vote&#34;</span> <span style="color:#19177c">mastodon-tl--poll-vote</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;v&#34;</span> <span style="color:#ba2121">&#34;Vote&#34;</span> <span style="color:#19177c">mastodon-tl-poll-vote</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;b&#34;</span> <span style="color:#ba2121">&#34;Boost&#34;</span> <span style="color:#19177c">my/mastodon-toot--toggle-boost-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;b&#34;</span> <span style="color:#ba2121">&#34;Boost&#34;</span> <span style="color:#19177c">my/mastodon-toot--toggle-boost-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;f&#34;</span> <span style="color:#ba2121">&#34;Favourite&#34;</span> <span style="color:#19177c">my/mastodon-toot--toggle-favourite-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;f&#34;</span> <span style="color:#ba2121">&#34;Favourite&#34;</span> <span style="color:#19177c">my/mastodon-toot--toggle-favourite-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;k&#34;</span> <span style="color:#ba2121">&#34;Bookmark&#34;</span> <span style="color:#19177c">my/mastodon-toot--toggle-bookmark-confirm</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;k&#34;</span> <span style="color:#ba2121">&#34;Bookmark&#34;</span> <span style="color:#19177c">my/mastodon-toot--toggle-bookmark-confirm</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;My Toot Actions&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;My Toot Actions&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;md&#34;</span> <span style="color:#ba2121">&#34;Delete&#34;</span> <span style="color:#19177c">mastodon-toot--delete-toot</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;md&#34;</span> <span style="color:#ba2121">&#34;Delete&#34;</span> <span style="color:#19177c">mastodon-toot-delete-toot</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;mD&#34;</span> <span style="color:#ba2121">&#34;Delete and redraft&#34;</span> <span style="color:#19177c">mastodon-toot--delete-and-redraft-toot</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;mD&#34;</span> <span style="color:#ba2121">&#34;Delete and redraft&#34;</span> <span style="color:#19177c">mastodon-toot-delete-and-redraft-toot</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;mp&#34;</span> <span style="color:#ba2121">&#34;Pin&#34;</span> <span style="color:#19177c">mastodon-toot--pin-toot-toggle</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;mp&#34;</span> <span style="color:#ba2121">&#34;Pin&#34;</span> <span style="color:#19177c">mastodon-toot-pin-toot-toggle</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;me&#34;</span> <span style="color:#ba2121">&#34;Edit&#34;</span> <span style="color:#19177c">mastodon-toot--edit-toot-at-point</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;me&#34;</span> <span style="color:#ba2121">&#34;Edit&#34;</span> <span style="color:#19177c">mastodon-toot-edit-toot-at-point</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Profile Actions&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Profile Actions&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;pp&#34;</span> <span style="color:#ba2121">&#34;Profile&#34;</span> <span style="color:#19177c">mastodon-profile--show-user</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;pp&#34;</span> <span style="color:#ba2121">&#34;Profile&#34;</span> <span style="color:#19177c">mastodon-profile-show-user</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;pf&#34;</span> <span style="color:#ba2121">&#34;List followers&#34;</span> <span style="color:#19177c">mastodon-profile--open-followers</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;pf&#34;</span> <span style="color:#ba2121">&#34;List followers&#34;</span> <span style="color:#19177c">mastodon-profile-open-followers</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;pF&#34;</span> <span style="color:#ba2121">&#34;List following&#34;</span> <span style="color:#19177c">mastodon-profile--open-following</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;pF&#34;</span> <span style="color:#ba2121">&#34;List following&#34;</span> <span style="color:#19177c">mastodon-profile-open-following</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;ps&#34;</span> <span style="color:#ba2121">&#34;List statues (no reblogs)&#34;</span> <span style="color:#19177c">mastodon-profile--open-statuses-no-reblogs</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;ps&#34;</span> <span style="color:#ba2121">&#34;List statues (no reblogs)&#34;</span> <span style="color:#19177c">mastodon-profile-open-statuses-no-reblogs</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;User Actions&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;User Actions&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uf&#34;</span> <span style="color:#ba2121">&#34;Follow user&#34;</span> <span style="color:#19177c">my/mastodon-tl--follow-user-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uf&#34;</span> <span style="color:#ba2121">&#34;Follow user&#34;</span> <span style="color:#19177c">my/mastodon-tl-follow-user-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uF&#34;</span> <span style="color:#ba2121">&#34;Unfollow user&#34;</span> <span style="color:#19177c">my/mastodon-tl--unfollow-user-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uF&#34;</span> <span style="color:#ba2121">&#34;Unfollow user&#34;</span> <span style="color:#19177c">my/mastodon-tl-unfollow-user-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;ub&#34;</span> <span style="color:#ba2121">&#34;Block user&#34;</span> <span style="color:#19177c">my/mastodon-tl--block-user-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;ub&#34;</span> <span style="color:#ba2121">&#34;Block user&#34;</span> <span style="color:#19177c">my/mastodon-tl-block-user-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uB&#34;</span> <span style="color:#ba2121">&#34;Unblock user&#34;</span> <span style="color:#19177c">my/mastodon-tl--unblock-user-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uB&#34;</span> <span style="color:#ba2121">&#34;Unblock user&#34;</span> <span style="color:#19177c">my/mastodon-tl-unblock-user-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;um&#34;</span> <span style="color:#ba2121">&#34;Mute user&#34;</span> <span style="color:#19177c">my/mastodon-tl--mute-user-confirm</span>) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;um&#34;</span> <span style="color:#ba2121">&#34;Mute user&#34;</span> <span style="color:#19177c">my/mastodon-tl-mute-user-confirm</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uB&#34;</span> <span style="color:#ba2121">&#34;Unmute user&#34;</span> <span style="color:#19177c">my/mastodon-tl--unmute-user-confirm</span>)] </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;uB&#34;</span> <span style="color:#ba2121">&#34;Unmute user&#34;</span> <span style="color:#19177c">my/mastodon-tl-unmute-user-confirm</span>)]
</span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Misc&#34;</span> </span></span><span style="display:flex;"><span> [<span style="color:#ba2121">&#34;Misc&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:class</span> <span style="color:#19177c">transient-row</span>
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#ba2121">&#34;Quit&#34;</span> <span style="color:#19177c">transient-quit-one</span>)])) </span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#ba2121">&#34;Quit&#34;</span> <span style="color:#19177c">transient-quit-one</span>)]))
@ -8940,8 +9149,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
<p><a href="https://github.com/wallabag/wallabag">wallabag</a> is a self-hosted &ldquo;read it later&rdquo; app.</p> <p><a href="https://github.com/wallabag/wallabag">wallabag</a> is a self-hosted &ldquo;read it later&rdquo; app.</p>
<p>This might be the best online reading advice I&rsquo;ve heard:</p> <p>This might be the best online reading advice I&rsquo;ve heard:</p>
<blockquote> <blockquote>
<p>I have a different approach: waiting periods. Every time I come across something I may want to read/watch, Im totally allowed to. No limits! The only requirement is I have to save it to Pocket, and then choose to consume it at a later time.</p> <p>I have a different approach: waiting periods. Every time I come across something I may want to read/watch, Im totally allowed to. No limits! The only requirement is I have to save it to Pocket, and then choose to consume it at a later time.</p></blockquote>
</blockquote>
<p>Source: <a href="https://fortelabs.com/blog/the-secret-power-of-read-it-later-apps/">Tiago Forte - The Secret Power of Read It Later Apps</a></p> <p>Source: <a href="https://fortelabs.com/blog/the-secret-power-of-read-it-later-apps/">Tiago Forte - The Secret Power of Read It Later Apps</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">use-package</span> <span style="color:#19177c">wallabag</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:#008000">use-package</span> <span style="color:#19177c">wallabag</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:host</span> <span style="color:#19177c">github</span> <span style="color:#008000">:repo</span> <span style="color:#ba2121">&#34;chenyanming/wallabag.el&#34;</span> <span style="color:#008000">:files</span> (<span style="color:#008000">:defaults</span> <span style="color:#ba2121">&#34;default.css&#34;</span> <span style="color:#ba2121">&#34;emojis.alist&#34;</span>)) </span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:host</span> <span style="color:#19177c">github</span> <span style="color:#008000">:repo</span> <span style="color:#ba2121">&#34;chenyanming/wallabag.el&#34;</span> <span style="color:#008000">:files</span> (<span style="color:#008000">:defaults</span> <span style="color:#ba2121">&#34;default.css&#34;</span> <span style="color:#ba2121">&#34;emojis.alist&#34;</span>))
@ -9086,8 +9294,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
<p>Scroll to the previous mention.</p> <p>Scroll to the previous mention.</p>
<blockquote> <blockquote>
<p>alphapapa 🐃​&gt; And, yes, that is a currently unsolved problem. As I said, in the future we can try using a different API endpoint to access those notifications similarly to Element. In the meantime, you can load old messages (e.g. &ldquo;C-u 1000 M-v&rdquo; to load 1000 old ones at a time), until you find it, maybe using &ldquo;C-s sqrtm&rdquo; to search for messages mentioning you.</p> <p>alphapapa 🐃​&gt; And, yes, that is a currently unsolved problem. As I said, in the future we can try using a different API endpoint to access those notifications similarly to Element. In the meantime, you can load old messages (e.g. &ldquo;C-u 1000 M-v&rdquo; to load 1000 old ones at a time), until you find it, maybe using &ldquo;C-s sqrtm&rdquo; to search for messages mentioning you.</p>
<p>Or you can load up Element for a moment to see what the mention was, if that&rsquo;s easier.</p> <p>Or you can load up Element for a moment to see what the mention was, if that&rsquo;s easier.</p></blockquote>
</blockquote>
<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/ement-about-me-p</span> (<span style="color:#19177c">event</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:#008000">defun</span> <span style="color:#19177c">my/ement-about-me-p</span> (<span style="color:#19177c">event</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">me</span> (<span style="color:#19177c">ement-user-id</span> (<span style="color:#19177c">ement-session-user</span> <span style="color:#19177c">ement-session</span>)))) </span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">me</span> (<span style="color:#19177c">ement-user-id</span> (<span style="color:#19177c">ement-session-user</span> <span style="color:#19177c">ement-session</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">or</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">or</span>
@ -9150,15 +9357,17 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-button-active</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;base0</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-button-active</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;base0</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:background</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;cyan</span>)) </span></span><span style="display:flex;"><span> <span style="color:#008000">:background</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;cyan</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-webpage-chat-link</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;base0</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-webpage-chat-link</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;base0</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:background</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;fg</span>))) </span></span><span style="display:flex;"><span> <span style="color:#008000">:background</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;fg</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-entity-type-spoiler</span> <span style="color:#008000">:background</span> (<span style="color:#19177c">my/color-value</span> <span style="color:#19177c">&#39;base8</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#00f">file-directory-p</span> <span style="color:#ba2121">&#34;~/.guix-extra-profiles/emacs/&#34;</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:#ba2121">&#34;~/.guix-extra-profiles/emacs/emacs/bin/telega-server&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-server-command</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-server-command</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">expand-file-name</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">expand-file-name</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;~/.guix-extra-profiles/emacs/emacs/bin/telega-server&#34;</span>))) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;~/.guix-extra-profiles/emacs/emacs/bin/telega-server&#34;</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-emoji-use-images</span> <span style="color:#800">nil</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-emoji-use-images</span> <span style="color:#800">nil</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-chat-fill-column</span> <span style="color:#666">80</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-chat-fill-column</span> <span style="color:#666">80</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-completing-read-function</span> <span style="color:#00f">#&#39;completing-read</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-completing-read-function</span> <span style="color:#00f">#&#39;completing-read</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">telega-sticker-size</span> <span style="color:#666">&#39;</span>(<span style="color:#666">12</span> <span style="color:#666">.</span> <span style="color:#666">24</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> <span style="color:#19177c">&#39;savehist-additional-variables</span> <span style="color:#19177c">&#39;telega-msg-add-reaction</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> <span style="color:#19177c">&#39;savehist-additional-variables</span> <span style="color:#19177c">&#39;telega-msg-add-reaction</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">remove-hook</span> <span style="color:#19177c">&#39;telega-chat-mode-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">telega-chat-auto-fill-mode</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">remove-hook</span> <span style="color:#19177c">&#39;telega-chat-mode-hook</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">telega-chat-auto-fill-mode</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
@ -9456,13 +9665,19 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> <span style="color:#008000">:commands</span> (<span style="color:#19177c">gptel</span> <span style="color:#19177c">gptel-send</span> <span style="color:#19177c">gptel-menu</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">:commands</span> (<span style="color:#19177c">gptel</span> <span style="color:#19177c">gptel-send</span> <span style="color:#19177c">gptel-menu</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">gptel-mode</span> <span style="color:#ba2121">&#34;llama3:latest&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">gptel-mode</span> <span style="color:#ba2121">&#34;llama3:latest&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">gptel-backend</span> (<span style="color:#19177c">gptel-make-ollama</span> <span style="color:#ba2121">&#34;Ollama&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">gptel-track-media</span> <span style="color:#800">t</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">gptel-backend</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">gptel-make-ollama</span> <span style="color:#ba2121">&#34;Ollama&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:host</span> <span style="color:#ba2121">&#34;localhost:11434&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:host</span> <span style="color:#ba2121">&#34;localhost:11434&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:stream</span> <span style="color:#800">t</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:stream</span> <span style="color:#800">t</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:models</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;llama3.1:8b&#34;</span> <span style="color:#ba2121">&#34;deepseek-r1:32b&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:models</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;llama3.1:8b&#34;</span> <span style="color:#ba2121">&#34;deepseek-r1:32b&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;qwen2.5:32b&#34;</span> <span style="color:#ba2121">&#34;qwen2.5-coder:32b&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;qwen2.5:32b&#34;</span> <span style="color:#ba2121">&#34;qwen2.5-coder:32b&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;eva-qwen2.5-q4_k_l-32b:latest&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;eva-qwen2.5-q4_k_l-32b:latest&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;t-pro-1.0-q4_k_m:latest&#34;</span>))) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;t-pro-1.0-q4_k_m:latest&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;qwq:32b&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">gemma3:32b</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:capabilities</span> (<span style="color:#19177c">media</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:mime-types</span> (<span style="color:#ba2121">&#34;image/jpeg&#34;</span> <span style="color:#ba2121">&#34;image/png&#34;</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">gptel-make-openai</span> <span style="color:#ba2121">&#34;OpenRouter&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">gptel-make-openai</span> <span style="color:#ba2121">&#34;OpenRouter&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:host</span> <span style="color:#ba2121">&#34;openrouter.ai/api&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:host</span> <span style="color:#ba2121">&#34;openrouter.ai/api&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:key</span> (<span style="color:#008000">lambda</span> () (<span style="color:#19177c">my/password-store-get-field</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:key</span> (<span style="color:#008000">lambda</span> () (<span style="color:#19177c">my/password-store-get-field</span>
@ -10309,8 +10524,9 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> <span style="color:#666">`</span>((<span style="color:#19177c">path</span> <span style="color:#666">.</span> <span style="color:#666">,</span>(<span style="color:#008000">if</span> (<span style="color:#00f">file-directory-p</span> <span style="color:#19177c">localpath</span>) </span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> <span style="color:#666">`</span>((<span style="color:#19177c">path</span> <span style="color:#666">.</span> <span style="color:#666">,</span>(<span style="color:#008000">if</span> (<span style="color:#00f">file-directory-p</span> <span style="color:#19177c">localpath</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">localpath</span> <span style="color:#ba2121">&#34;/&#34;</span>) </span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> <span style="color:#19177c">localpath</span> <span style="color:#ba2121">&#34;/&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">localpath</span>)) </span></span><span style="display:flex;"><span> <span style="color:#19177c">localpath</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">enabled</span> <span style="color:#666">.</span> <span style="color:#666">,</span>(<span style="color:#00f">string-equal</span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">&#39;ACTIVE</span> <span style="color:#19177c">value</span>) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">enabled</span> <span style="color:#666">.</span> <span style="color:#666">,</span>(<span style="color:#19177c">seq-contains-p</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Enabled&#34;</span>)))))) </span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;Pending&#34;</span> <span style="color:#ba2121">&#34;Loading&#34;</span> <span style="color:#ba2121">&#34;Running&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">&#39;RUN_STATE</span> <span style="color:#19177c">value</span>)))))))
</span></span></code></pre></div><p>And get the same data from the tree.</p> </span></span></code></pre></div><p>And get the same data from the tree.</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/index--tree-get-paths</span> (<span style="color:#19177c">tree</span> <span style="color:#008000">&amp;optional</span> <span style="color:#19177c">kind</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:#008000">defun</span> <span style="color:#19177c">my/index--tree-get-paths</span> (<span style="color:#19177c">tree</span> <span style="color:#008000">&amp;optional</span> <span style="color:#19177c">kind</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Get paths from TREE. </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Get paths from TREE.
@ -10352,7 +10568,7 @@ Didn&rsquo;t work out as I expected, so I&rsquo;ve made <code>org-journal-tags</
</span></span><span style="display:flex;"><span> (<span style="color:#00f">append</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">append</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">cl-loop</span> <span style="color:#19177c">for</span> <span style="color:#19177c">path</span> <span style="color:#19177c">in</span> (<span style="color:#19177c">seq-difference</span> <span style="color:#19177c">mega-paths-to-enable</span> <span style="color:#19177c">mega-paths-enabled</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">cl-loop</span> <span style="color:#19177c">for</span> <span style="color:#19177c">path</span> <span style="color:#19177c">in</span> (<span style="color:#19177c">seq-difference</span> <span style="color:#19177c">mega-paths-to-enable</span> <span style="color:#19177c">mega-paths-enabled</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">if</span> (<span style="color:#19177c">seq-contains-p</span> <span style="color:#19177c">mega-paths-disabled</span> <span style="color:#19177c">path</span>) </span></span><span style="display:flex;"><span> <span style="color:#008000">if</span> (<span style="color:#19177c">seq-contains-p</span> <span style="color:#19177c">mega-paths-disabled</span> <span style="color:#19177c">path</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> (<span style="color:#00f">list</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;mega-sync -e \&#34;%s\&#34;&#34;</span> <span style="color:#19177c">path</span>) <span style="color:#ba2121">&#34;Mega enable sync&#34;</span> <span style="color:#666">5</span>) </span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> (<span style="color:#00f">list</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;mega-sync -r \&#34;%s\&#34;&#34;</span> <span style="color:#19177c">path</span>) <span style="color:#ba2121">&#34;Mega enable sync&#34;</span> <span style="color:#666">5</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">else</span> <span style="color:#00f">append</span> (<span style="color:#00f">list</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">else</span> <span style="color:#00f">append</span> (<span style="color:#00f">list</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;mega-mkdir -p \&#34;%s\&#34;&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;mega-mkdir -p \&#34;%s\&#34;&#34;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/index--mega-local-path</span> <span style="color:#19177c">path</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/index--mega-local-path</span> <span style="color:#19177c">path</span>))
@ -11406,6 +11622,7 @@ I&rsquo;ve seen a couple of cases where people would swap their username and ema
<li><a href="#snippets">Snippets</a></li> <li><a href="#snippets">Snippets</a></li>
<li><a href="#input-method">Input Method</a></li> <li><a href="#input-method">Input Method</a></li>
<li><a href="#other-small-packages">Other small packages</a></li> <li><a href="#other-small-packages">Other small packages</a></li>
<li><a href="#random-editing-tricks">Random editing tricks</a></li>
</ul> </ul>
</li> </li>
<li><a href="#working-with-projects">Working with projects</a> <li><a href="#working-with-projects">Working with projects</a>

File diff suppressed because one or more lines are too long

View file

@ -75,7 +75,6 @@
Mail Mail
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe> <iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=dotfiles&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1> </h1>
<p>:TOC: :include all :depth 3</p>
<p>My email configration. Currently I use <a href="https://github.com/gauteh/lieer">lieer</a> to fetch emails from Gmail, <a href="http://davmail.sourceforge.net/">davmail</a> &amp; <a href="http://www.offlineimap.org/">offlineimap</a> to fetch emails from MS Exchange, <a href="https://notmuchmail.org/">notmuch</a> to index, <a href="https://marlam.de/msmtp/">msmtp</a> to send emails. Also using notmuch frontend from Emacs.</p> <p>My email configration. Currently I use <a href="https://github.com/gauteh/lieer">lieer</a> to fetch emails from Gmail, <a href="http://davmail.sourceforge.net/">davmail</a> &amp; <a href="http://www.offlineimap.org/">offlineimap</a> to fetch emails from MS Exchange, <a href="https://notmuchmail.org/">notmuch</a> to index, <a href="https://marlam.de/msmtp/">msmtp</a> to send emails. Also using notmuch frontend from Emacs.</p>
<p>My problem with any particular mail setup was that I use Gmail labels quite extensively, and handling these over IMAP is rather awkward. Notmuch seems to be the only software that provides the same first-class support for labels.</p> <p>My problem with any particular mail setup was that I use Gmail labels quite extensively, and handling these over IMAP is rather awkward. Notmuch seems to be the only software that provides the same first-class support for labels.</p>
<p>But I also have an Exchange account, with which I communicate via IMAP/SMTP adapter, and in this case, I synchronize notmuch tags and IMAP folders.</p> <p>But I also have an Exchange account, with which I communicate via IMAP/SMTP adapter, and in this case, I synchronize notmuch tags and IMAP folders.</p>
@ -147,12 +146,16 @@
</span></span></code></pre></div><p><a id="code-snippet--mail-password"></a></p> </span></span></code></pre></div><p><a id="code-snippet--mail-password"></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>pass show Job/Digital/Email/pvkorytov@etu.ru | head -n <span style="color:#666">1</span> <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>pass show Job/Digital/Email/pvkorytov@etu.ru | head -n <span style="color:#666">1</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-ini" data-lang="ini"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[general]</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-ini" data-lang="ini"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[general]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">accounts</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">accounts</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov,pvkorytov-mbox</span>
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Account pvkorytov]</span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Account pvkorytov]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">localrepository</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov-local</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">localrepository</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov-local</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">remoterepository</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov-remote</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">remoterepository</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov-remote</span>
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Account pvkorytov-mbox]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">localrepository</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov-mbox-local</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">remoterepository</span> <span style="color:#666">=</span> <span style="color:#ba2121">pvkorytov-mbox-remote</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Repository pvkorytov-local]</span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Repository pvkorytov-local]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">type</span> <span style="color:#666">=</span> <span style="color:#ba2121">Maildir</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">type</span> <span style="color:#666">=</span> <span style="color:#ba2121">Maildir</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">localfolders</span> <span style="color:#666">=</span> <span style="color:#ba2121">~/Mail/pvkorytov_etu/</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">localfolders</span> <span style="color:#666">=</span> <span style="color:#ba2121">~/Mail/pvkorytov_etu/</span>
@ -166,6 +169,18 @@
</span></span><span style="display:flex;"><span><span style="color:#7d9029">starttls</span> <span style="color:#666">=</span> <span style="color:#ba2121">no</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">starttls</span> <span style="color:#666">=</span> <span style="color:#ba2121">no</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">ssl</span> <span style="color:#666">=</span> <span style="color:#ba2121">no</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">ssl</span> <span style="color:#666">=</span> <span style="color:#ba2121">no</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">sslcacertfile</span> <span style="color:#666">=</span> <span style="color:#ba2121">/etc/ssl/certs/ca-certificates.crt</span> </span></span><span style="display:flex;"><span><span style="color:#7d9029">sslcacertfile</span> <span style="color:#666">=</span> <span style="color:#ba2121">/etc/ssl/certs/ca-certificates.crt</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Repository pvkorytov-mbox-local]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">type</span> <span style="color:#666">=</span> <span style="color:#ba2121">Maildir</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">localfolders</span> <span style="color:#666">=</span> <span style="color:#ba2121">~/Mail/pvkorytov_etu_mbox/</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">[Repository pvkorytov-mbox-remote]</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">type</span> <span style="color:#666">=</span> <span style="color:#ba2121">IMAP</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">remotehost</span> <span style="color:#666">=</span> <span style="color:#ba2121">mbox.etu.ru</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">remoteuser</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;&lt;mail-username()&gt;&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">remotepass</span> <span style="color:#666">=</span> <span style="color:#ba2121">&lt;&lt;mail-password()&gt;&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">remoteport</span> <span style="color:#666">=</span> <span style="color:#ba2121">993</span>
</span></span><span style="display:flex;"><span><span style="color:#7d9029">cert_fingerprint</span> <span style="color:#666">=</span> <span style="color:#ba2121">07bdfab4eaa79f5fc8ab93cd9ad0ba025ea0b4e5</span>
</span></span></code></pre></div><h2 id="notmuch">Notmuch</h2> </span></span></code></pre></div><h2 id="notmuch">Notmuch</h2>
<table> <table>
<thead> <thead>
@ -278,6 +293,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p>&amp;BCMENAQwBDsENQQ9BD0ESwQ1-</p>
<p>And below is a noweb function, which generates the following commands for notmuch to execute:</p> <p>And below is a noweb function, which generates the following commands for notmuch to execute:</p>
<ul> <ul>
<li><em>before</em> sync: <li><em>before</em> sync:
@ -314,23 +330,24 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#19177c">string-empty-p</span> <span style="color:#19177c">remove</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#19177c">string-empty-p</span> <span style="color:#19177c">remove</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;rules</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;rules</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;notmuch tag -%s \&#34;NOT path:%s/%s/cur/** AND tag:%s AND tag:%s\&#34;&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">tag</span> <span style="color:#19177c">root</span> <span style="color:#19177c">folder</span> <span style="color:#19177c">tag</span> <span style="color:#19177c">root_tag</span>) </span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;notmuch tag -%s \&#34;NOT path:%s/%s/cur/** AND path:%s/** AND tag:%s AND tag:%s\&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">tag</span> <span style="color:#19177c">root</span> <span style="color:#19177c">folder</span> <span style="color:#19177c">root</span> <span style="color:#19177c">tag</span> <span style="color:#19177c">root_tag</span>)
</span></span><span style="display:flex;"><span> <span style="color:#800">t</span>)) </span></span><span style="display:flex;"><span> <span style="color:#800">t</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#19177c">string-empty-p</span> <span style="color:#19177c">move</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#19177c">string-empty-p</span> <span style="color:#19177c">move</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;rules</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;rules</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;notmuch search --output=files \&#34;NOT path:%s/%s/cur/** AND tag:%s AND tag:%s\&#34;&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;notmuch search --output=files \&#34;NOT path:%s/%s/cur/** AND path:%s/** AND tag:%s AND tag:%s\&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">root</span> <span style="color:#19177c">folder</span> <span style="color:#19177c">tag</span> <span style="color:#19177c">root_tag</span>) </span></span><span style="display:flex;"><span> <span style="color:#19177c">root</span> <span style="color:#19177c">folder</span> <span style="color:#19177c">root</span> <span style="color:#19177c">tag</span> <span style="color:#19177c">root_tag</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34; | xargs -I ! mv ! %s/%s/%s/cur/&#34;</span> <span style="color:#19177c">my/maildir-root</span> <span style="color:#19177c">root</span> <span style="color:#19177c">folder</span>)) </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34; | xargs -I ! mv ! %s/%s/%s/cur/&#34;</span> <span style="color:#19177c">my/maildir-root</span> <span style="color:#19177c">root</span> <span style="color:#19177c">folder</span>))
</span></span><span style="display:flex;"><span> <span style="color:#800">t</span>)))) </span></span><span style="display:flex;"><span> <span style="color:#800">t</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#19177c">string-empty-p</span> <span style="color:#19177c">archive_root</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#19177c">string-empty-p</span> <span style="color:#19177c">archive_root</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;rules</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;rules</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">concat</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;notmuch search --output=files \&#34;NOT path:%s/%s/cur/** AND %s AND tag:%s\&#34;&#34;</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;notmuch search --output=files \&#34;NOT path:%s/%s/cur/** AND path:%s/** AND %s AND tag:%s\&#34;&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">root</span> <span style="color:#19177c">archive_root</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">root</span> <span style="color:#19177c">archive_root</span> <span style="color:#19177c">root</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapconcat</span> </span></span><span style="display:flex;"><span> (<span style="color:#00f">mapconcat</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">row</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">row</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;NOT tag:%s&#34;</span> (<span style="color:#00f">car</span> <span style="color:#19177c">row</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;NOT tag:%s&#34;</span> (<span style="color:#00f">car</span> <span style="color:#19177c">row</span>)))
@ -345,24 +362,31 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
<p>It isn&rsquo;t necessary to run <code>cd</code> for offlineimap, but it&rsquo;s easier to write that way.</p> <p>It isn&rsquo;t necessary to run <code>cd</code> for offlineimap, but it&rsquo;s easier to write that way.</p>
<p><a id="code-snippet--pre-new-pvkorytov-tags"></a></p> <p><a id="code-snippet--pre-new-pvkorytov-tags"></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:#19177c">my/mail-format-tags-rules</span> <span style="color:#19177c">tags</span> <span style="color:#ba2121">&#34;pvkorytov_etu&#34;</span> <span style="color:#ba2121">&#34;pvkorytov&#34;</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#800">t</span> <span style="color:#ba2121">&#34;Archive&#34;</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">my/mail-format-tags-rules</span> <span style="color:#19177c">tags</span> <span style="color:#ba2121">&#34;pvkorytov_etu&#34;</span> <span style="color:#ba2121">&#34;pvkorytov&#34;</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#800">t</span> <span style="color:#ba2121">&#34;Archive&#34;</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-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#408080;font-style:italic"># GMI=&#34;/home/pavel/Programs/miniconda3/envs/mail/bin/gmi&#34;</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-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#19177c">GMI</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;/home/pavel/Programs/miniconda3/envs/mail/bin/gmi&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#19177c">GMI</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;gmi&#34;</span> </span></span><span style="display:flex;"><span><span style="color:#19177c">GMI</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;gmi&#34;</span>
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Running pre-new filters&#34;</span> </span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Running pre-new filters&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ba2121">&lt;&lt;mail-tags(move=&#34;t&#34;,archive_root=&#34;Archive&#34;)&gt;&gt; </span></span><span style="display:flex;"><span><span style="color:#ba2121">&lt;&lt;mail-tags(move=&#34;t&#34;,archive_root=&#34;Archive&#34;)&gt;&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">echo &#34;Pre-new filters done&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121"> </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">parallel --link -j0 &#34;(cd /home/pavel/Mail/{1}/ &amp;&amp; {2} {3})&#34; ::: thexcloud progin6304 pvkorytov_etu ::: &#34;$GMI&#34; &#34;$GMI&#34; &#34;offlineima</span>p<span style="color:#ba2121">&#34; ::: sync sync &#34;&#34; </span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&lt;&lt;mail</span>-tags<span style="color:#666">(</span><span style="color:#19177c">move</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;t&#34;</span>,archive_root<span style="color:#666">=</span><span style="color:#ba2121">&#34;Archive&#34;</span>,root<span style="color:#666">=</span><span style="color:#ba2121">&#34;pvkorytov_etu_mbox&#34;</span><span style="color:#666">)</span>&gt;&gt;
</span></span></span></code></pre></div><h4 id="post-new"><code>post_new</code></h4> </span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Pre-new filters done&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>parallel --link -j0 <span style="color:#ba2121">&#34;(cd /home/pavel/Mail/{1}/ &amp;&amp; {2} {3})&#34;</span> ::: thexcloud progin6304 pvkorytov_etu ::: <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$GMI</span><span style="color:#ba2121">&#34;</span> <span style="color:#ba2121">&#34;</span><span style="color:#19177c">$GMI</span><span style="color:#ba2121">&#34;</span> <span style="color:#ba2121">&#34;offlineimap&#34;</span> ::: sync sync <span style="color:#ba2121">&#34;&#34;</span>
</span></span></code></pre></div><h4 id="post-new"><code>post_new</code></h4>
<p>And this hook tags different mailboxes with different tags.</p> <p>And this hook tags different mailboxes with different tags.</p>
<p><a id="code-snippet--post-new-pvkorytov-tags"></a></p> <p><a id="code-snippet--post-new-pvkorytov-tags"></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:#19177c">my/mail-format-tags-rules</span> <span style="color:#19177c">tags</span> <span style="color:#ba2121">&#34;pvkorytov_etu&#34;</span> <span style="color:#ba2121">&#34;pvkorytov&#34;</span> <span style="color:#800">t</span> <span style="color:#800">t</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">my/mail-format-tags-rules</span> <span style="color:#19177c">tags</span> <span style="color:#ba2121">&#34;pvkorytov_etu&#34;</span> <span style="color:#ba2121">&#34;pvkorytov&#34;</span> <span style="color:#800">t</span> <span style="color:#800">t</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-bash" data-lang="bash"><span style="display:flex;"><span>notmuch tag +main <span style="color:#ba2121">&#34;path:thexcloud/** AND tag:new&#34;</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-bash" data-lang="bash"><span style="display:flex;"><span>notmuch tag +main <span style="color:#ba2121">&#34;path:thexcloud/** AND tag:new&#34;</span>
</span></span><span style="display:flex;"><span>notmuch tag +progin <span style="color:#ba2121">&#34;path:progin6304/** AND tag:new&#34;</span> </span></span><span style="display:flex;"><span>notmuch tag +progin <span style="color:#ba2121">&#34;path:progin6304/** AND tag:new&#34;</span>
</span></span><span style="display:flex;"><span>notmuch tag +pvkorytov <span style="color:#ba2121">&#34;path:pvkorytov_etu/** AND tag:new&#34;</span> </span></span><span style="display:flex;"><span>notmuch tag +pvkorytov <span style="color:#ba2121">&#34;path:pvkorytov_etu/** AND tag:new&#34;</span>
</span></span><span style="display:flex;"><span>notmuch tag +pvkorytov <span style="color:#ba2121">&#34;path:pvkorytov_etu_mbox/** AND tag:new&#34;</span>
</span></span><span style="display:flex;"><span>notmuch tag +mbox <span style="color:#ba2121">&#34;path:pvkorytov_etu_mbox/** AND tag:new&#34;</span>
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Running post-new filters&#34;</span> </span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Running post-new filters&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ba2121">&lt;&lt;mail-tags(ma</span>ke_tag<span style="color:#666">=</span><span style="color:#ba2121">&#34;t&#34;</span>,remove<span style="color:#666">=</span><span style="color:#ba2121">&#34;t&#34;</span><span style="color:#666">)</span>&gt;&gt; </span></span><span style="display:flex;"><span><span style="color:#ba2121">&lt;&lt;mail-tags(make_tag=&#34;t&#34;,remove=&#34;t&#34;)&gt;&gt;
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">&lt;&lt;mail</span>-tags<span style="color:#666">(</span><span style="color:#19177c">make_tag</span><span style="color:#666">=</span><span style="color:#ba2121">&#34;t&#34;</span>,remove<span style="color:#666">=</span><span style="color:#ba2121">&#34;t&#34;</span>,root<span style="color:#666">=</span><span style="color:#ba2121">&#34;pvkorytov_etu_mbox&#34;</span><span style="color:#666">)</span>&gt;&gt;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Post-new filters done&#34;</span> </span></span><span style="display:flex;"><span><span style="color:#008000">echo</span> <span style="color:#ba2121">&#34;Post-new filters done&#34;</span>
</span></span><span style="display:flex;"><span>notmuch tag -new <span style="color:#ba2121">&#34;tag:new&#34;</span> </span></span><span style="display:flex;"><span>notmuch tag -new <span style="color:#ba2121">&#34;tag:new&#34;</span>
</span></span></code></pre></div><h2 id="sync-script">Sync script</h2> </span></span></code></pre></div><h2 id="sync-script">Sync script</h2>
@ -432,10 +456,11 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
</span></span><span style="display:flex;"><span>passwordeval <span style="color:#ba2121">&#34;pass show My_Online/ETU/progin6304@gmail.com | head -n 1&#34;</span> </span></span><span style="display:flex;"><span>passwordeval <span style="color:#ba2121">&#34;pass show My_Online/ETU/progin6304@gmail.com | head -n 1&#34;</span>
</span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>account pvkorytov </span></span><span style="display:flex;"><span>account pvkorytov
</span></span><span style="display:flex;"><span>tls off </span></span><span style="display:flex;"><span>host mbox.etu.ru
</span></span><span style="display:flex;"><span>auth plain </span></span><span style="display:flex;"><span>port <span style="color:#666">465</span>
</span></span><span style="display:flex;"><span>host localhost </span></span><span style="display:flex;"><span>tls on
</span></span><span style="display:flex;"><span>port <span style="color:#666">1025</span> </span></span><span style="display:flex;"><span>tls_starttls off
</span></span><span style="display:flex;"><span>tls_fingerprint <span style="color:#666">87</span>:<span style="color:#666">1</span>F:<span style="color:#666">17</span>:<span style="color:#666">1</span>C:<span style="color:#666">12</span>:A4:DE:<span style="color:#666">82</span>:<span style="color:#666">6</span>F:CF:E5:E6:<span style="color:#666">9</span>C:EE:F8:<span style="color:#666">0</span>B:D1:<span style="color:#666">7</span>D:B2:<span style="color:#666">00</span>:F9:<span style="color:#666">7</span>B:<span style="color:#666">2</span>C:<span style="color:#666">96</span>:<span style="color:#666">21</span>:<span style="color:#666">65</span>:FA:<span style="color:#666">0</span>A:F5:<span style="color:#666">24</span>:<span style="color:#666">8</span>E:<span style="color:#666">0</span>E
</span></span><span style="display:flex;"><span>from pvkorytov@etu.ru </span></span><span style="display:flex;"><span>from pvkorytov@etu.ru
</span></span><span style="display:flex;"><span>user pvkorytov </span></span><span style="display:flex;"><span>user pvkorytov
</span></span><span style="display:flex;"><span>passwordeval <span style="color:#ba2121">&#34;pass show Job/Digital/Email/pvkorytov@etu.ru | head -n 1&#34;</span> </span></span><span style="display:flex;"><span>passwordeval <span style="color:#ba2121">&#34;pass show Job/Digital/Email/pvkorytov@etu.ru | head -n 1&#34;</span>
@ -482,6 +507,9 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/use-colors</span> </span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/use-colors</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">notmuch-wash-cited-text</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;yellow</span>))) </span></span><span style="display:flex;"><span> (<span style="color:#19177c">notmuch-wash-cited-text</span> <span style="color:#008000">:foreground</span> (<span style="color:#19177c">doom-color</span> <span style="color:#19177c">&#39;yellow</span>)))
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span> </span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">notmuch-fcc-dirs</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">&#39;</span>((<span style="color:#ba2121">&#34;pvkorytov@etu.ru&#34;</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;pvkorytov_etu_mbox/Sent&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#ba2121">&#34;.*&#34;</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;sent&#34;</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">mail-specify-envelope-from</span> <span style="color:#800">t</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">mail-specify-envelope-from</span> <span style="color:#800">t</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">message-sendmail-envelope-from</span> <span style="color:#19177c">&#39;header</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">message-sendmail-envelope-from</span> <span style="color:#19177c">&#39;header</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">mail-envelope-from</span> <span style="color:#19177c">&#39;header</span>) </span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">mail-envelope-from</span> <span style="color:#19177c">&#39;header</span>)
@ -512,7 +540,8 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
</span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-hello-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-hello-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-search-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-search-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-tree-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span> </span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-tree-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-message-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span>) </span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-message-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">notmuch-show-mode</span> <span style="color:#666">0</span> <span style="color:#ba2121">&#34;mail&#34;</span>)
</span></span></code></pre></div><p><a id="table--root-tags"></a></p> </span></span></code></pre></div><p><a id="table--root-tags"></a></p>
<table> <table>
<thead> <thead>

View file

@ -1,6 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""><head> <html lang=""><head>
<meta name="generator" content="Hugo 0.142.0"> <meta name="generator" content="Hugo 0.146.6">
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

View file

@ -90,6 +90,8 @@
&lt;p&gt;See &lt;a href=&#34;https://www.gnu.org/software/emacs/manual/html_node/elisp/Custom-Format-Strings.html&#34;&gt;(emacs) Custom Format Strings&lt;/a&gt; for information on the general &lt;code&gt;format-spec&lt;/code&gt; syntax.&lt;/p&gt; &lt;p&gt;See &lt;a href=&#34;https://www.gnu.org/software/emacs/manual/html_node/elisp/Custom-Format-Strings.html&#34;&gt;(emacs) Custom Format Strings&lt;/a&gt; for information on the general &lt;code&gt;format-spec&lt;/code&gt; syntax.&lt;/p&gt;
&lt;p&gt;I suspect the package might be slow if your history has a lot of records (I haven&amp;rsquo;t checked yet). In this case, it might be worth setting a limit:&lt;/p&gt; &lt;p&gt;I suspect the package might be slow if your history has a lot of records (I haven&amp;rsquo;t checked yet). In this case, it might be worth setting a limit:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-search-options&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;&amp;#39;&lt;/span&gt;(&lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--exit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--limit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;10000&amp;#34;&lt;/span&gt;)) &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-search-options&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;&amp;#39;&lt;/span&gt;(&lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--exit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--limit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;10000&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the package ignores imported history, remove &lt;code&gt;--exit 0&lt;/code&gt; from the options (see &lt;a href=&#34;https://github.com/SqrtMinusOne/eshell-atuin/issues/9&#34;&gt;#9&lt;/a&gt;).&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-search-options&lt;/span&gt; &lt;span style=&#34;color:#800&#34;&gt;nil&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;Enable &lt;code&gt;eshell-atuin-mode&lt;/code&gt; to turn on storing eshell commands in &lt;code&gt;atuin&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Enable &lt;code&gt;eshell-atuin-mode&lt;/code&gt; to turn on storing eshell commands in &lt;code&gt;atuin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;eshell-atuin-history&lt;/code&gt; inside an &lt;code&gt;eshell&lt;/code&gt; buffer to browse the saved history. Accepting the completion will insert the command.&lt;/p&gt; &lt;p&gt;Run &lt;code&gt;eshell-atuin-history&lt;/code&gt; inside an &lt;code&gt;eshell&lt;/code&gt; buffer to browse the saved history. Accepting the completion will insert the command.&lt;/p&gt;
@ -1329,8 +1331,7 @@ Customize the formatting of these records through &lt;code&gt;org-clock-agg-elem
} }
&lt;/style&gt; &lt;/style&gt;
&lt;blockquote&gt; &lt;blockquote&gt;
&lt;p&gt;Poof I made my free-time disappear&lt;/p&gt; &lt;p&gt;Poof I made my free-time disappear&lt;/p&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p class=&#34;quote-title&#34;&gt;- &lt;a href=&#34;https://elken.dev&#34;&gt;Ellis Kenyő&lt;/a&gt;, on being called an &#34;elisp mage&#34; &lt;p class=&#34;quote-title&#34;&gt;- &lt;a href=&#34;https://elken.dev&#34;&gt;Ellis Kenyő&lt;/a&gt;, on being called an &#34;elisp mage&#34;
&lt;p&gt;Little did I know on the fateful day of &lt;strong&gt;&lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2020-10-09 Fri]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, when I had installed &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;. I wasn&amp;rsquo;t thinking about the &lt;a href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34;&gt;ethical aspects&lt;/a&gt; of free software, the &lt;a href=&#34;https://www.webofstories.com/play/marvin.minsky/44&#34;&gt;aesthetics of Lisp&lt;/a&gt;, or these other things with which an occasional layperson might explain how an almost &lt;a href=&#34;https://www.jwz.org/doc/emacs-timeline.html&#34;&gt;half a century old&lt;/a&gt; program can still be in &lt;a href=&#34;https://emacsconf.org/2022/talks/survey/&#34;&gt;active use&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Little did I know on the fateful day of &lt;strong&gt;&lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2020-10-09 Fri]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, when I had installed &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;. I wasn&amp;rsquo;t thinking about the &lt;a href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34;&gt;ethical aspects&lt;/a&gt; of free software, the &lt;a href=&#34;https://www.webofstories.com/play/marvin.minsky/44&#34;&gt;aesthetics of Lisp&lt;/a&gt;, or these other things with which an occasional layperson might explain how an almost &lt;a href=&#34;https://www.jwz.org/doc/emacs-timeline.html&#34;&gt;half a century old&lt;/a&gt; program can still be in &lt;a href=&#34;https://emacsconf.org/2022/talks/survey/&#34;&gt;active use&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.&lt;/p&gt; &lt;p&gt;In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.&lt;/p&gt;

View file

@ -155,6 +155,8 @@
<p>See <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Custom-Format-Strings.html">(emacs) Custom Format Strings</a> for information on the general <code>format-spec</code> syntax.</p> <p>See <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Custom-Format-Strings.html">(emacs) Custom Format Strings</a> for information on the general <code>format-spec</code> syntax.</p>
<p>I suspect the package might be slow if your history has a lot of records (I haven&rsquo;t checked yet). In this case, it might be worth setting a limit:</p> <p>I suspect the package might be slow if your history has a lot of records (I haven&rsquo;t checked yet). In this case, it might be worth setting a limit:</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">setq</span> <span style="color:#19177c">eshell-atuin-search-options</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;--exit&#34;</span> <span style="color:#ba2121">&#34;0&#34;</span> <span style="color:#ba2121">&#34;--limit&#34;</span> <span style="color:#ba2121">&#34;10000&#34;</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:#008000">setq</span> <span style="color:#19177c">eshell-atuin-search-options</span> <span style="color:#666">&#39;</span>(<span style="color:#ba2121">&#34;--exit&#34;</span> <span style="color:#ba2121">&#34;0&#34;</span> <span style="color:#ba2121">&#34;--limit&#34;</span> <span style="color:#ba2121">&#34;10000&#34;</span>))
</span></span></code></pre></div><p>If the package ignores imported history, remove <code>--exit 0</code> from the options (see <a href="https://github.com/SqrtMinusOne/eshell-atuin/issues/9">#9</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">setq</span> <span style="color:#19177c">eshell-atuin-search-options</span> <span style="color:#800">nil</span>)
</span></span></code></pre></div><h2 id="usage">Usage</h2> </span></span></code></pre></div><h2 id="usage">Usage</h2>
<p>Enable <code>eshell-atuin-mode</code> to turn on storing eshell commands in <code>atuin</code>.</p> <p>Enable <code>eshell-atuin-mode</code> to turn on storing eshell commands in <code>atuin</code>.</p>
<p>Run <code>eshell-atuin-history</code> inside an <code>eshell</code> buffer to browse the saved history. Accepting the completion will insert the command.</p> <p>Run <code>eshell-atuin-history</code> inside an <code>eshell</code> buffer to browse the saved history. Accepting the completion will insert the command.</p>

View file

@ -90,6 +90,8 @@
&lt;p&gt;See &lt;a href=&#34;https://www.gnu.org/software/emacs/manual/html_node/elisp/Custom-Format-Strings.html&#34;&gt;(emacs) Custom Format Strings&lt;/a&gt; for information on the general &lt;code&gt;format-spec&lt;/code&gt; syntax.&lt;/p&gt; &lt;p&gt;See &lt;a href=&#34;https://www.gnu.org/software/emacs/manual/html_node/elisp/Custom-Format-Strings.html&#34;&gt;(emacs) Custom Format Strings&lt;/a&gt; for information on the general &lt;code&gt;format-spec&lt;/code&gt; syntax.&lt;/p&gt;
&lt;p&gt;I suspect the package might be slow if your history has a lot of records (I haven&amp;rsquo;t checked yet). In this case, it might be worth setting a limit:&lt;/p&gt; &lt;p&gt;I suspect the package might be slow if your history has a lot of records (I haven&amp;rsquo;t checked yet). In this case, it might be worth setting a limit:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-search-options&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;&amp;#39;&lt;/span&gt;(&lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--exit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--limit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;10000&amp;#34;&lt;/span&gt;)) &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-search-options&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;&amp;#39;&lt;/span&gt;(&lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--exit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;--limit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;10000&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the package ignores imported history, remove &lt;code&gt;--exit 0&lt;/code&gt; from the options (see &lt;a href=&#34;https://github.com/SqrtMinusOne/eshell-atuin/issues/9&#34;&gt;#9&lt;/a&gt;).&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-emacs-lisp&#34; data-lang=&#34;emacs-lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#008000&#34;&gt;setq&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;eshell-atuin-search-options&lt;/span&gt; &lt;span style=&#34;color:#800&#34;&gt;nil&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;Enable &lt;code&gt;eshell-atuin-mode&lt;/code&gt; to turn on storing eshell commands in &lt;code&gt;atuin&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Enable &lt;code&gt;eshell-atuin-mode&lt;/code&gt; to turn on storing eshell commands in &lt;code&gt;atuin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;eshell-atuin-history&lt;/code&gt; inside an &lt;code&gt;eshell&lt;/code&gt; buffer to browse the saved history. Accepting the completion will insert the command.&lt;/p&gt; &lt;p&gt;Run &lt;code&gt;eshell-atuin-history&lt;/code&gt; inside an &lt;code&gt;eshell&lt;/code&gt; buffer to browse the saved history. Accepting the completion will insert the command.&lt;/p&gt;

View file

@ -84,8 +84,7 @@
} }
</style> </style>
<blockquote> <blockquote>
<p>Poof I made my free-time disappear</p> <p>Poof I made my free-time disappear</p></blockquote>
</blockquote>
<p class="quote-title">- <a href="https://elken.dev">Ellis Kenyő</a>, on being called an "elisp mage" <p class="quote-title">- <a href="https://elken.dev">Ellis Kenyő</a>, on being called an "elisp mage"
<p>Little did I know on the fateful day of <strong><span class="timestamp-wrapper"><span class="timestamp">[2020-10-09 Fri]</span></span></strong>, when I had installed <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>. I wasn&rsquo;t thinking about the <a href="https://www.gnu.org/philosophy/philosophy.html">ethical aspects</a> of free software, the <a href="https://www.webofstories.com/play/marvin.minsky/44">aesthetics of Lisp</a>, or these other things with which an occasional layperson might explain how an almost <a href="https://www.jwz.org/doc/emacs-timeline.html">half a century old</a> program can still be in <a href="https://emacsconf.org/2022/talks/survey/">active use</a>.</p> <p>Little did I know on the fateful day of <strong><span class="timestamp-wrapper"><span class="timestamp">[2020-10-09 Fri]</span></span></strong>, when I had installed <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>. I wasn&rsquo;t thinking about the <a href="https://www.gnu.org/philosophy/philosophy.html">ethical aspects</a> of free software, the <a href="https://www.webofstories.com/play/marvin.minsky/44">aesthetics of Lisp</a>, or these other things with which an occasional layperson might explain how an almost <a href="https://www.jwz.org/doc/emacs-timeline.html">half a century old</a> program can still be in <a href="https://emacsconf.org/2022/talks/survey/">active use</a>.</p>
<p>In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.</p> <p>In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.</p>

View file

@ -838,8 +838,7 @@
} }
&lt;/style&gt; &lt;/style&gt;
&lt;blockquote&gt; &lt;blockquote&gt;
&lt;p&gt;Poof I made my free-time disappear&lt;/p&gt; &lt;p&gt;Poof I made my free-time disappear&lt;/p&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p class=&#34;quote-title&#34;&gt;- &lt;a href=&#34;https://elken.dev&#34;&gt;Ellis Kenyő&lt;/a&gt;, on being called an &#34;elisp mage&#34; &lt;p class=&#34;quote-title&#34;&gt;- &lt;a href=&#34;https://elken.dev&#34;&gt;Ellis Kenyő&lt;/a&gt;, on being called an &#34;elisp mage&#34;
&lt;p&gt;Little did I know on the fateful day of &lt;strong&gt;&lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2020-10-09 Fri]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, when I had installed &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;. I wasn&amp;rsquo;t thinking about the &lt;a href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34;&gt;ethical aspects&lt;/a&gt; of free software, the &lt;a href=&#34;https://www.webofstories.com/play/marvin.minsky/44&#34;&gt;aesthetics of Lisp&lt;/a&gt;, or these other things with which an occasional layperson might explain how an almost &lt;a href=&#34;https://www.jwz.org/doc/emacs-timeline.html&#34;&gt;half a century old&lt;/a&gt; program can still be in &lt;a href=&#34;https://emacsconf.org/2022/talks/survey/&#34;&gt;active use&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Little did I know on the fateful day of &lt;strong&gt;&lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2020-10-09 Fri]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, when I had installed &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;. I wasn&amp;rsquo;t thinking about the &lt;a href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34;&gt;ethical aspects&lt;/a&gt; of free software, the &lt;a href=&#34;https://www.webofstories.com/play/marvin.minsky/44&#34;&gt;aesthetics of Lisp&lt;/a&gt;, or these other things with which an occasional layperson might explain how an almost &lt;a href=&#34;https://www.jwz.org/doc/emacs-timeline.html&#34;&gt;half a century old&lt;/a&gt; program can still be in &lt;a href=&#34;https://emacsconf.org/2022/talks/survey/&#34;&gt;active use&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.&lt;/p&gt; &lt;p&gt;In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.&lt;/p&gt;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -20,7 +20,7 @@
<link>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</link> <link>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</link>
<pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate> <pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</guid> <guid>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</guid>
<description>&lt;style&gt;&#xA; .quote-title {&#xA; margin-left: 24px;&#xA; }&#xA;&lt;/style&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Poof I made my free-time disappear&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p class=&#34;quote-title&#34;&gt;- &lt;a href=&#34;https://elken.dev&#34;&gt;Ellis Kenyő&lt;/a&gt;, on being called an &#34;elisp mage&#34;&#xA;&lt;p&gt;Little did I know on the fateful day of &lt;strong&gt;&lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2020-10-09 Fri]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, when I had installed &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;. I wasn&amp;rsquo;t thinking about the &lt;a href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34;&gt;ethical aspects&lt;/a&gt; of free software, the &lt;a href=&#34;https://www.webofstories.com/play/marvin.minsky/44&#34;&gt;aesthetics of Lisp&lt;/a&gt;, or these other things with which an occasional layperson might explain how an almost &lt;a href=&#34;https://www.jwz.org/doc/emacs-timeline.html&#34;&gt;half a century old&lt;/a&gt; program can still be in &lt;a href=&#34;https://emacsconf.org/2022/talks/survey/&#34;&gt;active use&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In fact, when considering using software X for anything, the most important question to me was: can X provide a better user experience? For Emacs, the answer to most of these questions turned out to be yes.&lt;/p&gt;</description> <description>&lt;style&gt;&#xA; .quote-title {&#xA; margin-left: 24px;&#xA; }&#xA;&lt;/style&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Poof I made my free-time disappear&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p class=&#34;quote-title&#34;&gt;- &lt;a href=&#34;https://elken.dev&#34;&gt;Ellis Kenyő&lt;/a&gt;, on being called an &#34;elisp mage&#34;&#xA;&lt;p&gt;Little did I know on the fateful day of &lt;strong&gt;&lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2020-10-09 Fri]&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, when I had installed &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;. I wasn&amp;rsquo;t thinking about the &lt;a href=&#34;https://www.gnu.org/philosophy/philosophy.html&#34;&gt;ethical aspects&lt;/a&gt; of free software, the &lt;a href=&#34;https://www.webofstories.com/play/marvin.minsky/44&#34;&gt;aesthetics of Lisp&lt;/a&gt;, or these other things with which an occasional layperson might explain how an almost &lt;a href=&#34;https://www.jwz.org/doc/emacs-timeline.html&#34;&gt;half a century old&lt;/a&gt; program can still be in &lt;a href=&#34;https://emacsconf.org/2022/talks/survey/&#34;&gt;active use&lt;/a&gt;.&lt;/p&gt;</description>
</item> </item>
<item> <item>
<title>Running Gource with Emacs</title> <title>Running Gource with Emacs</title>