<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Thomas Letan's Blog - releases</title>
    <link>https://soap.coffee/~lthms/tags/releases.html</link>
    <description>Posts tagged "releases"</description>
    <atom:link href="https://soap.coffee/~lthms/tags/releases.xml" rel="self"
               type="application/rss+xml" />
    
    
    <item>
      <title>Teaching Firefox About slack:// URLs</title>
      <link>https://soap.coffee/~lthms/posts/teaching-firefox-about-slack.html</link>
      <guid>https://soap.coffee/~lthms/posts/teaching-firefox-about-slack.html</guid>
      <pubDate>February 19, 2026</pubDate>
      <description>
        
        &lt;h1&gt;Teaching Firefox About &lt;code class=&quot;hljs&quot;&gt;slack://&lt;/code&gt; URLs&lt;/h1&gt;&lt;div id=&quot;tags-list&quot;&gt;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/releases.html&quot; class=&quot;tag hover-lemon&quot; marked=&quot;&quot;&gt;releases&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;I’ve been using Slack at &lt;code class=&quot;hljs language-bash&quot;&gt;&lt;span class=&quot;hljs-variable&quot;&gt;$WORK&lt;/span&gt;&lt;/code&gt; for the past 5 (!) years. I don&apos;t know
why, but it looks like Firefox does not know what to do with the &lt;code class=&quot;hljs&quot;&gt;slack://&lt;/code&gt;
URLs out of the box&lt;label for=&quot;fn1&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn1&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-right sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;Try logging in Slack when your browser does not let Slack know
authentication concluded successfully. The worst thing? Sometimes it works,
sometimes it doesn’t. &lt;/span&gt;
&lt;/span&gt;. It could be an issue on my side—wouldn’t be the
first time!—but in case you are suffering from the same issue, I have found
that I can provision my laptop with a so-called Firefox policy to fix this
annoyance.&lt;/p&gt;
&lt;div class=&quot;markdown-alert markdown-alert-caution&quot;&gt;&lt;p class=&quot;markdown-alert-title&quot;&gt;&lt;svg class=&quot;octicon octicon-stop mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path d=&quot;M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Caution&lt;/p&gt;&lt;p&gt;Firefox only supports a single &lt;code class=&quot;hljs&quot;&gt;policies.json&lt;/code&gt; file. If you happen to already
have one installed at &lt;code class=&quot;hljs&quot;&gt;/usr/lib/firefox/distribution/policies.json&lt;/code&gt;, you will
need to merge the policies manually.&lt;/p&gt;
&lt;/div&gt;
&lt;pre&gt;&lt;code class=&quot;hljs language-json&quot;&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;hljs-attr&quot;&gt;&quot;policies&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;hljs-attr&quot;&gt;&quot;Handlers&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;hljs-attr&quot;&gt;&quot;schemes&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;hljs-attr&quot;&gt;&quot;slack&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-punctuation&quot;&gt;{&lt;/span&gt;
          &lt;span class=&quot;hljs-attr&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&quot;useHelperApp&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;hljs-attr&quot;&gt;&quot;ask&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;,&lt;/span&gt;
          &lt;span class=&quot;hljs-attr&quot;&gt;&quot;path&quot;&lt;/span&gt;&lt;span class=&quot;hljs-punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&quot;/usr/lib/firefox-slack-policy/open-slack&quot;&lt;/span&gt;
        &lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;hljs-punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will only work if you also install the companion script &lt;code class=&quot;hljs&quot;&gt;open-slack&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs language-bash&quot;&gt;&lt;span class=&quot;hljs-meta&quot;&gt;#!/bin/sh&lt;/span&gt;
&lt;span class=&quot;hljs-built_in&quot;&gt;exec&lt;/span&gt; xdg-open &lt;span class=&quot;hljs-string&quot;&gt;&quot;&lt;span class=&quot;hljs-variable&quot;&gt;$@&lt;/span&gt;&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;These two files together tell Firefox to use &lt;code class=&quot;hljs&quot;&gt;xdg-open&lt;/code&gt; in place of &lt;code class=&quot;hljs&quot;&gt;gio open&lt;/code&gt;.
If I understand correctly, the latter needs an explicit entry in the
&lt;code class=&quot;hljs&quot;&gt;mimeapps.list&lt;/code&gt; file to select an application to handle mimetypes it is not
familiar with (like &lt;code class=&quot;hljs&quot;&gt;x-scheme-handler/slack&lt;/code&gt;) even if you have a &lt;code class=&quot;hljs&quot;&gt;.desktop&lt;/code&gt;
file with the appropriate &lt;code class=&quot;hljs&quot;&gt;MimeType&lt;/code&gt; declaration. I have no idea why,
especially considering that &lt;code class=&quot;hljs&quot;&gt;mimeinfo.cache&lt;/code&gt; correctly resolves
&lt;code class=&quot;hljs&quot;&gt;x-scheme-handler/slack&lt;/code&gt; on my machine.&lt;/p&gt;
&lt;p&gt;Anyway, now at least I can log in Slack without issue. I made a small AUR
package of it, so if you are an ArchLinux user affected by this bug and without
a pre-existing Firefox entreprise policy, feel free to install
&lt;a href=&quot;https://aur.archlinux.org/packages/firefox-slack-policy&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;&lt;code class=&quot;hljs&quot;&gt;firefox-slack-policy&lt;/code&gt;&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;
and call it a day.&lt;/p&gt;
        
      </description>
    </item>
    
    
    
    <item>
      <title>Introducing bepo-tsrn.nvim</title>
      <link>https://soap.coffee/~lthms/posts/BepoNvim.html</link>
      <guid>https://soap.coffee/~lthms/posts/BepoNvim.html</guid>
      <pubDate>May 23, 2024</pubDate>
      <description>
        
        &lt;h1&gt;Introducing &lt;code class=&quot;hljs&quot;&gt;bepo-tsrn.nvim&lt;/code&gt;&lt;/h1&gt;&lt;div id=&quot;tags-list&quot;&gt;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/neovim.html&quot; class=&quot;tag hover-mint&quot; marked=&quot;&quot;&gt;neovim&lt;/a&gt; &lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/releases.html&quot; class=&quot;tag hover-coral&quot; marked=&quot;&quot;&gt;releases&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;It is not much, but I have recently &lt;a href=&quot;https://github.com/lthms/bepo-tsrn.nvim&quot; class=&quot;hover-sky&quot; marked=&quot;&quot;&gt;published on
GitHub&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; what can be considered my very
first Neovim “plugin.”&lt;/p&gt;
&lt;p&gt;&lt;code class=&quot;hljs&quot;&gt;bepo-tsrn.nvim&lt;/code&gt; is a zero-configuration, global plugin for Neovim which remaps
default Neovim bindings for the &lt;a href=&quot;https://bepo.fr&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;Bépo&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; keyboard layout. It
started as a fork of &lt;a href=&quot;https://github.com/cljoly/bepo.nvim&quot; class=&quot;hover-sky&quot; marked=&quot;&quot;&gt;&lt;code class=&quot;hljs&quot;&gt;bepo.nvim&lt;/code&gt;&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; with
two significant changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;hljs&quot;&gt;hjkl&lt;/code&gt; are remapped to &lt;code class=&quot;hljs&quot;&gt;tsrn&lt;/code&gt; instead of &lt;code class=&quot;hljs&quot;&gt;ctsr&lt;/code&gt;. &lt;code class=&quot;hljs&quot;&gt;hjkl&lt;/code&gt; as motion keys always
had one great drawback in my opinion: they required me to shift my left hand
whenever I wanted to use them. Well, no more!&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;hljs&quot;&gt;bepo-tsrn.nvim&lt;/code&gt; is a global plugin, unconditionally loaded at startup
without the need to explicitely load it. As a consequence, it is a very
convenient way to get Bépo enabled in Neovim system-wide. Bonus point if you
are using Archlinux, since I have added it to the &lt;a href=&quot;https://aur.archlinux.org/packages/neovim-bepo-tsrn-git&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;Archlinux User
Repository&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; (AUR).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code class=&quot;hljs&quot;&gt;bepo-tsrn.nvim&lt;/code&gt; is released under the terms of the Apache-2.0 license
(inherited from &lt;a href=&quot;https://github.com/cljoly/bepo.nvim&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;&lt;code class=&quot;hljs&quot;&gt;bepo.nvim&lt;/code&gt;&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;). Granted,
this plugin targets a very small niche of users, but maybe you will find it as
useful as I do!&lt;/p&gt;
        
      </description>
    </item>
    
    
    
    <item>
      <title>Spatial Shell 6th Release Might Be the Charm</title>
      <link>https://soap.coffee/~lthms/posts/SpatialShell6.html</link>
      <guid>https://soap.coffee/~lthms/posts/SpatialShell6.html</guid>
      <pubDate>December 30, 2023</pubDate>
      <description>
        
        &lt;h1&gt;Spatial Shell 6th Release Might Be the Charm&lt;/h1&gt;&lt;div id=&quot;tags-list&quot;&gt;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/spatial-shell.html&quot; class=&quot;tag hover-lavender&quot; marked=&quot;&quot;&gt;spatial-shell&lt;/a&gt; &lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/releases.html&quot; class=&quot;tag hover-periwinkle&quot; marked=&quot;&quot;&gt;releases&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;After a first &lt;a href=&quot;/~lthms/posts/CFTSpatialShell.html&quot; class=&quot;hover-sky&quot; marked=&quot;&quot;&gt;call for testers&lt;/a&gt; that &lt;a href=&quot;https://github.com/lthms/spatial-shell/issues/2#issuecomment-1527193430&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;could have
been more effective if only the building instructions listed in the README were
correct&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;,
I am quite happy to announce the 6th release for Spatial Shell that, I believe,
is pretty usable for someone who &lt;em&gt;isn’t me&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;What’s Spatial Shell Already?&lt;/h2&gt;
&lt;p&gt;In a nutshell, Spatial Shell implements a &lt;em&gt;spatial model&lt;/em&gt; inspired by &lt;a href=&quot;https://material-shell.com&quot; class=&quot;hover-sky&quot; marked=&quot;&quot;&gt;Material
Shell&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; for i3 and sway. Windows are organized in a
grid whose rows are your workspace, and you can navigate this grid (by focusing
neighbors windows), move the focused window around, decide how many window you
want to see at most in every workspace, etc.&lt;/p&gt;
&lt;p&gt;When I first discovered Material Shell in August 2022, I was pretty excited,
but the fact that it is a GNOME extension prevented me from switching
completely (besides, it was pretty unstable on my laptop for reasons. So when I
discovered that Sway (my personal favorite window manager) could be controlled
by &lt;a href=&quot;https://man.archlinux.org/man/sway-ipc.7.en&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;a third-party program through a Unix
socket&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;, I started experimenting.
&lt;a href=&quot;https://twitter.com/_lthms_/status/1561034295501897730&quot; class=&quot;hover-lavender&quot; marked=&quot;&quot;&gt;It didn’t take long before I had a working prototype that fit most of my
need&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;, but it took a
significant amount of time to turn this prototype into something really usable
by anyone who isn’t me.&lt;/p&gt;
&lt;p&gt;Here is a clunky showcase of what Spatial Shell can do&lt;label for=&quot;fn1&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn1&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-right sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;Yes, &lt;em&gt;Scott Pilgrim Takes Off&lt;/em&gt; is an awesome show that you definitely
need to watch. &lt;/span&gt;
&lt;/span&gt;.&lt;/p&gt;
&lt;video controls=&quot;&quot;&gt;&lt;source src=&quot;https://spatial-shell.app/demo.mp4&quot;&gt;&lt;/video&gt;
&lt;p&gt;For the interested viewers, I am using a forked version of sway called
&lt;a href=&quot;https://github.com/WillPower3309/swayfx&quot; class=&quot;hover-sky&quot; marked=&quot;&quot;&gt;SwayFX&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; to get these rounded corners
and the dim effects on unfocused windows. The status bar is Waybar with &lt;a href=&quot;https://github.com/lthms/spatial-shell/tree/main/contrib/waybar&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;a
config you can try yourself if you are
interested&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;!
There is also &lt;a href=&quot;https://github.com/lthms/spatial-shell/tree/main/contrib/i3blocks&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;a minimal &lt;code class=&quot;hljs&quot;&gt;i3blocks&lt;/code&gt;
config&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;
available if you cannot use Waybar&lt;label for=&quot;fn2&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn2&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-left sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;I fully intend to provide an example config as visually pleasing as the
one for Waybar, but compatible with i3. &lt;/span&gt;
&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;To be clear, the UI part of Spatial Shell remains lacking to this day. My
Waybar configuration works, but is pretty verbose and statically limited. For
instance, it will only display the 8th first windows of a workspace. This is
because Waybar does not allow one widget to generate multiple blocks. The same
goes for the &lt;code class=&quot;hljs&quot;&gt;i3blocks&lt;/code&gt; configuration example. Also, they assume the
availability of a font with icons&lt;label for=&quot;fn3&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn3&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-right sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;On that matter, I love the &lt;a href=&quot;https://www.nerdfonts.com/&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;Nerd
Fonts&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; project. &lt;/span&gt;
&lt;/span&gt;.&lt;/p&gt;
&lt;h2&gt;Try It Yourself!&lt;/h2&gt;
&lt;p&gt;As of today, you can install Spatial Shell using the following methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;By fetching the official binary builds for Linux x86_64 from the &lt;a href=&quot;https://github.com/lthms/spatial-shell/releases&quot; class=&quot;hover-mint&quot; marked=&quot;&quot;&gt;GitHub
releases page&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;By installing the &lt;a href=&quot;https://aur.archlinux.org/packages/spatial-shell&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;AUR package for
Archlinux&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;By building directly from source&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/lthms/spatial-shell#spatial-shell&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;&lt;code class=&quot;hljs&quot;&gt;README&lt;/code&gt;&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; should be
a good starting point. If it is lacking key pieces of information, do not
hesitate to open an issue. At this point, I am willing to deal with
documentation issue as bugs.&lt;/p&gt;
&lt;p&gt;Besides its &lt;code class=&quot;hljs&quot;&gt;README&lt;/code&gt;, Spatial Shell is documented via manpages. For a list of
available manpages, you can refer to &lt;code class=&quot;hljs&quot;&gt;man -k spatial&lt;/code&gt;. Spatial Shell definitely
works with sway, and should work with i3 since the former is basically a
drop-in replacement for the latter.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The journey from the initial idea up to this moment has definitely been an
interesting one. At this point, Spatial Shell provides every feature I need.
That being said, it does not mean there is nothing more to tell! I certainly
hope this project will catch the eyes of some of you, and soon be used on
computers I do not own by folks who are not me.&lt;/p&gt;
&lt;p&gt;Contributions are obviously welcome! Typically, if you happen to piece together
a neat status bar configuration, I am &lt;em&gt;very&lt;/em&gt; interested.&lt;/p&gt;
        
      </description>
    </item>
    
    
    
    <item>
      <title>What happened since December 2022?</title>
      <link>https://soap.coffee/~lthms/posts/May2023.html</link>
      <guid>https://soap.coffee/~lthms/posts/May2023.html</guid>
      <pubDate>May 18, 2023</pubDate>
      <description>
        
        &lt;h1&gt;What happened since December 2022?&lt;/h1&gt;&lt;div id=&quot;tags-list&quot;&gt;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/emacs.html&quot; class=&quot;tag hover-lavender&quot; marked=&quot;&quot;&gt;emacs&lt;/a&gt; &lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/meta.html&quot; class=&quot;tag hover-lemon&quot; marked=&quot;&quot;&gt;meta&lt;/a&gt; &lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/neovim.html&quot; class=&quot;tag hover-sky&quot; marked=&quot;&quot;&gt;neovim&lt;/a&gt; &lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/releases.html&quot; class=&quot;tag hover-mint&quot; marked=&quot;&quot;&gt;releases&lt;/a&gt; &lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/spatial-shell.html&quot; class=&quot;tag hover-sky&quot; marked=&quot;&quot;&gt;spatial-shell&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;Initially, I started this “What happened” series as an exercise to publish
more regularly on this website. Suffice to say, I haven’t done a particularly
impressive job in that regard, which only means I have a lot of room for
improvement.&lt;/p&gt;
&lt;p&gt;Anyway, if the first few months of 2023 has been mostly &lt;code class=&quot;hljs language-bash&quot;&gt;&lt;span class=&quot;hljs-variable&quot;&gt;$WORK&lt;/span&gt;&lt;/code&gt; focus,
the same cannot be said for April and May. For one, I have started
&lt;a href=&quot;/~lthms/running.html&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;running&lt;/a&gt; again. But this is only the tip of the iceberg.&lt;/p&gt;
&lt;h2&gt;Spatial Shell got its first releases&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/lthms/spatial-shell&quot; class=&quot;hover-lavender&quot; marked=&quot;&quot;&gt;Spatial Shell&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; is probably my hobby
project I am most excited about. The &lt;a href=&quot;/~lthms/posts/CFTSpatialShell.html&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;“call for testers”
article&lt;/a&gt; I have published recently managed to
catch the attention of a few folks&lt;label for=&quot;fn1&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn1&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-right sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;You want to hear a lesson I learned the hard way just after publishing
it? Before calling for testers, it is better to &lt;a href=&quot;https://github.com/lthms/spatial-shell/issues/2#issuecomment-1527193430&quot; class=&quot;hover-coral&quot; marked=&quot;&quot;&gt;be sure your project can
actually be compiled easily by the potential
volunteers&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;. &lt;/span&gt;
&lt;/span&gt;. The perspective to publish such a
write-up was a very strong source of motivation for me to clean up a project I
was using daily for several months now, and I am very satisfied with the
result.&lt;/p&gt;
&lt;p&gt;Mass adoption is still a distant horizon, but still, the project is now
mainstream enough that it has already been mentioned in &lt;a href=&quot;https://discuss.ocaml.org/t/window-manager-xmonad-in-ocaml/12048/4&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;a random topic on the
OCaml discourse by someone who isn’t
me&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;. 🎉&lt;/p&gt;
&lt;p&gt;This led me to formally release a first version of Spatial Shell in the end of
April, and a second today. For the first time, I have also published &lt;a href=&quot;https://aur.archlinux.org/packages/spatial-shell&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;an
Archlinux package&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;, to make
the life of potential early adopters even easier. Do not hesitate to upvote it
so that it can find its way to the &lt;code class=&quot;hljs&quot;&gt;extra&lt;/code&gt; repository some day.&lt;/p&gt;
&lt;h2&gt;Goodbye Emacs! Remember me, Neovim?&lt;/h2&gt;
&lt;p&gt;In 2015, I started using Coq for my PhD thesis and at the time, there was no
real support for (Neo)vim&lt;label for=&quot;fn2&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn2&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-left sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;The situation later improved. Nowadays, you can implement your theories
using &lt;a href=&quot;https://github.com/whonore/Coqtail&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;Coqtail&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href=&quot;https://github.com/ejgallego/coq-lsp&quot; class=&quot;hover-mint&quot; marked=&quot;&quot;&gt;Coq
LSP&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; will probably become a viable
and interesting setup in a near future. &lt;/span&gt;
&lt;/span&gt;. Everyone was using &lt;a href=&quot;https://proofgeneral.github.io/&quot; class=&quot;hover-rose&quot; marked=&quot;&quot;&gt;Proof
General&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; and Emacs, so I was left with little
choice but to follow through. With only my courage and the &lt;a href=&quot;https://juanjoalvarez.net/posts/2014/vim-emacsevil-chaotic-migration-guide/&quot; class=&quot;hover-lavender&quot; marked=&quot;&quot;&gt;good advice of a
fellow “vimer” who had also made a similar
journey&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;,
I started using Emacs.&lt;/p&gt;
&lt;p&gt;Fast forward 8 years later, and my &lt;a href=&quot;https://src.soap.coffee/dotfiles/emacs.d&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;Emacs
configuration&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; has become a project
of its own. Overall, I was pretty happy with my setup, but in the same time, I
always remained a bit nostalgic of my Neovim days. This is probably why I
decided to give this old friend a try when my company bought me a new laptop. I
also used this as an opportunity to try out this LSP-thing everyone was talking
about.&lt;/p&gt;
&lt;p&gt;It has been a month now, and I do not plan to come back to my previous habits.
There are still some few edges here and there, I still need to get my head
around lua, but LSP is nice, and plugins like
&lt;a href=&quot;https://github.com/nvim-telescope/telescope.nvim&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;telescope&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; are simply too
beautiful.&lt;/p&gt;
&lt;p&gt;That being said, there was one aspect of moving from Emacs to Neovim I had not
anticipated: Org mode. Which constitutes a perfect transition to the next
session.&lt;/p&gt;
&lt;h2&gt;Website redesign, again&lt;/h2&gt;
&lt;p&gt;Did you notice this website has been revamping recently? The changes are
actually deeper than “just” a redesign, to a point where I had to port &lt;em&gt;all&lt;/em&gt; my
write-ups to a different markup language&lt;label for=&quot;fn3&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn3&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-right sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;Are you starting to understand why “Org mode” was the perfect
transition to move on to this section? &lt;/span&gt;
&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Why, you ask? Well, it’s actually pretty simple: as time goes, I’ve grown
lazier.&lt;/p&gt;
&lt;p&gt;Let me give you some context. Until very recently, my website was built around
the idea to have literate programming as a first-class citizen of my author
tools. For instance, you can have a look at &lt;a href=&quot;/~lthms/posts/CleopatraV1.html&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;what used to be the literate
program which was responsible for generating the
website&lt;/a&gt;. Similarly, most of &lt;a href=&quot;/~lthms/tags/coq.html&quot; class=&quot;hover-coral&quot; marked=&quot;&quot;&gt;my write-ups about
Coq&lt;/a&gt; were actually Coq documents. Literate programming is
actually a very nice paradigm for authoring technical contents, because it
gives you the tools to keep said contents accurate and up-to-date. In a
nutshell, you cannot have a typo in one of your code snippets which would
prevent it from compiling, because you actually
compile the snippet and catch the typo when you try to generate your website.
Or at least, it is what I used to do.&lt;/p&gt;
&lt;p&gt;I decided to stop because, for all its benefits, this approach has one major
drawback: it is hard to maintain. I had invested quite some time and efforts to
keep my website sources under control, but it really was an everyday fight.
There are some strange things which start happening when you fully commit to
this, as I think I did. For instance, software dependencies tie your article
together. Suddenly, you cannot talk about this new fancy feature of the latest
Coq release without upgrading &lt;em&gt;all&lt;/em&gt; your write-ups implemented as Coq
documents&lt;label for=&quot;fn4&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn4&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-left sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;Well, in theory you can. Just have each Coq document specifies the
Coq version it requires, and support this level of customization in your
build toolchain. But then, your blog takes forever to build from a cold
repository. &lt;/span&gt;
&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;That being said, most of the work had already been done. This website &lt;em&gt;was&lt;/em&gt; a
collection of literate programs, and I was pretty proud of the state of things.
I could deal with the annoyances&lt;label for=&quot;fn5&quot; class=&quot;sidenote-number margin-toggle&quot;&gt;&lt;/label&gt;&lt;input id=&quot;fn5&quot; type=&quot;checkbox&quot; class=&quot;margin-toggle&quot;&gt;&lt;span class=&quot;note-right sidenote note&quot;&gt;&lt;span class=&quot;footnote-p&quot;&gt;Like using Coqdoc syntax to write my articles, for instance. I could
write about how the Coqdoc syntax irks me for ages. &lt;/span&gt;
&lt;/span&gt;. But then, as I explained in the
previous section, I decided to move away from Emacs. The first time I tried to
start a new write-up, it hit me.&lt;/p&gt;
&lt;p&gt;I used to write most of my contents using Org mode. Org mode, also known as
&lt;em&gt;the&lt;/em&gt; Emacs markup language.&lt;/p&gt;
&lt;p&gt;I know of at least &lt;a href=&quot;https://github.com/nvim-orgmode/orgmode&quot; class=&quot;hover-mint&quot; marked=&quot;&quot;&gt;one “Org plugin” for
Neovim&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;, but instead of giving it a
try, I decided to use this opportunity to tackle my “maintenance problem” once
and for all. &lt;em&gt;I gave up on literate programming for this website.&lt;/em&gt; As a result,
this website is now generated from Markdown files only (using
&lt;a href=&quot;https://github.com/markdown-it/markdown-it&quot; class=&quot;hover-lavender&quot; marked=&quot;&quot;&gt;markdown-it&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; with many plugins).
As a consequence, the generated HTML is way more “predictable.” This was enough
to motivate me at giving a try at &lt;a href=&quot;https://soupault.app/reference-manual/#metadata-extraction-and-rendering&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;Soupault’s
indexes&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;,
which are way more powerful than I anticipated. Now, this website has&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tags. Each write-up can be labeled with as many tags as I want, there is &lt;a href=&quot;/~lthms/tags&quot; class=&quot;hover-coral&quot; marked=&quot;&quot;&gt;a
page which lists all the tags used in the website&lt;/a&gt;, and each tag has
its own page (for instance, the &lt;a href=&quot;/~lthms/tags/coq.html&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;&lt;code class=&quot;hljs&quot;&gt;coq&lt;/code&gt; tag&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A &lt;a href=&quot;/~lthms/posts/index.xml&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;RSS feed&lt;/a&gt;. It was actually one of the main features I
really wanted to get with this revamp.&lt;/li&gt;
&lt;li&gt;Automatically generated list of articles in the &lt;a href=&quot;/~lthms/&quot; class=&quot;hover-mint&quot; marked=&quot;&quot;&gt;home page&lt;/a&gt;, for each
series (see the &lt;a href=&quot;/~lthms/series/Ltac.html&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;Ltac series&lt;/a&gt; for instance). Before, I was
publishing “curated indexes,” or put in other words: I was writing these
indexes myself, by hand. And again, I’ve grown lazier.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It took me a week to go through this rework. Translating manually every write-up
was tedious, to say the least, as was implementing the Lua plugins for Soupault
since I have neither proficiency nor tooling to help me write Lua code. But I
am very glad for the final result.&lt;/p&gt;
&lt;p&gt;Also, I have invested in an Antidote license, so hopefully, this website will
have fewer typos and English butchering as of now. A clean text, delivered with
a nice and simple design, from a sane and maintainable &lt;a href=&quot;https://src.soap.coffee/soap.coffee/lthms.git/&quot; class=&quot;hover-lavender&quot; marked=&quot;&quot;&gt;Git
repository&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
        
      </description>
    </item>
    
    
    
    <item>
      <title>Release of colorless-themes-0.2</title>
      <link>https://soap.coffee/~lthms/posts/ColorlessThemes-0.2.html</link>
      <guid>https://soap.coffee/~lthms/posts/ColorlessThemes-0.2.html</guid>
      <pubDate>February 15, 2020</pubDate>
      <description>
        
        &lt;h1&gt;Release of &lt;code class=&quot;hljs&quot;&gt;colorless-themes-0.2&lt;/code&gt;&lt;/h1&gt;&lt;div id=&quot;tags-list&quot;&gt;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/releases.html&quot; class=&quot;tag hover-lavender&quot; marked=&quot;&quot;&gt;releases&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://git.sr.ht/~lthms/colorless-themes.el/refs/0.2&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;I have tagged and released a new version of
&lt;code class=&quot;hljs&quot;&gt;colorless-themes&lt;/code&gt;&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;.
The motivation behind modifying the version number is an important breaking
change regarding how the &lt;code class=&quot;hljs language-lisp&quot;&gt;colorless-themes-make&lt;/code&gt; macro shall be used.&lt;/p&gt;
&lt;p&gt;Before &lt;code class=&quot;hljs&quot;&gt;0.2&lt;/code&gt;, the macro was calling &lt;code class=&quot;hljs language-lisp&quot;&gt;deftheme&lt;/code&gt; and
&lt;code class=&quot;hljs language-lisp&quot;&gt;provide-theme&lt;/code&gt; itself. In practices, it meant the actual themes were
not using these two functions themselves. It was working great in isolation,
but it turns out many tools such as &lt;code class=&quot;hljs language-lisp&quot;&gt;use-package&lt;/code&gt; or &lt;a href=&quot;https://peach-melpa.org&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;Peach
Melpa&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; (an auto-generated Emacs themes gallery) are
relying on the presence of these functions to decide whether a file provides a
theme or not. As of now, &lt;code class=&quot;hljs&quot;&gt;nordless-theme&lt;/code&gt; and &lt;code class=&quot;hljs&quot;&gt;lavenderless-theme&lt;/code&gt; have been
updated accordingly, and &lt;a href=&quot;https://peach-melpa.org/themes/lavenderless-theme/variants/lavenderless&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;they appear on Peach
Melpa&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;.
Their loading can also be deferred using the &lt;code class=&quot;hljs language-lisp&quot;&gt;:defer&lt;/code&gt; keyword of the
&lt;code class=&quot;hljs language-lisp&quot;&gt;use-package&lt;/code&gt; macro.&lt;/p&gt;
&lt;p&gt;if you happen to be a user of &lt;code class=&quot;hljs&quot;&gt;colorless-themes&lt;/code&gt;, feel free to shoot an email!
I would love to hear about your experience using a mostly colorless theme.&lt;/p&gt;
        
      </description>
    </item>
    
    
  </channel>
</rss>
