This commit is contained in:
SqrtMinusOne 2024-09-07 09:23:26 +00:00
parent 23dab61452
commit a399736a5f
67 changed files with 3337 additions and 3569 deletions

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -100,26 +93,26 @@
<table>
<thead>
<tr>
<th>Specialty</th>
<th>2.3.5 Mathematical and Software Support For Computer Systems, Complexes and Computer Networks</th>
<th style="text-align: left">Specialty</th>
<th style="text-align: left">2.3.5 Mathematical and Software Support For Computer Systems, Complexes and Computer Networks</th>
</tr>
</thead>
<tbody>
<tr>
<td>Supervisor</td>
<td>Ivan I. Kholod</td>
<td style="text-align: left">Supervisor</td>
<td style="text-align: left">Ivan I. Kholod</td>
</tr>
<tr>
<td>Department</td>
<td>Department of Information Systems</td>
<td style="text-align: left">Department</td>
<td style="text-align: left">Department of Information Systems</td>
</tr>
<tr>
<td>Faculty</td>
<td>Faculty of Computer Science and Technology</td>
<td style="text-align: left">Faculty</td>
<td style="text-align: left">Faculty of Computer Science and Technology</td>
</tr>
<tr>
<td>Dissertation title</td>
<td>Examination of Application of Federated Learning For Text Analysis in Recommender Systems</td>
<td style="text-align: left">Dissertation title</td>
<td style="text-align: left">Examination of Application of Federated Learning For Text Analysis in Recommender Systems</td>
</tr>
</tbody>
</table>
@ -130,22 +123,22 @@
<table>
<thead>
<tr>
<th>Specialty</th>
<th>09.04.04 Software Engineering</th>
<th style="text-align: left">Specialty</th>
<th style="text-align: left">09.04.04 Software Engineering</th>
</tr>
</thead>
<tbody>
<tr>
<td>Department</td>
<td>Department of Software Engineering and Computer Applications</td>
<td style="text-align: left">Department</td>
<td style="text-align: left">Department of Software Engineering and Computer Applications</td>
</tr>
<tr>
<td>Faculty</td>
<td>Faculty of Computer Science and Technology</td>
<td style="text-align: left">Faculty</td>
<td style="text-align: left">Faculty of Computer Science and Technology</td>
</tr>
<tr>
<td>Thesis title</td>
<td>Application of Text Analysis Methods to Recommend Educational Trajectories</td>
<td style="text-align: left">Thesis title</td>
<td style="text-align: left">Application of Text Analysis Methods to Recommend Educational Trajectories</td>
</tr>
</tbody>
</table>
@ -156,22 +149,22 @@
<table>
<thead>
<tr>
<th>Specialty</th>
<th>09.03.04 Software Engineering</th>
<th style="text-align: left">Specialty</th>
<th style="text-align: left">09.03.04 Software Engineering</th>
</tr>
</thead>
<tbody>
<tr>
<td>Department</td>
<td>Department of Software Engineering and Computer Applications</td>
<td style="text-align: left">Department</td>
<td style="text-align: left">Department of Software Engineering and Computer Applications</td>
</tr>
<tr>
<td>Faculty</td>
<td>Faculty of Computer Science and Technology</td>
<td style="text-align: left">Faculty</td>
<td style="text-align: left">Faculty of Computer Science and Technology</td>
</tr>
<tr>
<td>Thesis title</td>
<td>Development of the Software of Generation of Data Accounting System Mockups</td>
<td style="text-align: left">Thesis title</td>
<td style="text-align: left">Development of the Software of Generation of Data Accounting System Mockups</td>
</tr>
</tbody>
</table>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/categories/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -210,12 +203,12 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>xrdb</td>
<td style="text-align: left">xrdb</td>
</tr>
</tbody>
</table>
@ -284,12 +277,12 @@
</span></span></code></pre></div><table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>xhost</td>
<td style="text-align: left">xhost</td>
</tr>
</tbody>
</table>
@ -437,14 +430,14 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th>Description</th>
<th style="text-align: left">Guix dependency</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>fish</td>
<td>An alternative non POSIX-compliant shell</td>
<td style="text-align: left">fish</td>
<td style="text-align: left">An alternative non POSIX-compliant shell</td>
</tr>
</tbody>
</table>
@ -476,12 +469,12 @@
</span></span></code></pre></div><table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>dt-colorscripts</td>
<td style="text-align: left">dt-colorscripts</td>
</tr>
</tbody>
</table>
@ -546,12 +539,12 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>nushell-bin</td>
<td style="text-align: left">nushell-bin</td>
</tr>
</tbody>
</table>
@ -560,14 +553,14 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th>Description</th>
<th style="text-align: left">Guix dependency</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>starship-bin</td>
<td>my prompt of choice</td>
<td style="text-align: left">starship-bin</td>
<td style="text-align: left">my prompt of choice</td>
</tr>
</tbody>
</table>
@ -656,15 +649,15 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>tmux</td>
<td style="text-align: left">tmux</td>
</tr>
<tr>
<td>python-tmuxp</td>
<td style="text-align: left">python-tmuxp</td>
</tr>
</tbody>
</table>
@ -704,12 +697,12 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>xclip</td>
<td style="text-align: left">xclip</td>
</tr>
</tbody>
</table>
@ -743,12 +736,12 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>alacritty</td>
<td style="text-align: left">alacritty</td>
</tr>
</tbody>
</table>
@ -829,14 +822,14 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th>Description</th>
<th style="text-align: left">Guix dependency</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>bottom-bin</td>
<td>resource monitor</td>
<td style="text-align: left">bottom-bin</td>
<td style="text-align: left">resource monitor</td>
</tr>
</tbody>
</table>
@ -861,102 +854,102 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th>Description</th>
<th style="text-align: left">Guix dependency</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>ncurses</td>
<td>Provides stuff like <code>clear</code></td>
<td style="text-align: left">ncurses</td>
<td style="text-align: left">Provides stuff like <code>clear</code></td>
</tr>
<tr>
<td>exa</td>
<td><code>ls</code> replacement, written in Rust</td>
<td style="text-align: left">exa</td>
<td style="text-align: left"><code>ls</code> replacement, written in Rust</td>
</tr>
<tr>
<td>bat</td>
<td><code>cat</code> clone with syntax highlighting</td>
<td style="text-align: left">bat</td>
<td style="text-align: left"><code>cat</code> clone with syntax highlighting</td>
</tr>
<tr>
<td>htop</td>
<td>Interactive process viewer</td>
<td style="text-align: left">htop</td>
<td style="text-align: left">Interactive process viewer</td>
</tr>
<tr>
<td>nethogs</td>
<td>A tool to group processed by used bandwidth</td>
<td style="text-align: left">nethogs</td>
<td style="text-align: left">A tool to group processed by used bandwidth</td>
</tr>
<tr>
<td>osync</td>
<td>rsync wrapper</td>
<td style="text-align: left">osync</td>
<td style="text-align: left">rsync wrapper</td>
</tr>
<tr>
<td>neofetch</td>
<td>Fetch system info</td>
<td style="text-align: left">neofetch</td>
<td style="text-align: left">Fetch system info</td>
</tr>
<tr>
<td>fzf</td>
<td>fuzzy finder</td>
<td style="text-align: left">fzf</td>
<td style="text-align: left">fuzzy finder</td>
</tr>
<tr>
<td>p7zip</td>
<td>archiver</td>
<td style="text-align: left">p7zip</td>
<td style="text-align: left">archiver</td>
</tr>
<tr>
<td>password-store</td>
<td>CLI password manager</td>
<td style="text-align: left">password-store</td>
<td style="text-align: left">CLI password manager</td>
</tr>
<tr>
<td>zip</td>
<td></td>
<td style="text-align: left">zip</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>unzip</td>
<td></td>
<td style="text-align: left">unzip</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>jmtpfs</td>
<td>A tool to mount MTP devices (e.g. Android)</td>
<td style="text-align: left">jmtpfs</td>
<td style="text-align: left">A tool to mount MTP devices (e.g. Android)</td>
</tr>
<tr>
<td>tokei</td>
<td>Count lines of code</td>
<td style="text-align: left">tokei</td>
<td style="text-align: left">Count lines of code</td>
</tr>
<tr>
<td>sshfs</td>
<td>Mount stuff over SSH</td>
<td style="text-align: left">sshfs</td>
<td style="text-align: left">Mount stuff over SSH</td>
</tr>
<tr>
<td>lftp</td>
<td>File transfer</td>
<td style="text-align: left">lftp</td>
<td style="text-align: left">File transfer</td>
</tr>
<tr>
<td>git-lfs</td>
<td></td>
<td style="text-align: left">git-lfs</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>glibc-locales</td>
<td></td>
<td style="text-align: left">glibc-locales</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>direnv</td>
<td></td>
<td style="text-align: left">direnv</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>jless-bin</td>
<td>JSON viewer</td>
<td style="text-align: left">jless-bin</td>
<td style="text-align: left">JSON viewer</td>
</tr>
<tr>
<td>megacmd</td>
<td>mega.nz client</td>
<td style="text-align: left">megacmd</td>
<td style="text-align: left">mega.nz client</td>
</tr>
<tr>
<td>ncdu</td>
<td>disk usage analyzer</td>
<td style="text-align: left">ncdu</td>
<td style="text-align: left">disk usage analyzer</td>
</tr>
<tr>
<td>openssl</td>
<td></td>
<td style="text-align: left">openssl</td>
<td style="text-align: left"></td>
</tr>
</tbody>
</table>
@ -988,16 +981,16 @@
<table>
<thead>
<tr>
<th>Variable</th>
<th>Description</th>
<th>Default value</th>
<th style="text-align: left">Variable</th>
<th style="text-align: left">Description</th>
<th style="text-align: left">Default value</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>TIMEOUT_MIN</code></td>
<td>Default timeout</td>
<td>60</td>
<td style="text-align: left"><code>TIMEOUT_MIN</code></td>
<td style="text-align: left">Default timeout</td>
<td style="text-align: left">60</td>
</tr>
</tbody>
</table>
@ -1095,57 +1088,57 @@
<table>
<thead>
<tr>
<th>Package</th>
<th style="text-align: left">Package</th>
</tr>
</thead>
<tbody>
<tr>
<td>yadm</td>
<td style="text-align: left">yadm</td>
</tr>
<tr>
<td>gnupg</td>
<td style="text-align: left">gnupg</td>
</tr>
<tr>
<td>git</td>
<td style="text-align: left">git</td>
</tr>
<tr>
<td>which</td>
<td style="text-align: left">which</td>
</tr>
<tr>
<td>starship</td>
<td style="text-align: left">starship</td>
</tr>
<tr>
<td>atuin</td>
<td style="text-align: left">atuin</td>
</tr>
<tr>
<td>vim</td>
<td style="text-align: left">vim</td>
</tr>
<tr>
<td>tmux</td>
<td style="text-align: left">tmux</td>
</tr>
<tr>
<td>emacs</td>
<td style="text-align: left">emacs</td>
</tr>
<tr>
<td>make</td>
<td style="text-align: left">make</td>
</tr>
<tr>
<td>clang</td>
<td style="text-align: left">clang</td>
</tr>
<tr>
<td>ripgrep</td>
<td style="text-align: left">ripgrep</td>
</tr>
<tr>
<td>cmake</td>
<td style="text-align: left">cmake</td>
</tr>
<tr>
<td>gperf</td>
<td style="text-align: left">gperf</td>
</tr>
<tr>
<td>iproute2</td>
<td style="text-align: left">iproute2</td>
</tr>
<tr>
<td>wakatime-cli</td>
<td style="text-align: left">wakatime-cli</td>
</tr>
</tbody>
</table>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -548,41 +541,41 @@
<table>
<thead>
<tr>
<th>Category</th>
<th>Guix dependency</th>
<th>Description</th>
<th style="text-align: left">Category</th>
<th style="text-align: left">Guix dependency</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>system</td>
<td>patchelf</td>
<td>A program to modify existsing ELF executables</td>
<td style="text-align: left">system</td>
<td style="text-align: left">patchelf</td>
<td style="text-align: left">A program to modify existsing ELF executables</td>
</tr>
<tr>
<td>system</td>
<td>glibc</td>
<td>A lot of stuff, including ELF interpeter and <code>ldd</code></td>
<td style="text-align: left">system</td>
<td style="text-align: left">glibc</td>
<td style="text-align: left">A lot of stuff, including ELF interpeter and <code>ldd</code></td>
</tr>
<tr>
<td>system</td>
<td>tor-client</td>
<td></td>
<td style="text-align: left">system</td>
<td style="text-align: left">tor-client</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>system</td>
<td>torsocks</td>
<td></td>
<td style="text-align: left">system</td>
<td style="text-align: left">torsocks</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>system</td>
<td>vnstat</td>
<td></td>
<td style="text-align: left">system</td>
<td style="text-align: left">vnstat</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>system</td>
<td>nss-certs</td>
<td></td>
<td style="text-align: left">system</td>
<td style="text-align: left">nss-certs</td>
<td style="text-align: left"></td>
</tr>
</tbody>
</table>
@ -590,26 +583,26 @@
<table>
<thead>
<tr>
<th>Category</th>
<th>Guix dependency</th>
<th style="text-align: left">Category</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>system</td>
<td>openvpn</td>
<td style="text-align: left">system</td>
<td style="text-align: left">openvpn</td>
</tr>
<tr>
<td>system</td>
<td>openvpn-update-resolve-conf</td>
<td style="text-align: left">system</td>
<td style="text-align: left">openvpn-update-resolve-conf</td>
</tr>
<tr>
<td>system</td>
<td>openresolv</td>
<td style="text-align: left">system</td>
<td style="text-align: left">openresolv</td>
</tr>
<tr>
<td>system</td>
<td>vpnc</td>
<td style="text-align: left">system</td>
<td style="text-align: left">vpnc</td>
</tr>
</tbody>
</table>
@ -789,14 +782,14 @@ Also not necessary now. Just <code>herd stop vpn</code> and <code>sudo pkill vpn
<table>
<thead>
<tr>
<th>Note</th>
<th>Description</th>
<th style="text-align: left">Note</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>TODO</td>
<td>Package this for Guix</td>
<td style="text-align: left">TODO</td>
<td style="text-align: left">Package this for Guix</td>
</tr>
</tbody>
</table>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/configs/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -12,42 +12,42 @@
<link>https://sqrtminusone.xyz/configs/console/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/console/</guid>
<description>No matter from which side you approach penguins, more always come from behind&#xA;A friend of mine Colors Noweb function to get colors.&#xA;(let ((color (or (my/color-value name)))) (if (&amp;gt; quote 0) (concat &amp;#34;\&amp;#34;&amp;#34; color &amp;#34;\&amp;#34;&amp;#34;) color)) (let ((val (if (ct-light-p (my/color-value name)) (my/color-value &amp;#39;black) (my/color-value &amp;#39;white)))) (if (eq quote 1) (concat &amp;#34;\&amp;#34;&amp;#34; val &amp;#34;\&amp;#34;&amp;#34;) val)) (setq-local org-confirm-babel-evaluate nil) .profile Environment export QT_QPA_PLATFORMTHEME=&amp;#34;qt5ct&amp;#34; export QT_AUTO_SCREEN_SCALE_FACTOR=0 Set ripgrep config path</description>
<description>&lt;blockquote&gt;&#xA;&lt;p&gt;No matter from which side you approach penguins, more always come from behind&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A friend of mine&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;colors&#34;&gt;Colors&lt;/h2&gt;&#xA;&lt;p&gt;Noweb function to get colors.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;code-snippet--get-color&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&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;let&lt;/span&gt; ((&lt;span style=&#34;color:#19177c&#34;&gt;color&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;or&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;my/color-value&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;name&lt;/span&gt;))))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#00f&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;quote&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;0&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#00f&#34;&gt;concat&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;\&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;color&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;\&amp;#34;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;color&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pr</description>
</item>
<item>
<title>Desktop</title>
<link>https://sqrtminusone.xyz/configs/desktop/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/desktop/</guid>
<description>My general desktop environment configuration.&#xA;Parts prefixed with (OFF) are not used, but kept for historic purposes. For some reason GitHub&amp;rsquo;s org renderer ignores TODO status, hence such a prefix. Round brackets instead of square ones to prevent GitHub&amp;rsquo;s org renderer from screwing up.&#xA;References:&#xA;A few cases of literate configuration. A few interesting ways in which literate configuration is used in this file. Some remarks Removed features:&#xA;Feature Last commit rofi-buku e22476b0cc6315e104e5ce4de5559a61c830c429 Global customization Colors I used to define color codes here (see previous version of the file), now I just get colors from the current Emacs theme.</description>
<description>&lt;p&gt;My general desktop environment configuration.&lt;/p&gt;&#xA;&lt;p&gt;Parts prefixed with (OFF) are not used, but kept for historic purposes. For some reason GitHub&amp;rsquo;s org renderer ignores TODO status, hence such a prefix. Round brackets instead of square ones to prevent GitHub&amp;rsquo;s org renderer from screwing up.&lt;/p&gt;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://sqrtminusone.xyz/posts/2022-02-12-literate/&#34;&gt;A few cases of literate configuration&lt;/a&gt;. A few interesting ways in which literate configuration is used in this file.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;some-remarks&#34;&gt;Some remarks&lt;/h2&gt;&#xA;&lt;p&gt;Removed features:&lt;/p&gt;</description>
</item>
<item>
<title>Emacs config</title>
<link>https://sqrtminusone.xyz/configs/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/emacs/</guid>
<description>One day we won&amp;rsquo;t hate one another, no young boy will march to war and I will clean up my Emacs config. But that day isn&amp;rsquo;t today.&#xA;Me, &amp;lt;2021-05-27 Thu 17:35&amp;gt; in commit 93a0573. Adapted from The Dark Element - &amp;ldquo;The Pallbearer Walks Alone&amp;rdquo;. T_T Introduction My configuration of GNU Emacs, an awesome text editor piece of software that can do almost anything.&#xA;At the moment of writing this, that &amp;ldquo;almost anything&amp;rdquo; includes:</description>
<description>&lt;blockquote&gt;&#xA;&lt;p&gt;One day we won&amp;rsquo;t hate one another, no young boy will march to war and I will clean up my Emacs config. But that day isn&amp;rsquo;t today.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Me, &lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2021-05-27 Thu 17:35&amp;gt; &lt;/span&gt;&lt;/span&gt; in commit 93a0573. Adapted from &lt;a href=&#34;https://www.youtube.com/watch?v=pIdBinlW40E&#34;&gt;The Dark Element - &amp;ldquo;The Pallbearer Walks Alone&amp;rdquo;&lt;/a&gt;. T_T&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;My configuration of &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;GNU Emacs&lt;/a&gt;, an awesome &lt;del&gt;text editor&lt;/del&gt; piece of software that can do almost anything.&lt;/p&gt;</description>
</item>
<item>
<title>Guix</title>
<link>https://sqrtminusone.xyz/configs/guix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/guix/</guid>
<description>GNU Guix is (1) a transactional package manager and (2) a GNU/Linux distribution.&#xA;My personal selling points are declarative package configuration and transactional upgrades.&#xA;References:&#xA;Official help System Crafters wiki Pjotr Prins&amp;rsquo; Guix notes Davil Wilson&amp;rsquo;s YouTube series Profiles A profile is a way to group Guix packages. Amongst its advantages, profiles can be defined by manifests, which in turn can be stored in VCS.&#xA;References:&#xA;Guix Profiles in Practice Activate profiles A script to activate guix profiles.</description>
<description>&lt;p&gt;&lt;a href=&#34;https://guix.gnu.org/&#34;&gt;GNU Guix&lt;/a&gt; is (1) a transactional package manager and (2) a GNU/Linux distribution.&lt;/p&gt;&#xA;&lt;p&gt;My personal selling points are declarative package configuration and transactional upgrades.&lt;/p&gt;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://guix.gnu.org/en/help/&#34;&gt;Official help&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.systemcrafters.cc/guix&#34;&gt;System Crafters wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gitlab.com/pjotrp/guix-notes&#34;&gt;Pjotr Prins&amp;rsquo; Guix notes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=iBaqOK75cho&amp;amp;list=PLEoMzSkcN8oNxnj7jm5V2ZcGc52002pQU&#34;&gt;Davil Wilson&amp;rsquo;s YouTube series&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;profiles&#34;&gt;Profiles&lt;/h2&gt;&#xA;&lt;p&gt;A profile is a way to group Guix packages. Amongst its advantages, profiles can be defined by manifests, which in turn can be stored in VCS.&lt;/p&gt;</description>
</item>
<item>
<title>Mail</title>
<link>https://sqrtminusone.xyz/configs/mail/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/mail/</guid>
<description>:TOC: :include all :depth 3&#xA;My email configration. Currently I use lieer to fetch emails from Gmail, davmail &amp;amp; offlineimap to fetch emails from MS Exchange, notmuch to index, msmtp to send emails. Also using notmuch frontend from Emacs.&#xA;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.</description>
<description>&lt;p&gt;:TOC: :include all :depth 3&lt;/p&gt;&#xA;&lt;p&gt;My email configration. Currently I use &lt;a href=&#34;https://github.com/gauteh/lieer&#34;&gt;lieer&lt;/a&gt; to fetch emails from Gmail, &lt;a href=&#34;http://davmail.sourceforge.net/&#34;&gt;davmail&lt;/a&gt; &amp;amp; &lt;a href=&#34;http://www.offlineimap.org/&#34;&gt;offlineimap&lt;/a&gt; to fetch emails from MS Exchange, &lt;a href=&#34;https://notmuchmail.org/&#34;&gt;notmuch&lt;/a&gt; to index, &lt;a href=&#34;https://marlam.de/msmtp/&#34;&gt;msmtp&lt;/a&gt; to send emails. Also using notmuch frontend from Emacs.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;</description>
</item>
<item>
<title>My dotfiles</title>
<link>https://sqrtminusone.xyz/configs/readme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/readme/</guid>
<description>These are my GNU/Linux configuration files. View at GitHub.&#xA;I use the literate configuration strategy via Emacs&amp;rsquo; Org Mode wherever possible. It has its pros and cons, but I find it pretty nice to keep the configs interweaved with comments in a handful of files.&#xA;The files themselves are managed and deployed via yadm, although I use Org Mode for things like config templating.&#xA;My current GNU/Linux distribution is GNU Guix.</description>
<description>&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/ox-hugo/works-on-my-machine.svg&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;These are my GNU/Linux configuration files. &lt;a href=&#34;https://github.com/SqrtMinusOne/dotfiles&#34;&gt;View at GitHub&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I use the &lt;a href=&#34;https://leanpub.com/lit-config/read&#34;&gt;literate configuration&lt;/a&gt; strategy via Emacs&amp;rsquo; &lt;a href=&#34;https://orgmode.org/&#34;&gt;Org Mode&lt;/a&gt; wherever possible. It has its pros and cons, but I find it pretty nice to keep the configs interweaved with comments in a handful of files.&lt;/p&gt;&#xA;&lt;p&gt;The files themselves are managed and deployed via &lt;a href=&#34;https://yadm.io/&#34;&gt;yadm&lt;/a&gt;, although I use Org Mode for things like config templating.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -94,12 +87,12 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>python-lieer</td>
<td style="text-align: left">python-lieer</td>
</tr>
</tbody>
</table>
@ -136,12 +129,12 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>offlineimap</td>
<td style="text-align: left">offlineimap</td>
</tr>
</tbody>
</table>
@ -177,15 +170,15 @@
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>notmuch</td>
<td style="text-align: left">notmuch</td>
</tr>
<tr>
<td>parallel</td>
<td style="text-align: left">parallel</td>
</tr>
</tbody>
</table>
@ -226,62 +219,62 @@
<table>
<thead>
<tr>
<th>tag</th>
<th>folder</th>
<th style="text-align: left">tag</th>
<th style="text-align: left">folder</th>
</tr>
</thead>
<tbody>
<tr>
<td>inbox</td>
<td>INBOX</td>
<td style="text-align: left">inbox</td>
<td style="text-align: left">INBOX</td>
</tr>
<tr>
<td>sent</td>
<td>Sent</td>
<td style="text-align: left">sent</td>
<td style="text-align: left">Sent</td>
</tr>
<tr>
<td>spam</td>
<td>Junk</td>
<td style="text-align: left">spam</td>
<td style="text-align: left">Junk</td>
</tr>
<tr>
<td>trash</td>
<td>Trash</td>
<td style="text-align: left">trash</td>
<td style="text-align: left">Trash</td>
</tr>
<tr>
<td>job.digital</td>
<td>Job_Digital</td>
<td style="text-align: left">job.digital</td>
<td style="text-align: left">Job_Digital</td>
</tr>
<tr>
<td>job.digital.docs</td>
<td>Job_Digital.Docs</td>
<td style="text-align: left">job.digital.docs</td>
<td style="text-align: left">Job_Digital.Docs</td>
</tr>
<tr>
<td>job.digital.support</td>
<td>Job_Digital.Support</td>
<td style="text-align: left">job.digital.support</td>
<td style="text-align: left">Job_Digital.Support</td>
</tr>
<tr>
<td>job.digital.superservice</td>
<td>Job_Digital.Superservice</td>
<td style="text-align: left">job.digital.superservice</td>
<td style="text-align: left">Job_Digital.Superservice</td>
</tr>
<tr>
<td>job.digital.applicants</td>
<td>Job_Digital.Applicants</td>
<td style="text-align: left">job.digital.applicants</td>
<td style="text-align: left">Job_Digital.Applicants</td>
</tr>
<tr>
<td>job.digital.testers</td>
<td>Job_Digital.Testers</td>
<td style="text-align: left">job.digital.testers</td>
<td style="text-align: left">Job_Digital.Testers</td>
</tr>
<tr>
<td>job.moevm</td>
<td>Job_Moevm</td>
<td style="text-align: left">job.moevm</td>
<td style="text-align: left">Job_Moevm</td>
</tr>
<tr>
<td>etu</td>
<td>Etu</td>
<td style="text-align: left">etu</td>
<td style="text-align: left">Etu</td>
</tr>
<tr>
<td>etu.grad-school</td>
<td>Etu.Grad_School</td>
<td style="text-align: left">etu.grad-school</td>
<td style="text-align: left">Etu.Grad_School</td>
</tr>
</tbody>
</table>
@ -408,12 +401,12 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>msmtp</td>
<td style="text-align: left">msmtp</td>
</tr>
</tbody>
</table>
@ -450,12 +443,12 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
<table>
<thead>
<tr>
<th>Guix dependency</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>emacs-notmuch</td>
<td style="text-align: left">emacs-notmuch</td>
</tr>
</tbody>
</table>
@ -524,26 +517,26 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
<table>
<thead>
<tr>
<th>Root tag</th>
<th>Prefix</th>
<th>Keybinding description</th>
<th style="text-align: left">Root tag</th>
<th style="text-align: left">Prefix</th>
<th style="text-align: left">Keybinding description</th>
</tr>
</thead>
<tbody>
<tr>
<td>main</td>
<td>m</td>
<td><a href="mailto:thexcloud@gmail.com">thexcloud@gmail.com</a></td>
<td style="text-align: left">main</td>
<td style="text-align: left">m</td>
<td style="text-align: left"><a href="mailto:thexcloud@gmail.com">thexcloud@gmail.com</a></td>
</tr>
<tr>
<td>progin</td>
<td>p</td>
<td><a href="mailto:progin6304@gmail.com">progin6304@gmail.com</a></td>
<td style="text-align: left">progin</td>
<td style="text-align: left">p</td>
<td style="text-align: left"><a href="mailto:progin6304@gmail.com">progin6304@gmail.com</a></td>
</tr>
<tr>
<td>pvkorytov</td>
<td>v</td>
<td><a href="mailto:pvkorytov@etu.ru">pvkorytov@etu.ru</a></td>
<td style="text-align: left">pvkorytov</td>
<td style="text-align: left">v</td>
<td style="text-align: left"><a href="mailto:pvkorytov@etu.ru">pvkorytov@etu.ru</a></td>
</tr>
</tbody>
</table>
@ -551,31 +544,31 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
<table>
<thead>
<tr>
<th>Tag</th>
<th>Prefix</th>
<th>Name</th>
<th style="text-align: left">Tag</th>
<th style="text-align: left">Prefix</th>
<th style="text-align: left">Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>inbox</td>
<td>i</td>
<td>inbox</td>
<td style="text-align: left">inbox</td>
<td style="text-align: left">i</td>
<td style="text-align: left">inbox</td>
</tr>
<tr>
<td>unread</td>
<td>u</td>
<td>unread</td>
<td style="text-align: left">unread</td>
<td style="text-align: left">u</td>
<td style="text-align: left">unread</td>
</tr>
<tr>
<td>sent</td>
<td>s</td>
<td>sent</td>
<td style="text-align: left">sent</td>
<td style="text-align: left">s</td>
<td style="text-align: left">sent</td>
</tr>
<tr>
<td></td>
<td>a</td>
<td>all mail</td>
<td style="text-align: left"></td>
<td style="text-align: left">a</td>
<td style="text-align: left">all mail</td>
</tr>
</tbody>
</table>
@ -617,6 +610,7 @@ 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">sign</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">encrypt</span>))))
</span></span></code></pre></div><h3 id="tuning-signature">Tuning signature</h3>
<p>Edit <span class="timestamp-wrapper"><span class="timestamp">&lt;2024-08-19 Mon&gt;</span></span>: Apparently this was a feature, not a bug. Disabling this.</p>
<p>By default, <code>message.el</code> inserts the signature at the bottom of the message, like this:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>&lt;message text&gt;
</span></span><span style="display:flex;"><span>
@ -640,8 +634,9 @@ Remove <code>TAG</code> from emails which are outside the matching <code>PATH</c
</span></span><span style="display:flex;"><span>&gt; Stuff
</span></span></code></pre></div><p>So here I modifiy the citation function to insert the signature like in the second example for <del>certain cases</del>.</p>
<p>Edit <span class="timestamp-wrapper"><span class="timestamp">&lt;2022-10-27 Thu&gt;</span></span>: for consistency&rsquo;s sake, I&rsquo;ll make the signature on the top for all cases.</p>
<p>Edit <span class="timestamp-wrapper"><span class="timestamp">&lt;2024-08-19 Mon&gt;</span></span>: see above</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/message-insert-signature-need-on-top</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">nil</span>)
</span></span></code></pre></div><p>Then advice the <code>notmuch-mua-reply</code> function:</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/message-maybe-fix-signature</span> (<span style="color:#008000">&amp;rest</span> <span style="color:#19177c">_</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">when</span> (<span style="color:#19177c">my/message-insert-signature-need-on-top</span>)

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -149,13 +142,13 @@
<li>Git repo: <a href="https://github.com/SqrtMinusOne/elfeed-summary">https://github.com/SqrtMinusOne/elfeed-summary</a></li>
<li>Package at MELPA: <a href="https://melpa.org/#/elfeed-summary">https://melpa.org/#/elfeed-summary</a></li>
</ul>
<h2 id="password-store-ivy">password-store-ivy</h2>
<p>Auto-type fields from <a href="https://www.passwordstore.org/">pass</a> entries. Essentially, this is a reimplementation of <a href="https://github.com/carnager/rofi-pass">rofi-pass</a> with <a href="https://github.com/abo-abo/swiper">Ivy</a> which I made after migrating to <a href="https://github.com/ch11ng/exwm">EXWM</a>. I used to use the package with <a href="https://github.com/tumashu/ivy-posframe">ivy-posframe</a>, but the latter turned out to be unnecessary.</p>
<p>I might archive this if I switch to a different completion framework (or even ditch the WM), which is why I&rsquo;m not submitting it anywhere. But the package is pretty simple.</p>
<h2 id="password-store-completion">password-store-completion</h2>
<p>Auto-type fields from <a href="https://www.passwordstore.org/">pass</a> entries. Essentially, this is a reimplementation of <a href="https://github.com/carnager/rofi-pass">rofi-pass</a> with <code>completing-read</code> which I made after migrating to <a href="https://github.com/ch11ng/exwm">EXWM</a>.</p>
<p>It was called <code>password-store-ivy</code> before, but I&rsquo;ve changed the name after I switched to vertico and added <code>completing-read</code> (+ embark integration) to the package.</p>
<ul>
<li>Package name: <code>password-store-ivy</code></li>
<li>Homepage: <a href="https://sqrtminusone.xyz/packages/password-store-ivy">https://sqrtminusone.xyz/packages/password-store-ivy</a></li>
<li>Git repo: <a href="https://github.com/SqrtMinusOne/password-store-ivy">https://github.com/SqrtMinusOne/password-store-ivy</a></li>
<li>Package name: <code>password-store-completion</code></li>
<li>Homepage: <a href="https://sqrtminusone.xyz/packages/password-store-completion">https://sqrtminusone.xyz/packages/password-store-completion</a></li>
<li>Git repo: <a href="https://github.com/SqrtMinusOne/password-store-completion">https://github.com/SqrtMinusOne/password-store-completion</a></li>
</ul>
<h2 id="org-journal-tags">Org Journal Tags</h2>
<p>The package extends <a href="https://github.com/bastibe/org-journal">org-journal</a> by introducing &ldquo;tags&rdquo; that reference a journal section or subset thereof. These tags can be later queried. The package also provides a UI with statistics about tags and things like records on this day a year ago.</p>
@ -215,7 +208,7 @@
<li><a href="#elfeed-sync">Elfeed Sync</a></li>
<li><a href="#avy-dired">avy-dired</a></li>
<li><a href="#elfeed-summary">Elfeed Summary</a></li>
<li><a href="#password-store-ivy">password-store-ivy</a></li>
<li><a href="#password-store-completion">password-store-completion</a></li>
<li><a href="#org-journal-tags">Org Journal Tags</a></li>
<li><a href="#exwm-modeline">EXWM Modeline</a></li>
<li><a href="#perspective-exwm">perspective-exwm</a></li>

View file

@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang=""><head>
<meta name="generator" content="Hugo 0.131.0">
<meta name="generator" content="Hugo 0.134.1">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@ -20,13 +20,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

413
index.xml
View file

@ -39,51 +39,51 @@
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;atuin field (see &lt;code&gt;help atuin search&lt;/code&gt;)&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Flag&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;atuin field (see &lt;code&gt;help atuin search&lt;/code&gt;)&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;%t&lt;/td&gt;
&lt;td&gt;&lt;code&gt;time&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%t&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%c&lt;/td&gt;
&lt;td&gt;&lt;code&gt;command&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%c&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;command&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%e&lt;/td&gt;
&lt;td&gt;&lt;code&gt;exit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%e&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;exit&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%d&lt;/td&gt;
&lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%d&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%i&lt;/td&gt;
&lt;td&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%i&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%u&lt;/td&gt;
&lt;td&gt;&lt;code&gt;user&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%u&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;user&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%h&lt;/td&gt;
&lt;td&gt;&lt;code&gt;host&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%h&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;host&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%r&lt;/td&gt;
&lt;td&gt;&lt;code&gt;relativetime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%r&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;relativetime&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -188,66 +188,66 @@
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Comment&lt;/th&gt;
&lt;th&gt;Customization variables&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Name&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Comment&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Customization variables&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Category&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Category&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Org file&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Org file&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outline path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Outline path&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tags&lt;/td&gt;
&lt;td&gt;Sorted alphabetically&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Tags&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Sorted alphabetically&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Headline&lt;/td&gt;
&lt;td&gt;Last item of the outline path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Headline&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Last item of the outline path&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-day-format&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Day&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-day-format&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Week&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-week-format&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Week&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-week-format&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Month&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-month-format&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Month&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-month-format&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TODO keyword&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;TODO keyword&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Is done&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Is done&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Selected props&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-properties&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Selected props&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-properties&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -2785,46 +2785,46 @@ To mark such entries as read, run &lt;code&gt;M-x elfeed-sync-read-ttrss-old&lt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Keybinding&lt;/th&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Keybinding&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;RET&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--action&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open thing under the cursor (a feed, search, or a group). If there is at least one unread item, it will show only unread items.&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;RET&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--action&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Open thing under the cursor (a feed, search, or a group). If there is at least one unread item, it will show only unread items.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;M-RET&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--action-show-read&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open thing under the cursor, but always include read items&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;M-RET&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--action-show-read&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Open thing under the cursor, but always include read items&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&amp;hellip;&lt;/td&gt;
&lt;td&gt;Quit the summary buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&amp;hellip;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Quit the summary buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--refresh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Refresh the summary buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--refresh&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Refresh the summary buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary-update&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Run update for elfeed feeds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary-update&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Run update for elfeed feeds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary-toggle-only-unread&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Toggle showing only unread entries&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary-toggle-only-unread&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Toggle showing only unread entries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;U&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--action-mark-read&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mark everything in the entry under the cursor as read&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;U&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--action-mark-read&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Mark everything in the entry under the cursor as read&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -3145,39 +3145,44 @@ assigned to group with the least amount of members.&lt;/li&gt;
</item>
<item>
<title>password-store-ivy</title>
<link>https://sqrtminusone.xyz/packages/password-store-ivy/</link>
<title>password-store-completion</title>
<link>https://sqrtminusone.xyz/packages/password-store-completion/</link>
<pubDate>Sun, 13 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/packages/password-store-ivy/</guid>
<guid>https://sqrtminusone.xyz/packages/password-store-completion/</guid>
<content type="html">
&lt;p&gt;A &lt;a href=&#34;https://www.passwordstore.org/&#34;&gt;pass&lt;/a&gt; frontend based on &lt;a href=&#34;https://github.com/abo-abo/swiper#ivy&#34;&gt;Ivy&lt;/a&gt;, made primarily to use with &lt;a href=&#34;https://github.com/ch11ng/exwm&#34;&gt;EXWM&lt;/a&gt; and &lt;a href=&#34;https://github.com/tumashu/ivy-posframe&#34;&gt;ivy-posframe&lt;/a&gt;. Types fields from entries.&lt;/p&gt;
&lt;p&gt;Also take a look at Nicolas Petton&amp;rsquo;s &lt;a href=&#34;https://github.com/NicolasPetton/pass&#34;&gt;pass&lt;/a&gt;, &lt;code&gt;password-store-ivy&lt;/code&gt; is designed as complementary to the Nicolas&amp;rsquo; package.&lt;/p&gt;
&lt;p&gt;This package is made with Ivy because I need some fine-tuning like actions and turning off sorting in some completions, and Ivy happens to be the completion system I&amp;rsquo;m using now.&lt;/p&gt;
&lt;p&gt;A completion-based pass frontend inspired by &lt;a href=&#34;https://github.com/carnager/rofi-pass&#34;&gt;rofi-pass&lt;/a&gt;. Integrates with &lt;a href=&#34;https://github.com/abo-abo/swiper&#34;&gt;Ivy&lt;/a&gt; or &lt;a href=&#34;https://github.com/oantolin/embark&#34;&gt;Embark&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The main purpose is typing passwords with &lt;code&gt;xdotool&lt;/code&gt; (useful in &lt;a href=&#34;https://github.com/emacs-exwm/exwm&#34;&gt;EXWM&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Also take a look at Nicolas Petton&amp;rsquo;s &lt;a href=&#34;https://github.com/NicolasPetton/pass&#34;&gt;pass&lt;/a&gt;. &lt;code&gt;password-store-completion&lt;/code&gt; is designed as complementary to Nicolas&amp;rsquo; package.&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;p&gt;As the package isnt yet available anywhere but in this repository, you can clone the repository, add it to the load-path and require the package. My preferred way is &lt;code&gt;use-package&lt;/code&gt; with &lt;code&gt;straight&lt;/code&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;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;password-store-ivy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:host&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;github&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;SqrtMinusOne/password-store-ivy&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:after&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;exwm&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This package types stuff with &lt;code&gt;xdotool&lt;/code&gt;, so you need to have that available in your &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;As the package isn&amp;rsquo;t yet available anywhere but in this repository, you can clone the repository, add it to the load-path, and require the package. My preferred way is &lt;code&gt;use-package&lt;/code&gt; with &lt;code&gt;straight&lt;/code&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;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;password-store-completion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:host&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;github&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;SqrtMinusOne/password-store-completion&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;xdotool&lt;/code&gt; has to be available in &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For Ivy integration:&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;require&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;&amp;#39;password-store-ivy&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Also be sure to load the main package before Ivy.&lt;/p&gt;
&lt;p&gt;For Embark integration:&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;require&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;&amp;#39;password-store-embark&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#19177c&#34;&gt;password-store-embark-mode&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;p&gt;Emacs&amp;rsquo; built-in &lt;a href=&#34;https://www.gnu.org/software/emacs/manual/html_node/auth/The-Unix-password-store.html&#34;&gt;password store&lt;/a&gt; integration has to be set up.&lt;/p&gt;
&lt;p&gt;The only command is &lt;code&gt;M-x password-store-ivy&lt;/code&gt;, which invokes Ivy to select an entry from the pass database. Available commands in the selection buffer:&lt;/p&gt;
&lt;p&gt;For Ivy integration, the command is &lt;code&gt;M-x password-store-ivy&lt;/code&gt;, which invokes Ivy to select an entry from the pass database. Available commands in the selection buffer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;M-a&lt;/code&gt;. Perform autotype&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-p&lt;/code&gt;. Type password&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-u&lt;/code&gt;. Type username&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-U&lt;/code&gt;. Type url&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-f&lt;/code&gt;. Select a field to type&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-a&lt;/code&gt;: Perform autotype&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-p&lt;/code&gt;: Type password&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-u&lt;/code&gt;: Type username&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-U&lt;/code&gt;: Type URL&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-f&lt;/code&gt;: Select a field to type&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For other completion frameworks, run &lt;code&gt;M-x password-store-completion&lt;/code&gt;. If Embark integration is enabled, the same actions are added.&lt;/p&gt;
&lt;h2 id=&#34;customization&#34;&gt;Customization&lt;/h2&gt;
&lt;p&gt;There are a few parameters that control delays:&lt;/p&gt;
&lt;p&gt;The following parameters control delays:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;password-store-ivy-initial-wait&lt;/code&gt; controls the initial delay before starting to type a sequence (in milliseconds)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password-store-ivy-delay&lt;/code&gt; controls the delay between typing characters (in milliseconds)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password-store-completion-initial-wait&lt;/code&gt; controls the initial delay before starting to type a sequence (in milliseconds)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password-store-completion-delay&lt;/code&gt; controls the delay between typing characters (in milliseconds)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is also &lt;code&gt;password-store-ivy-sequences&lt;/code&gt; that determines the sequence of actions &lt;code&gt;password-store-ivy&lt;/code&gt; performs.&lt;/p&gt;
&lt;p&gt;It is an alist with the following required keys (corresponding to the basic actions):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;password-store-completion-sequences&lt;/code&gt; determines the steps of sequences. It is an alist; the keys correspond to the default sequences:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;autotype&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password&lt;/code&gt;&lt;/li&gt;
@ -3186,12 +3191,12 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The values are lists of the following elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wait&lt;/code&gt;. Wait for &lt;code&gt;password-store-ivy-initial-wait&lt;/code&gt; milliseconds&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(wait &amp;lt;milliseconds&amp;gt;)&lt;/code&gt;. Wait for &lt;code&gt;&amp;lt;milliseconds&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(key &amp;lt;key&amp;gt;)&lt;/code&gt;. Type &lt;code&gt;&amp;lt;key&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(field &amp;lt;field&amp;gt;)&lt;/code&gt;. Type &lt;code&gt;&amp;lt;field&amp;gt;&lt;/code&gt; of entry.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wait&lt;/code&gt;: Wait for &lt;code&gt;password-store-completion-initial-wait&lt;/code&gt; milliseconds&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(wait &amp;lt;milliseconds&amp;gt;)&lt;/code&gt;: Wait for &lt;code&gt;&amp;lt;milliseconds&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(key &amp;lt;key&amp;gt;)&lt;/code&gt;: Type &lt;code&gt;&amp;lt;key&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(field &amp;lt;field&amp;gt;)&lt;/code&gt;: Type &lt;code&gt;&amp;lt;field&amp;gt;&lt;/code&gt; of entry&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, the starting values:&lt;/p&gt;
&lt;p&gt;The default value is as follows:&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:#666&#34;&gt;&amp;#39;&lt;/span&gt;((&lt;span style=&#34;color:#19177c&#34;&gt;autotype&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;Tab&amp;#34;&lt;/span&gt;)
@ -3200,13 +3205,19 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;password&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;secret&lt;/span&gt;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;username&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;url&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;))))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In addition to the global override, sequences can be overriden per-entry with a field called &lt;code&gt;sequence-&amp;lt;name&amp;gt;&lt;/code&gt;, where &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; is a key of &lt;code&gt;password-store-ivy-sequences&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, here is an override to press &lt;code&gt;Tab&lt;/code&gt; twice:&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sequences can also be overridden in a particular entry with a field called &lt;code&gt;sequence-&amp;lt;name&amp;gt;&lt;/code&gt;, where &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; is a key of &lt;code&gt;password-store-completion-sequences&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, to press &lt;code&gt;Tab&lt;/code&gt; twice in the &lt;code&gt;autotype&lt;/code&gt; sequence:&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-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;pass&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username: thexcloud@gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url: &amp;lt;url&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sequence-autotype: (wait (field . &amp;#34;username&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (field . secret) (key . &amp;#34;Return&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or, create a custom sequence:&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-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;pass&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username: thexcloud@gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url: &amp;lt;url&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sequence-doubletab: (wait (field . &amp;#34;username&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (field . secret) (key . &amp;#34;Return&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Custom sequences can be run in the field selection interface (&lt;code&gt;M-f&lt;/code&gt; in Ivy, &lt;code&gt;M-x embark-act f&lt;/code&gt; in Embark).&lt;/p&gt;
</content>
</item>
@ -3355,14 +3366,14 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Guix dependency&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Category&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Guix dependency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;desktop-polybar&lt;/td&gt;
&lt;td&gt;sunwait&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;desktop-polybar&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;sunwait&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -3370,14 +3381,14 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Guix dependency&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Category&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Guix dependency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;desktop-polybar&lt;/td&gt;
&lt;td&gt;dateutils&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;desktop-polybar&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;dateutils&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -3500,24 +3511,24 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;block1&lt;/th&gt;
&lt;th&gt;glyph&lt;/th&gt;
&lt;th&gt;block2&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;block1&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;glyph&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;block2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;foreground&lt;/td&gt;
&lt;td&gt;F1&lt;/td&gt;
&lt;td&gt;B2&lt;/td&gt;
&lt;td&gt;F2&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;foreground&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;F1&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B2&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;F2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;background&lt;/td&gt;
&lt;td&gt;B1&lt;/td&gt;
&lt;td&gt;B1&lt;/td&gt;
&lt;td&gt;B2&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;background&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B1&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B1&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -3820,31 +3831,31 @@ timestamps by their date.&lt;/li&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Set operation&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Set operation&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Union&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;old new&lt;/td&gt;
&lt;td&gt;Add records of the new query to the displayed records&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Union&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;old new&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Add records of the new query to the displayed records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Intersection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;old ∩ new&lt;/td&gt;
&lt;td&gt;Leave only those records that are both displayed and in the new query&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Intersection&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;old ∩ new&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Leave only those records that are both displayed and in the new query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Difference from current&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;old \ new&lt;/td&gt;
&lt;td&gt;Exclude records of the new query from the displayed records&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Difference from current&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;old \ new&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Exclude records of the new query from the displayed records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Difference to current&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;new \ old&lt;/td&gt;
&lt;td&gt;Exclude displayed records from ones of the new query&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Difference to current&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;new \ old&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Exclude displayed records from ones of the new query&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -4540,70 +4551,70 @@ interval = 1
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Package&lt;/th&gt;
&lt;th&gt;3rd party integrations&lt;/th&gt;
&lt;th&gt;Control method (1)&lt;/th&gt;
&lt;th&gt;Persistent history&lt;/th&gt;
&lt;th&gt;Persistent state&lt;/th&gt;
&lt;th&gt;Notifications&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Package&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;3rd party integrations&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Control method (1)&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Persistent history&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Persistent state&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Notifications&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/SqrtMinusOne/pomm.el&#34;&gt;pomm.el&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;transient.el&lt;/td&gt;
&lt;td&gt;CSV&lt;/td&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;alert.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/SqrtMinusOne/pomm.el&#34;&gt;pomm.el&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;transient.el&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;CSV&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;+&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;alert.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/marcinkoziej/org-pomodoro/tree/master&#34;&gt;org-pomodoro&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Org Mode!&lt;/td&gt;
&lt;td&gt;via Org commands&lt;/td&gt;
&lt;td&gt;via Org mode&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;alert.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/marcinkoziej/org-pomodoro/tree/master&#34;&gt;org-pomodoro&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Org Mode!&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;via Org commands&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;via Org mode&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;alert.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/TatriX/pomidor/&#34;&gt;pomidor&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td&gt;custom delimited format?&lt;/td&gt;
&lt;td&gt;+, but saving on-demand&lt;/td&gt;
&lt;td&gt;alert.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/TatriX/pomidor/&#34;&gt;pomidor&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;custom delimited format?&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;+, but saving on-demand&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;alert.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/baudtack/pomodoro.el/&#34;&gt;pomodoro.el&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;notifications.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/baudtack/pomodoro.el/&#34;&gt;pomodoro.el&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;notifications.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/konr/tomatinho/&#34;&gt;tomatinho&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;message + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/konr/tomatinho/&#34;&gt;tomatinho&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;message + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/ferfebles/redtick&#34;&gt;redtick&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;mode-line icon&lt;/td&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/ferfebles/redtick&#34;&gt;redtick&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;mode-line icon&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;+&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/abo-abo/gtk-pomodoro-indicator&#34;&gt;gtk-pomodoro-indicator&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;GTK panel&lt;/td&gt;
&lt;td&gt;CLI&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-, but the program is independent of Emacs&lt;/td&gt;
&lt;td&gt;GTK notifications&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/abo-abo/gtk-pomodoro-indicator&#34;&gt;gtk-pomodoro-indicator&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;GTK panel&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;CLI&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-, but the program is independent of Emacs&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;GTK notifications&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -112,46 +105,46 @@
<table>
<thead>
<tr>
<th>Keybinding</th>
<th>Command</th>
<th>Description</th>
<th style="text-align: left">Keybinding</th>
<th style="text-align: left">Command</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>RET</code></td>
<td><code>elfeed-summary--action</code></td>
<td>Open thing under the cursor (a feed, search, or a group). If there is at least one unread item, it will show only unread items.</td>
<td style="text-align: left"><code>RET</code></td>
<td style="text-align: left"><code>elfeed-summary--action</code></td>
<td style="text-align: left">Open thing under the cursor (a feed, search, or a group). If there is at least one unread item, it will show only unread items.</td>
</tr>
<tr>
<td><code>M-RET</code></td>
<td><code>elfeed-summary--action-show-read</code></td>
<td>Open thing under the cursor, but always include read items</td>
<td style="text-align: left"><code>M-RET</code></td>
<td style="text-align: left"><code>elfeed-summary--action-show-read</code></td>
<td style="text-align: left">Open thing under the cursor, but always include read items</td>
</tr>
<tr>
<td><code>q</code></td>
<td>&hellip;</td>
<td>Quit the summary buffer</td>
<td style="text-align: left"><code>q</code></td>
<td style="text-align: left">&hellip;</td>
<td style="text-align: left">Quit the summary buffer</td>
</tr>
<tr>
<td><code>r</code></td>
<td><code>elfeed-summary--refresh</code></td>
<td>Refresh the summary buffer</td>
<td style="text-align: left"><code>r</code></td>
<td style="text-align: left"><code>elfeed-summary--refresh</code></td>
<td style="text-align: left">Refresh the summary buffer</td>
</tr>
<tr>
<td><code>R</code></td>
<td><code>elfeed-summary-update</code></td>
<td>Run update for elfeed feeds</td>
<td style="text-align: left"><code>R</code></td>
<td style="text-align: left"><code>elfeed-summary-update</code></td>
<td style="text-align: left">Run update for elfeed feeds</td>
</tr>
<tr>
<td><code>u</code></td>
<td><code>elfeed-summary-toggle-only-unread</code></td>
<td>Toggle showing only unread entries</td>
<td style="text-align: left"><code>u</code></td>
<td style="text-align: left"><code>elfeed-summary-toggle-only-unread</code></td>
<td style="text-align: left">Toggle showing only unread entries</td>
</tr>
<tr>
<td><code>U</code></td>
<td><code>elfeed-summary--action-mark-read</code></td>
<td>Mark everything in the entry under the cursor as read</td>
<td style="text-align: left"><code>U</code></td>
<td style="text-align: left"><code>elfeed-summary--action-mark-read</code></td>
<td style="text-align: left">Mark everything in the entry under the cursor as read</td>
</tr>
</tbody>
</table>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -111,51 +104,51 @@
<table>
<thead>
<tr>
<th>Flag</th>
<th>atuin field (see <code>help atuin search</code>)</th>
<th>Required</th>
<th style="text-align: left">Flag</th>
<th style="text-align: left">atuin field (see <code>help atuin search</code>)</th>
<th style="text-align: left">Required</th>
</tr>
</thead>
<tbody>
<tr>
<td>%t</td>
<td><code>time</code></td>
<td><strong>+</strong></td>
<td style="text-align: left">%t</td>
<td style="text-align: left"><code>time</code></td>
<td style="text-align: left"><strong>+</strong></td>
</tr>
<tr>
<td>%c</td>
<td><code>command</code></td>
<td><strong>+</strong></td>
<td style="text-align: left">%c</td>
<td style="text-align: left"><code>command</code></td>
<td style="text-align: left"><strong>+</strong></td>
</tr>
<tr>
<td>%e</td>
<td><code>exit</code></td>
<td></td>
<td style="text-align: left">%e</td>
<td style="text-align: left"><code>exit</code></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>%d</td>
<td><code>duration</code></td>
<td></td>
<td style="text-align: left">%d</td>
<td style="text-align: left"><code>duration</code></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>%i</td>
<td><code>directory</code></td>
<td></td>
<td style="text-align: left">%i</td>
<td style="text-align: left"><code>directory</code></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>%u</td>
<td><code>user</code></td>
<td></td>
<td style="text-align: left">%u</td>
<td style="text-align: left"><code>user</code></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>%h</td>
<td><code>host</code></td>
<td></td>
<td style="text-align: left">%h</td>
<td style="text-align: left"><code>host</code></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>%r</td>
<td><code>relativetime</code></td>
<td></td>
<td style="text-align: left">%r</td>
<td style="text-align: left"><code>relativetime</code></td>
<td style="text-align: left"></td>
</tr>
</tbody>
</table>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/packages/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -92,7 +85,7 @@
<li><a href="https://sqrtminusone.xyz/packages/elfeed-summary/">2022-03-26 | elfeed-summary</a></li>
<li><a href="https://sqrtminusone.xyz/packages/password-store-ivy/">2022-02-13 | password-store-ivy</a></li>
<li><a href="https://sqrtminusone.xyz/packages/password-store-completion/">2022-02-13 | password-store-completion</a></li>
<li><a href="https://sqrtminusone.xyz/packages/org-journal-tags/">2022-02-06 | org-journal-tags</a></li>

View file

@ -39,51 +39,51 @@
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;atuin field (see &lt;code&gt;help atuin search&lt;/code&gt;)&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Flag&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;atuin field (see &lt;code&gt;help atuin search&lt;/code&gt;)&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Required&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;%t&lt;/td&gt;
&lt;td&gt;&lt;code&gt;time&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%t&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%c&lt;/td&gt;
&lt;td&gt;&lt;code&gt;command&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%c&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;command&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%e&lt;/td&gt;
&lt;td&gt;&lt;code&gt;exit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%e&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;exit&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%d&lt;/td&gt;
&lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%d&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%i&lt;/td&gt;
&lt;td&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%i&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%u&lt;/td&gt;
&lt;td&gt;&lt;code&gt;user&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%u&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;user&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%h&lt;/td&gt;
&lt;td&gt;&lt;code&gt;host&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%h&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;host&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%r&lt;/td&gt;
&lt;td&gt;&lt;code&gt;relativetime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;%r&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;relativetime&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -188,66 +188,66 @@
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Comment&lt;/th&gt;
&lt;th&gt;Customization variables&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Name&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Comment&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Customization variables&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Category&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Category&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Org file&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Org file&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outline path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Outline path&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tags&lt;/td&gt;
&lt;td&gt;Sorted alphabetically&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Tags&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Sorted alphabetically&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Headline&lt;/td&gt;
&lt;td&gt;Last item of the outline path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Headline&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Last item of the outline path&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-day-format&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Day&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-day-format&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Week&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-week-format&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Week&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-week-format&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Month&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-month-format&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Month&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-month-format&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TODO keyword&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;TODO keyword&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Is done&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Is done&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Selected props&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;org-clock-agg-properties&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Selected props&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;org-clock-agg-properties&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -797,46 +797,46 @@ To mark such entries as read, run &lt;code&gt;M-x elfeed-sync-read-ttrss-old&lt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Keybinding&lt;/th&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Keybinding&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;RET&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--action&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open thing under the cursor (a feed, search, or a group). If there is at least one unread item, it will show only unread items.&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;RET&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--action&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Open thing under the cursor (a feed, search, or a group). If there is at least one unread item, it will show only unread items.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;M-RET&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--action-show-read&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open thing under the cursor, but always include read items&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;M-RET&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--action-show-read&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Open thing under the cursor, but always include read items&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&amp;hellip;&lt;/td&gt;
&lt;td&gt;Quit the summary buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&amp;hellip;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Quit the summary buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--refresh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Refresh the summary buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--refresh&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Refresh the summary buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary-update&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Run update for elfeed feeds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary-update&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Run update for elfeed feeds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary-toggle-only-unread&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Toggle showing only unread entries&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;u&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary-toggle-only-unread&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Toggle showing only unread entries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;U&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;elfeed-summary--action-mark-read&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mark everything in the entry under the cursor as read&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;U&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;elfeed-summary--action-mark-read&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Mark everything in the entry under the cursor as read&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -1157,39 +1157,44 @@ assigned to group with the least amount of members.&lt;/li&gt;
</item>
<item>
<title>password-store-ivy</title>
<link>https://sqrtminusone.xyz/packages/password-store-ivy/</link>
<title>password-store-completion</title>
<link>https://sqrtminusone.xyz/packages/password-store-completion/</link>
<pubDate>Sun, 13 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/packages/password-store-ivy/</guid>
<guid>https://sqrtminusone.xyz/packages/password-store-completion/</guid>
<content type="html">
&lt;p&gt;A &lt;a href=&#34;https://www.passwordstore.org/&#34;&gt;pass&lt;/a&gt; frontend based on &lt;a href=&#34;https://github.com/abo-abo/swiper#ivy&#34;&gt;Ivy&lt;/a&gt;, made primarily to use with &lt;a href=&#34;https://github.com/ch11ng/exwm&#34;&gt;EXWM&lt;/a&gt; and &lt;a href=&#34;https://github.com/tumashu/ivy-posframe&#34;&gt;ivy-posframe&lt;/a&gt;. Types fields from entries.&lt;/p&gt;
&lt;p&gt;Also take a look at Nicolas Petton&amp;rsquo;s &lt;a href=&#34;https://github.com/NicolasPetton/pass&#34;&gt;pass&lt;/a&gt;, &lt;code&gt;password-store-ivy&lt;/code&gt; is designed as complementary to the Nicolas&amp;rsquo; package.&lt;/p&gt;
&lt;p&gt;This package is made with Ivy because I need some fine-tuning like actions and turning off sorting in some completions, and Ivy happens to be the completion system I&amp;rsquo;m using now.&lt;/p&gt;
&lt;p&gt;A completion-based pass frontend inspired by &lt;a href=&#34;https://github.com/carnager/rofi-pass&#34;&gt;rofi-pass&lt;/a&gt;. Integrates with &lt;a href=&#34;https://github.com/abo-abo/swiper&#34;&gt;Ivy&lt;/a&gt; or &lt;a href=&#34;https://github.com/oantolin/embark&#34;&gt;Embark&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The main purpose is typing passwords with &lt;code&gt;xdotool&lt;/code&gt; (useful in &lt;a href=&#34;https://github.com/emacs-exwm/exwm&#34;&gt;EXWM&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Also take a look at Nicolas Petton&amp;rsquo;s &lt;a href=&#34;https://github.com/NicolasPetton/pass&#34;&gt;pass&lt;/a&gt;. &lt;code&gt;password-store-completion&lt;/code&gt; is designed as complementary to Nicolas&amp;rsquo; package.&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;p&gt;As the package isnt yet available anywhere but in this repository, you can clone the repository, add it to the load-path and require the package. My preferred way is &lt;code&gt;use-package&lt;/code&gt; with &lt;code&gt;straight&lt;/code&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;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;password-store-ivy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:host&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;github&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;SqrtMinusOne/password-store-ivy&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:after&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;exwm&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This package types stuff with &lt;code&gt;xdotool&lt;/code&gt;, so you need to have that available in your &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;As the package isn&amp;rsquo;t yet available anywhere but in this repository, you can clone the repository, add it to the load-path, and require the package. My preferred way is &lt;code&gt;use-package&lt;/code&gt; with &lt;code&gt;straight&lt;/code&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;use-package&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;password-store-completion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#008000&#34;&gt;:host&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;github&lt;/span&gt; &lt;span style=&#34;color:#008000&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;SqrtMinusOne/password-store-completion&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;xdotool&lt;/code&gt; has to be available in &lt;code&gt;$PATH&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For Ivy integration:&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;require&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;&amp;#39;password-store-ivy&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Also be sure to load the main package before Ivy.&lt;/p&gt;
&lt;p&gt;For Embark integration:&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;require&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;&amp;#39;password-store-embark&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#19177c&#34;&gt;password-store-embark-mode&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;p&gt;Emacs&amp;rsquo; built-in &lt;a href=&#34;https://www.gnu.org/software/emacs/manual/html_node/auth/The-Unix-password-store.html&#34;&gt;password store&lt;/a&gt; integration has to be set up.&lt;/p&gt;
&lt;p&gt;The only command is &lt;code&gt;M-x password-store-ivy&lt;/code&gt;, which invokes Ivy to select an entry from the pass database. Available commands in the selection buffer:&lt;/p&gt;
&lt;p&gt;For Ivy integration, the command is &lt;code&gt;M-x password-store-ivy&lt;/code&gt;, which invokes Ivy to select an entry from the pass database. Available commands in the selection buffer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;M-a&lt;/code&gt;. Perform autotype&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-p&lt;/code&gt;. Type password&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-u&lt;/code&gt;. Type username&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-U&lt;/code&gt;. Type url&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-f&lt;/code&gt;. Select a field to type&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-a&lt;/code&gt;: Perform autotype&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-p&lt;/code&gt;: Type password&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-u&lt;/code&gt;: Type username&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-U&lt;/code&gt;: Type URL&lt;/li&gt;
&lt;li&gt;&lt;code&gt;M-f&lt;/code&gt;: Select a field to type&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For other completion frameworks, run &lt;code&gt;M-x password-store-completion&lt;/code&gt;. If Embark integration is enabled, the same actions are added.&lt;/p&gt;
&lt;h2 id=&#34;customization&#34;&gt;Customization&lt;/h2&gt;
&lt;p&gt;There are a few parameters that control delays:&lt;/p&gt;
&lt;p&gt;The following parameters control delays:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;password-store-ivy-initial-wait&lt;/code&gt; controls the initial delay before starting to type a sequence (in milliseconds)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password-store-ivy-delay&lt;/code&gt; controls the delay between typing characters (in milliseconds)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password-store-completion-initial-wait&lt;/code&gt; controls the initial delay before starting to type a sequence (in milliseconds)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password-store-completion-delay&lt;/code&gt; controls the delay between typing characters (in milliseconds)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is also &lt;code&gt;password-store-ivy-sequences&lt;/code&gt; that determines the sequence of actions &lt;code&gt;password-store-ivy&lt;/code&gt; performs.&lt;/p&gt;
&lt;p&gt;It is an alist with the following required keys (corresponding to the basic actions):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;password-store-completion-sequences&lt;/code&gt; determines the steps of sequences. It is an alist; the keys correspond to the default sequences:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;autotype&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password&lt;/code&gt;&lt;/li&gt;
@ -1198,12 +1203,12 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The values are lists of the following elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wait&lt;/code&gt;. Wait for &lt;code&gt;password-store-ivy-initial-wait&lt;/code&gt; milliseconds&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(wait &amp;lt;milliseconds&amp;gt;)&lt;/code&gt;. Wait for &lt;code&gt;&amp;lt;milliseconds&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(key &amp;lt;key&amp;gt;)&lt;/code&gt;. Type &lt;code&gt;&amp;lt;key&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(field &amp;lt;field&amp;gt;)&lt;/code&gt;. Type &lt;code&gt;&amp;lt;field&amp;gt;&lt;/code&gt; of entry.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wait&lt;/code&gt;: Wait for &lt;code&gt;password-store-completion-initial-wait&lt;/code&gt; milliseconds&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(wait &amp;lt;milliseconds&amp;gt;)&lt;/code&gt;: Wait for &lt;code&gt;&amp;lt;milliseconds&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(key &amp;lt;key&amp;gt;)&lt;/code&gt;: Type &lt;code&gt;&amp;lt;key&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;(field &amp;lt;field&amp;gt;)&lt;/code&gt;: Type &lt;code&gt;&amp;lt;field&amp;gt;&lt;/code&gt; of entry&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, the starting values:&lt;/p&gt;
&lt;p&gt;The default value is as follows:&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:#666&#34;&gt;&amp;#39;&lt;/span&gt;((&lt;span style=&#34;color:#19177c&#34;&gt;autotype&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;Tab&amp;#34;&lt;/span&gt;)
@ -1212,13 +1217,19 @@ assigned to group with the least amount of members.&lt;/li&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;password&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#19177c&#34;&gt;secret&lt;/span&gt;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;username&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;url&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;wait&lt;/span&gt; (&lt;span style=&#34;color:#19177c&#34;&gt;field&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#ba2121&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;))))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In addition to the global override, sequences can be overriden per-entry with a field called &lt;code&gt;sequence-&amp;lt;name&amp;gt;&lt;/code&gt;, where &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; is a key of &lt;code&gt;password-store-ivy-sequences&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, here is an override to press &lt;code&gt;Tab&lt;/code&gt; twice:&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sequences can also be overridden in a particular entry with a field called &lt;code&gt;sequence-&amp;lt;name&amp;gt;&lt;/code&gt;, where &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; is a key of &lt;code&gt;password-store-completion-sequences&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, to press &lt;code&gt;Tab&lt;/code&gt; twice in the &lt;code&gt;autotype&lt;/code&gt; sequence:&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-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;pass&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username: thexcloud@gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url: &amp;lt;url&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sequence-autotype: (wait (field . &amp;#34;username&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (field . secret) (key . &amp;#34;Return&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or, create a custom sequence:&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-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;pass&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username: thexcloud@gmail.com
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url: &amp;lt;url&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sequence-doubletab: (wait (field . &amp;#34;username&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (key . &amp;#34;Tab&amp;#34;) (field . secret) (key . &amp;#34;Return&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Custom sequences can be run in the field selection interface (&lt;code&gt;M-f&lt;/code&gt; in Ivy, &lt;code&gt;M-x embark-act f&lt;/code&gt; in Embark).&lt;/p&gt;
</content>
</item>
@ -1321,31 +1332,31 @@ timestamps by their date.&lt;/li&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Set operation&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Set operation&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Union&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;old new&lt;/td&gt;
&lt;td&gt;Add records of the new query to the displayed records&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Union&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;old new&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Add records of the new query to the displayed records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Intersection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;old ∩ new&lt;/td&gt;
&lt;td&gt;Leave only those records that are both displayed and in the new query&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Intersection&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;old ∩ new&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Leave only those records that are both displayed and in the new query&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Difference from current&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;old \ new&lt;/td&gt;
&lt;td&gt;Exclude records of the new query from the displayed records&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Difference from current&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;old \ new&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Exclude records of the new query from the displayed records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Difference to current&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;new \ old&lt;/td&gt;
&lt;td&gt;Exclude displayed records from ones of the new query&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;Difference to current&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;new \ old&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Exclude displayed records from ones of the new query&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -1654,70 +1665,70 @@ interval = 1
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Package&lt;/th&gt;
&lt;th&gt;3rd party integrations&lt;/th&gt;
&lt;th&gt;Control method (1)&lt;/th&gt;
&lt;th&gt;Persistent history&lt;/th&gt;
&lt;th&gt;Persistent state&lt;/th&gt;
&lt;th&gt;Notifications&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Package&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;3rd party integrations&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Control method (1)&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Persistent history&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Persistent state&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Notifications&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/SqrtMinusOne/pomm.el&#34;&gt;pomm.el&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;transient.el&lt;/td&gt;
&lt;td&gt;CSV&lt;/td&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;alert.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/SqrtMinusOne/pomm.el&#34;&gt;pomm.el&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;transient.el&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;CSV&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;+&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;alert.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/marcinkoziej/org-pomodoro/tree/master&#34;&gt;org-pomodoro&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Org Mode!&lt;/td&gt;
&lt;td&gt;via Org commands&lt;/td&gt;
&lt;td&gt;via Org mode&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;alert.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/marcinkoziej/org-pomodoro/tree/master&#34;&gt;org-pomodoro&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;Org Mode!&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;via Org commands&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;via Org mode&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;alert.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/TatriX/pomidor/&#34;&gt;pomidor&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td&gt;custom delimited format?&lt;/td&gt;
&lt;td&gt;+, but saving on-demand&lt;/td&gt;
&lt;td&gt;alert.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/TatriX/pomidor/&#34;&gt;pomidor&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;custom delimited format?&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;+, but saving on-demand&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;alert.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/baudtack/pomodoro.el/&#34;&gt;pomodoro.el&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;notifications.el + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/baudtack/pomodoro.el/&#34;&gt;pomodoro.el&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;notifications.el + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/konr/tomatinho/&#34;&gt;tomatinho&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;message + sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/konr/tomatinho/&#34;&gt;tomatinho&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;self-cooked interactive buffer&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;message + sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/ferfebles/redtick&#34;&gt;redtick&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;mode-line icon&lt;/td&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;sounds&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/ferfebles/redtick&#34;&gt;redtick&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;mode-line icon&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;+&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;sounds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/abo-abo/gtk-pomodoro-indicator&#34;&gt;gtk-pomodoro-indicator&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;GTK panel&lt;/td&gt;
&lt;td&gt;CLI&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-, but the program is independent of Emacs&lt;/td&gt;
&lt;td&gt;GTK notifications&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://github.com/abo-abo/gtk-pomodoro-indicator&#34;&gt;gtk-pomodoro-indicator&lt;/a&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;GTK panel&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;CLI&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;-, but the program is independent of Emacs&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;GTK notifications&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -152,66 +145,66 @@
<table>
<thead>
<tr>
<th>Name</th>
<th>Comment</th>
<th>Customization variables</th>
<th style="text-align: left">Name</th>
<th style="text-align: left">Comment</th>
<th style="text-align: left">Customization variables</th>
</tr>
</thead>
<tbody>
<tr>
<td>Category</td>
<td></td>
<td></td>
<td style="text-align: left">Category</td>
<td style="text-align: left"></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Org file</td>
<td></td>
<td></td>
<td style="text-align: left">Org file</td>
<td style="text-align: left"></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Outline path</td>
<td></td>
<td></td>
<td style="text-align: left">Outline path</td>
<td style="text-align: left"></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Tags</td>
<td>Sorted alphabetically</td>
<td></td>
<td style="text-align: left">Tags</td>
<td style="text-align: left">Sorted alphabetically</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Headline</td>
<td>Last item of the outline path</td>
<td></td>
<td style="text-align: left">Headline</td>
<td style="text-align: left">Last item of the outline path</td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Day</td>
<td></td>
<td><code>org-clock-agg-day-format</code></td>
<td style="text-align: left">Day</td>
<td style="text-align: left"></td>
<td style="text-align: left"><code>org-clock-agg-day-format</code></td>
</tr>
<tr>
<td>Week</td>
<td></td>
<td><code>org-clock-agg-week-format</code></td>
<td style="text-align: left">Week</td>
<td style="text-align: left"></td>
<td style="text-align: left"><code>org-clock-agg-week-format</code></td>
</tr>
<tr>
<td>Month</td>
<td></td>
<td><code>org-clock-agg-month-format</code></td>
<td style="text-align: left">Month</td>
<td style="text-align: left"></td>
<td style="text-align: left"><code>org-clock-agg-month-format</code></td>
</tr>
<tr>
<td>TODO keyword</td>
<td></td>
<td></td>
<td style="text-align: left">TODO keyword</td>
<td style="text-align: left"></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Is done</td>
<td></td>
<td></td>
<td style="text-align: left">Is done</td>
<td style="text-align: left"></td>
<td style="text-align: left"></td>
</tr>
<tr>
<td>Selected props</td>
<td></td>
<td><code>org-clock-agg-properties</code></td>
<td style="text-align: left">Selected props</td>
<td style="text-align: left"></td>
<td style="text-align: left"><code>org-clock-agg-properties</code></td>
</tr>
</tbody>
</table>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -178,31 +171,31 @@ timestamps by their date.</li>
<table>
<thead>
<tr>
<th>Command</th>
<th>Set operation</th>
<th>Description</th>
<th style="text-align: left">Command</th>
<th style="text-align: left">Set operation</th>
<th style="text-align: left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Union</strong></td>
<td>old new</td>
<td>Add records of the new query to the displayed records</td>
<td style="text-align: left"><strong>Union</strong></td>
<td style="text-align: left">old new</td>
<td style="text-align: left">Add records of the new query to the displayed records</td>
</tr>
<tr>
<td><strong>Intersection</strong></td>
<td>old ∩ new</td>
<td>Leave only those records that are both displayed and in the new query</td>
<td style="text-align: left"><strong>Intersection</strong></td>
<td style="text-align: left">old ∩ new</td>
<td style="text-align: left">Leave only those records that are both displayed and in the new query</td>
</tr>
<tr>
<td><strong>Difference from current</strong></td>
<td>old \ new</td>
<td>Exclude records of the new query from the displayed records</td>
<td style="text-align: left"><strong>Difference from current</strong></td>
<td style="text-align: left">old \ new</td>
<td style="text-align: left">Exclude records of the new query from the displayed records</td>
</tr>
<tr>
<td><strong>Difference to current</strong></td>
<td>new \ old</td>
<td>Exclude displayed records from ones of the new query</td>
<td style="text-align: left"><strong>Difference to current</strong></td>
<td style="text-align: left">new \ old</td>
<td style="text-align: left">Exclude displayed records from ones of the new query</td>
</tr>
</tbody>
</table>

View file

@ -3,7 +3,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>password-store-ivy</title>
<title>password-store-completion</title>
<meta name="description" content="Freedom is a state of mind">
<meta name="author" content='SqrtMinusOne'>
@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -74,45 +67,50 @@
<script defer language="javascript" type="text/javascript" src="/js/dynamic-toc.js"></script>
<div class="root">
<h1 id="title-small-screen">
password-store-ivy
password-store-completion
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=password-store-ivy&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=password-store-completion&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1>
<div class="container" id="actual-content">
<h1 id="title-large-screen" class="dotfiles-title">
password-store-ivy
password-store-completion
<iframe src="https://ghbtns.com/github-btn.html?user=SqrtMinusOne&repo=password-store-ivy&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=password-store-completion&type=star&count=true" frameborder="0" scrolling="0" width="150" height="20" title="GitHub"></iframe>
</h1>
<p>A <a href="https://www.passwordstore.org/">pass</a> frontend based on <a href="https://github.com/abo-abo/swiper#ivy">Ivy</a>, made primarily to use with <a href="https://github.com/ch11ng/exwm">EXWM</a> and <a href="https://github.com/tumashu/ivy-posframe">ivy-posframe</a>. Types fields from entries.</p>
<p>Also take a look at Nicolas Petton&rsquo;s <a href="https://github.com/NicolasPetton/pass">pass</a>, <code>password-store-ivy</code> is designed as complementary to the Nicolas&rsquo; package.</p>
<p>This package is made with Ivy because I need some fine-tuning like actions and turning off sorting in some completions, and Ivy happens to be the completion system I&rsquo;m using now.</p>
<p>A completion-based pass frontend inspired by <a href="https://github.com/carnager/rofi-pass">rofi-pass</a>. Integrates with <a href="https://github.com/abo-abo/swiper">Ivy</a> or <a href="https://github.com/oantolin/embark">Embark</a>.</p>
<p>The main purpose is typing passwords with <code>xdotool</code> (useful in <a href="https://github.com/emacs-exwm/exwm">EXWM</a>).</p>
<p>Also take a look at Nicolas Petton&rsquo;s <a href="https://github.com/NicolasPetton/pass">pass</a>. <code>password-store-completion</code> is designed as complementary to Nicolas&rsquo; package.</p>
<h2 id="installation">Installation</h2>
<p>As the package isnt yet available anywhere but in this repository, you can clone the repository, add it to the load-path and require the package. My preferred way is <code>use-package</code> with <code>straight</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">password-store-ivy</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;SqrtMinusOne/password-store-ivy&#34;</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:after</span> (<span style="color:#19177c">exwm</span>))
</span></span></code></pre></div><p>This package types stuff with <code>xdotool</code>, so you need to have that available in your <code>$PATH</code>.</p>
<h2 id="usage">Usage</h2>
<p>As the package isn&rsquo;t yet available anywhere but in this repository, you can clone the repository, add it to the load-path, and require the package. My preferred way is <code>use-package</code> with <code>straight</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">password-store-completion</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;SqrtMinusOne/password-store-completion&#34;</span>))
</span></span></code></pre></div><p><code>xdotool</code> has to be available in <code>$PATH</code>.</p>
<p>For Ivy integration:</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">require</span> <span style="color:#19177c">&#39;password-store-ivy</span>)
</span></span></code></pre></div><p>Also be sure to load the main package before Ivy.</p>
<p>For Embark integration:</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">require</span> <span style="color:#19177c">&#39;password-store-embark</span>)
</span></span><span style="display:flex;"><span>(<span style="color:#19177c">password-store-embark-mode</span>)
</span></span></code></pre></div><h2 id="usage">Usage</h2>
<p>Emacs&rsquo; built-in <a href="https://www.gnu.org/software/emacs/manual/html_node/auth/The-Unix-password-store.html">password store</a> integration has to be set up.</p>
<p>The only command is <code>M-x password-store-ivy</code>, which invokes Ivy to select an entry from the pass database. Available commands in the selection buffer:</p>
<p>For Ivy integration, the command is <code>M-x password-store-ivy</code>, which invokes Ivy to select an entry from the pass database. Available commands in the selection buffer:</p>
<ul>
<li><code>M-a</code>. Perform autotype</li>
<li><code>M-p</code>. Type password</li>
<li><code>M-u</code>. Type username</li>
<li><code>M-U</code>. Type url</li>
<li><code>M-f</code>. Select a field to type</li>
<li><code>M-a</code>: Perform autotype</li>
<li><code>M-p</code>: Type password</li>
<li><code>M-u</code>: Type username</li>
<li><code>M-U</code>: Type URL</li>
<li><code>M-f</code>: Select a field to type</li>
</ul>
<p>For other completion frameworks, run <code>M-x password-store-completion</code>. If Embark integration is enabled, the same actions are added.</p>
<h2 id="customization">Customization</h2>
<p>There are a few parameters that control delays:</p>
<p>The following parameters control delays:</p>
<ul>
<li><code>password-store-ivy-initial-wait</code> controls the initial delay before starting to type a sequence (in milliseconds)</li>
<li><code>password-store-ivy-delay</code> controls the delay between typing characters (in milliseconds)</li>
<li><code>password-store-completion-initial-wait</code> controls the initial delay before starting to type a sequence (in milliseconds)</li>
<li><code>password-store-completion-delay</code> controls the delay between typing characters (in milliseconds)</li>
</ul>
<p>There is also <code>password-store-ivy-sequences</code> that determines the sequence of actions <code>password-store-ivy</code> performs.</p>
<p>It is an alist with the following required keys (corresponding to the basic actions):</p>
<p><code>password-store-completion-sequences</code> determines the steps of sequences. It is an alist; the keys correspond to the default sequences:</p>
<ul>
<li><code>autotype</code></li>
<li><code>password</code></li>
@ -121,12 +119,12 @@
</ul>
<p>The values are lists of the following elements:</p>
<ul>
<li><code>wait</code>. Wait for <code>password-store-ivy-initial-wait</code> milliseconds</li>
<li><code>(wait &lt;milliseconds&gt;)</code>. Wait for <code>&lt;milliseconds&gt;</code>.</li>
<li><code>(key &lt;key&gt;)</code>. Type <code>&lt;key&gt;</code>.</li>
<li><code>(field &lt;field&gt;)</code>. Type <code>&lt;field&gt;</code> of entry.</li>
<li><code>wait</code>: Wait for <code>password-store-completion-initial-wait</code> milliseconds</li>
<li><code>(wait &lt;milliseconds&gt;)</code>: Wait for <code>&lt;milliseconds&gt;</code></li>
<li><code>(key &lt;key&gt;)</code>: Type <code>&lt;key&gt;</code></li>
<li><code>(field &lt;field&gt;)</code>: Type <code>&lt;field&gt;</code> of entry</li>
</ul>
<p>For example, the starting values:</p>
<p>The default value is as follows:</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:#666">&#39;</span>((<span style="color:#19177c">autotype</span> <span style="color:#666">.</span> (<span style="color:#19177c">wait</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">field</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;username&#34;</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">key</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;Tab&#34;</span>)
@ -135,13 +133,19 @@
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">password</span> <span style="color:#666">.</span> (<span style="color:#19177c">wait</span> (<span style="color:#19177c">field</span> <span style="color:#666">.</span> <span style="color:#19177c">secret</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">username</span> <span style="color:#666">.</span> (<span style="color:#19177c">wait</span> (<span style="color:#19177c">field</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;username&#34;</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">url</span> <span style="color:#666">.</span> (<span style="color:#19177c">wait</span> (<span style="color:#19177c">field</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;url&#34;</span>))))
</span></span></code></pre></div><p>In addition to the global override, sequences can be overriden per-entry with a field called <code>sequence-&lt;name&gt;</code>, where <code>&lt;name&gt;</code> is a key of <code>password-store-ivy-sequences</code>.</p>
<p>For example, here is an override to press <code>Tab</code> twice:</p>
</span></span></code></pre></div><p>Sequences can also be overridden in a particular entry with a field called <code>sequence-&lt;name&gt;</code>, where <code>&lt;name&gt;</code> is a key of <code>password-store-completion-sequences</code>.</p>
<p>For example, to press <code>Tab</code> twice in the <code>autotype</code> sequence:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>&lt;pass&gt;
</span></span><span style="display:flex;"><span>username: thexcloud@gmail.com
</span></span><span style="display:flex;"><span>url: &lt;url&gt;
</span></span><span style="display:flex;"><span>sequence-autotype: (wait (field . &#34;username&#34;) (key . &#34;Tab&#34;) (key . &#34;Tab&#34;) (field . secret) (key . &#34;Return&#34;))
</span></span></code></pre></div>
</span></span></code></pre></div><p>Or, create a custom sequence:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>&lt;pass&gt;
</span></span><span style="display:flex;"><span>username: thexcloud@gmail.com
</span></span><span style="display:flex;"><span>url: &lt;url&gt;
</span></span><span style="display:flex;"><span>sequence-doubletab: (wait (field . &#34;username&#34;) (key . &#34;Tab&#34;) (key . &#34;Tab&#34;) (field . secret) (key . &#34;Return&#34;))
</span></span></code></pre></div><p>Custom sequences can be run in the field selection interface (<code>M-f</code> in Ivy, <code>M-x embark-act f</code> in Embark).</p>
</div>
<div class="table-of-contents">
<div class="table-of-contents-text">

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -197,70 +190,70 @@ interval = 1
<table>
<thead>
<tr>
<th>Package</th>
<th>3rd party integrations</th>
<th>Control method (1)</th>
<th>Persistent history</th>
<th>Persistent state</th>
<th>Notifications</th>
<th style="text-align: left">Package</th>
<th style="text-align: left">3rd party integrations</th>
<th style="text-align: left">Control method (1)</th>
<th style="text-align: left">Persistent history</th>
<th style="text-align: left">Persistent state</th>
<th style="text-align: left">Notifications</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/SqrtMinusOne/pomm.el">pomm.el</a></td>
<td>-</td>
<td>transient.el</td>
<td>CSV</td>
<td>+</td>
<td>alert.el + sounds</td>
<td style="text-align: left"><a href="https://github.com/SqrtMinusOne/pomm.el">pomm.el</a></td>
<td style="text-align: left">-</td>
<td style="text-align: left">transient.el</td>
<td style="text-align: left">CSV</td>
<td style="text-align: left">+</td>
<td style="text-align: left">alert.el + sounds</td>
</tr>
<tr>
<td><a href="https://github.com/marcinkoziej/org-pomodoro/tree/master">org-pomodoro</a></td>
<td>Org Mode!</td>
<td>via Org commands</td>
<td>via Org mode</td>
<td>-</td>
<td>alert.el + sounds</td>
<td style="text-align: left"><a href="https://github.com/marcinkoziej/org-pomodoro/tree/master">org-pomodoro</a></td>
<td style="text-align: left">Org Mode!</td>
<td style="text-align: left">via Org commands</td>
<td style="text-align: left">via Org mode</td>
<td style="text-align: left">-</td>
<td style="text-align: left">alert.el + sounds</td>
</tr>
<tr>
<td><a href="https://github.com/TatriX/pomidor/">pomidor</a></td>
<td>-</td>
<td>self-cooked interactive buffer</td>
<td>custom delimited format?</td>
<td>+, but saving on-demand</td>
<td>alert.el + sounds</td>
<td style="text-align: left"><a href="https://github.com/TatriX/pomidor/">pomidor</a></td>
<td style="text-align: left">-</td>
<td style="text-align: left">self-cooked interactive buffer</td>
<td style="text-align: left">custom delimited format?</td>
<td style="text-align: left">+, but saving on-demand</td>
<td style="text-align: left">alert.el + sounds</td>
</tr>
<tr>
<td><a href="https://github.com/baudtack/pomodoro.el/">pomodoro.el</a></td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>notifications.el + sounds</td>
<td style="text-align: left"><a href="https://github.com/baudtack/pomodoro.el/">pomodoro.el</a></td>
<td style="text-align: left">-</td>
<td style="text-align: left">-</td>
<td style="text-align: left">-</td>
<td style="text-align: left">-</td>
<td style="text-align: left">notifications.el + sounds</td>
</tr>
<tr>
<td><a href="https://github.com/konr/tomatinho/">tomatinho</a></td>
<td>-</td>
<td>self-cooked interactive buffer</td>
<td>-</td>
<td>-</td>
<td>message + sounds</td>
<td style="text-align: left"><a href="https://github.com/konr/tomatinho/">tomatinho</a></td>
<td style="text-align: left">-</td>
<td style="text-align: left">self-cooked interactive buffer</td>
<td style="text-align: left">-</td>
<td style="text-align: left">-</td>
<td style="text-align: left">message + sounds</td>
</tr>
<tr>
<td><a href="https://github.com/ferfebles/redtick">redtick</a></td>
<td>-</td>
<td>mode-line icon</td>
<td>+</td>
<td>-</td>
<td>sounds</td>
<td style="text-align: left"><a href="https://github.com/ferfebles/redtick">redtick</a></td>
<td style="text-align: left">-</td>
<td style="text-align: left">mode-line icon</td>
<td style="text-align: left">+</td>
<td style="text-align: left">-</td>
<td style="text-align: left">sounds</td>
</tr>
<tr>
<td><a href="https://github.com/abo-abo/gtk-pomodoro-indicator">gtk-pomodoro-indicator</a></td>
<td>GTK panel</td>
<td>CLI</td>
<td>-</td>
<td>-, but the program is independent of Emacs</td>
<td>GTK notifications</td>
<td style="text-align: left"><a href="https://github.com/abo-abo/gtk-pomodoro-indicator">gtk-pomodoro-indicator</a></td>
<td style="text-align: left">GTK panel</td>
<td style="text-align: left">CLI</td>
<td style="text-align: left">-</td>
<td style="text-align: left">-, but the program is independent of Emacs</td>
<td style="text-align: left">GTK notifications</td>
</tr>
</tbody>
</table>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>
@ -215,14 +208,14 @@
<table>
<thead>
<tr>
<th>Category</th>
<th>Guix dependency</th>
<th style="text-align: left">Category</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>desktop-polybar</td>
<td>sunwait</td>
<td style="text-align: left">desktop-polybar</td>
<td style="text-align: left">sunwait</td>
</tr>
</tbody>
</table>
@ -230,14 +223,14 @@
<table>
<thead>
<tr>
<th>Category</th>
<th>Guix dependency</th>
<th style="text-align: left">Category</th>
<th style="text-align: left">Guix dependency</th>
</tr>
</thead>
<tbody>
<tr>
<td>desktop-polybar</td>
<td>dateutils</td>
<td style="text-align: left">desktop-polybar</td>
<td style="text-align: left">dateutils</td>
</tr>
</tbody>
</table>
@ -360,24 +353,24 @@
<table>
<thead>
<tr>
<th></th>
<th>block1</th>
<th>glyph</th>
<th>block2</th>
<th style="text-align: left"></th>
<th style="text-align: left">block1</th>
<th style="text-align: left">glyph</th>
<th style="text-align: left">block2</th>
</tr>
</thead>
<tbody>
<tr>
<td>foreground</td>
<td>F1</td>
<td>B2</td>
<td>F2</td>
<td style="text-align: left">foreground</td>
<td style="text-align: left">F1</td>
<td style="text-align: left">B2</td>
<td style="text-align: left">F2</td>
</tr>
<tr>
<td>background</td>
<td>B1</td>
<td>B1</td>
<td>B2</td>
<td style="text-align: left">background</td>
<td style="text-align: left">B1</td>
<td style="text-align: left">B1</td>
<td style="text-align: left">B2</td>
</tr>
</tbody>
</table>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -18,13 +18,6 @@
<link rel="icon" type="image/ico" href="https://sqrtminusone.xyz/favicon.ico">
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/posts/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -2140,14 +2140,14 @@ I&amp;rsquo;ve seen a couple of cases where people would swap their username and
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Guix dependency&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Category&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Guix dependency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;desktop-polybar&lt;/td&gt;
&lt;td&gt;sunwait&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;desktop-polybar&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;sunwait&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -2155,14 +2155,14 @@ I&amp;rsquo;ve seen a couple of cases where people would swap their username and
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Guix dependency&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Category&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;Guix dependency&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;desktop-polybar&lt;/td&gt;
&lt;td&gt;dateutils&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;desktop-polybar&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;dateutils&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
@ -2285,24 +2285,24 @@ I&amp;rsquo;ve seen a couple of cases where people would swap their username and
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;block1&lt;/th&gt;
&lt;th&gt;glyph&lt;/th&gt;
&lt;th&gt;block2&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;block1&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;glyph&lt;/th&gt;
&lt;th style=&#34;text-align: left&#34;&gt;block2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;foreground&lt;/td&gt;
&lt;td&gt;F1&lt;/td&gt;
&lt;td&gt;B2&lt;/td&gt;
&lt;td&gt;F2&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;foreground&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;F1&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B2&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;F2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;background&lt;/td&gt;
&lt;td&gt;B1&lt;/td&gt;
&lt;td&gt;B1&lt;/td&gt;
&lt;td&gt;B2&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;background&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B1&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B1&lt;/td&gt;
&lt;td style=&#34;text-align: left&#34;&gt;B2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

View file

@ -191,7 +191,7 @@
<url>
<loc>https://sqrtminusone.xyz/packages/password-store-ivy/</loc>
<loc>https://sqrtminusone.xyz/packages/password-store-completion/</loc>
<lastmod>2022-02-13T00:00:00&#43;00:00</lastmod>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/elfeed/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,14 +13,14 @@
<link>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</link>
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</guid>
<description>Edit &amp;lt;2022-10-13 Thu&amp;gt;: Just a couple of days after this post, OpenAI released a speech recognition model called Whisper, which is so much better than anything I&amp;rsquo;ve ever seen before. I&amp;rsquo;ve decided to leave this post as it is, but check the Emacs config for the updated version.&#xA;In my experience, finding something in a podcast is particularly troublesome. For example, occasionally I want to refer to some line in the podcast to make an org-roam node, e.</description>
<description>&lt;p&gt;&lt;strong&gt;Edit &lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2022-10-13 Thu&amp;gt;&lt;/span&gt;&lt;/span&gt;:&lt;/strong&gt; Just a couple of days after this post, OpenAI released a speech recognition model called &lt;a href=&#34;https://openai.com/blog/whisper/&#34;&gt;Whisper&lt;/a&gt;, which is so much better than anything I&amp;rsquo;ve ever seen before. I&amp;rsquo;ve decided to leave this post as it is, but check the &lt;a href=&#34;https://sqrtminusone.xyz/configs/emacs/#podcast-transcripts&#34;&gt;Emacs config&lt;/a&gt; for the updated version.&lt;/p&gt;&#xA;&lt;p&gt;In my experience, finding something in a podcast is particularly troublesome. For example, occasionally I want to refer to some line in the podcast to make an &lt;a href=&#34;https://github.com/org-roam/org-roam&#34;&gt;org-roam&lt;/a&gt; node, e.g. I want to check that I got that part right.&lt;/p&gt;</description>
</item>
<item>
<title>My EMMS and elfeed setup</title>
<link>https://sqrtminusone.xyz/posts/2021-09-07-emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-09-07-emms/</guid>
<description>Intro This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.&#xA;Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.&#xA;The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/images/emms/emms-screenshot.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.&lt;/p&gt;&#xA;&lt;p&gt;Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/emacs/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,77 +13,77 @@
<link>https://sqrtminusone.xyz/posts/2023-11-11-index/</link>
<pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-11-11-index/</guid>
<description>The post describes a Johnny.Decimal-inspired filesystem structure, declared in an org file and synchronized across machines. Different folders are available on different machines.&#xA;Intro My filesystem is, shall we say, not the most orderly place.&#xA;It&amp;rsquo;s been somewhat messy, and messy in different ways across my three machines. For instance, my laptop had work projects in ~/Code/Job, my work machine had just ~/Code, and so forth.&#xA;Strangely, I couldn&amp;rsquo;t find and existing solution to that problem.</description>
<description>&lt;div class=&#34;abstract&#34;&gt;&#xA;&lt;p&gt;The post describes a Johnny.Decimal-inspired filesystem structure, declared in an org file and synchronized across machines. Different folders are available on different machines.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;My filesystem is, shall we say, not the most orderly place.&lt;/p&gt;&#xA;&lt;center&gt;&#xA;&lt;iframe src=&#34;https://emacs.ch/@sqrtminusone/110514686718545191/embed&#34; class=&#34;mastodon-embed&#34; style=&#34;max-width: 100%; border: 0&#34; width=&#34;500&#34; allowfullscreen=&#34;allowfullscreen&#34;&gt;&lt;/iframe&gt;&lt;script src=&#34;https://emacs.ch/embed.js&#34; async=&#34;async&#34;&gt;&lt;/script&gt;&#xA;&lt;/center&gt;&#xA;&lt;p&gt;It&amp;rsquo;s been somewhat messy, and messy in different ways across my three machines. For instance, my laptop had work projects in &lt;code&gt;~/Code/Job&lt;/code&gt;, my work machine had just &lt;code&gt;~/Code&lt;/code&gt;, and so forth.&lt;/p&gt;</description>
</item>
<item>
<title>916 days of Emacs</title>
<link>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</link>
<pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</guid>
<description>Poof I made my free-time disappear&#xA;- Ellis Kenyő, on being called an &#34;elisp mage&#34; Little did I know on the fateful day of [2020-10-09 Fri], when I had installed GNU Emacs. I wasn&amp;rsquo;t thinking about the ethical aspects of free software, the aesthetics of Lisp, or these other things with which an occasional layperson might explain how an almost half a century old program can still be in active use.</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;&#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;</description>
</item>
<item>
<title>Running Gource with Emacs</title>
<link>https://sqrtminusone.xyz/posts/2023-01-02-gource/</link>
<pubDate>Mon, 02 Jan 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-01-02-gource/</guid>
<description>Gource is a program that draws an animated graph of users changing the repository over time.&#xA;Although it can work without extra effort (just run gource in a git repo), there are some tweaks that can be done:&#xA;Gource supports using custom pictures for users. Gravatar is an obvious place to get these. Occasionally, the same people have different names and/or emails in history.&#xA;It may happen when people use forges like GitLab or just have different settings on different machines.</description>
<description>&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/images/gource/gource.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://gource.io/&#34;&gt;Gource&lt;/a&gt; is a program that draws an animated graph of users changing the repository over time.&lt;/p&gt;&#xA;&lt;p&gt;Although it can work without extra effort (just run &lt;code&gt;gource&lt;/code&gt; in a &lt;a href=&#34;https://git-scm.com/&#34;&gt;git&lt;/a&gt; repo), there are some tweaks that can be done:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gource supports using custom pictures for users. &lt;a href=&#34;https://en.gravatar.com/&#34;&gt;Gravatar&lt;/a&gt; is an obvious place to get these.&lt;/li&gt;&#xA;&lt;li&gt;Occasionally, the same people have different names and/or emails in history.&lt;br /&gt;&#xA;It may happen when people use forges like &lt;a href=&#34;https://gitlab.com/&#34;&gt;GitLab&lt;/a&gt; or just have different settings on different machines. It would be nice to merge these names.&lt;/li&gt;&#xA;&lt;li&gt;Visualizing the history of multiple repositories (e.g. frontend and backend) requires combining multiple gource logs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;So, why not try doing that with Emacs?&lt;/p&gt;</description>
</item>
<item>
<title>Podcast transcripts with elfeed &amp; speech recognition engine</title>
<link>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</link>
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</guid>
<description>Edit &amp;lt;2022-10-13 Thu&amp;gt;: Just a couple of days after this post, OpenAI released a speech recognition model called Whisper, which is so much better than anything I&amp;rsquo;ve ever seen before. I&amp;rsquo;ve decided to leave this post as it is, but check the Emacs config for the updated version.&#xA;In my experience, finding something in a podcast is particularly troublesome. For example, occasionally I want to refer to some line in the podcast to make an org-roam node, e.</description>
<description>&lt;p&gt;&lt;strong&gt;Edit &lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2022-10-13 Thu&amp;gt;&lt;/span&gt;&lt;/span&gt;:&lt;/strong&gt; Just a couple of days after this post, OpenAI released a speech recognition model called &lt;a href=&#34;https://openai.com/blog/whisper/&#34;&gt;Whisper&lt;/a&gt;, which is so much better than anything I&amp;rsquo;ve ever seen before. I&amp;rsquo;ve decided to leave this post as it is, but check the &lt;a href=&#34;https://sqrtminusone.xyz/configs/emacs/#podcast-transcripts&#34;&gt;Emacs config&lt;/a&gt; for the updated version.&lt;/p&gt;&#xA;&lt;p&gt;In my experience, finding something in a podcast is particularly troublesome. For example, occasionally I want to refer to some line in the podcast to make an &lt;a href=&#34;https://github.com/org-roam/org-roam&#34;&gt;org-roam&lt;/a&gt; node, e.g. I want to check that I got that part right.&lt;/p&gt;</description>
</item>
<item>
<title>Extending elfeed with PDF viewer and subtitles fetcher</title>
<link>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</link>
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</guid>
<description>Intro elfeed is one of the most popular Emacs packages, and it&amp;rsquo;s also one in which I ended up investing a lot of effort. I wrote about the EMMS integration and even made a custom frontpage to my liking.&#xA;However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&amp;rsquo;t include the entire content (of which, by the way, this blog was guilty).&#xA;Also, there&amp;rsquo;s non-textual content, of which in this post I consider YouTube subscriptions.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/skeeto/elfeed&#34;&gt;elfeed&lt;/a&gt; is one of the most popular Emacs packages, and it&amp;rsquo;s also one in which I ended up investing a lot of effort. I wrote about the &lt;a href=&#34;https://sqrtminusone.xyz/posts/2021-09-07-emms/&#34;&gt;EMMS integration&lt;/a&gt; and even made a &lt;a href=&#34;https://github.com/SqrtMinusOne/elfeed-summary&#34;&gt;custom frontpage&lt;/a&gt; to my liking.&lt;/p&gt;&#xA;&lt;p&gt;However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&amp;rsquo;t include the entire content (of which, by the way, this blog was guilty).&lt;/p&gt;</description>
</item>
<item>
<title>A few cases of literate configuration</title>
<link>https://sqrtminusone.xyz/posts/2022-02-12-literate/</link>
<pubDate>Sat, 12 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-02-12-literate/</guid>
<description>A post that arose from the discussion of literate configuration on the System Crafters Discord.&#xA;I am using the literate configuration strategy (based on Emacs&amp;rsquo; Org Mode) to manage most of my configuration files. A piece of such a configuration can be as simple as an Org file, which is tangled to one or many plain-text configuration files, but it can be more.&#xA;In my opinion, a literate configuration can be more straightforward and concise than a &amp;ldquo;normal&amp;rdquo; one, thanks to Org Mode&amp;rsquo;s capabilities of working with source code.</description>
<description>&lt;p&gt;A post that arose from the discussion of literate configuration on the &lt;a href=&#34;https://systemcrafters.net/&#34;&gt;System Crafters&lt;/a&gt; Discord.&lt;/p&gt;&#xA;&lt;p&gt;I am using the &lt;a href=&#34;https://leanpub.com/lit-config&#34;&gt;literate configuration&lt;/a&gt; strategy (based on &lt;a href=&#34;https://orgmode.org/&#34;&gt;Emacs&amp;rsquo; Org Mode&lt;/a&gt;) to manage most of my configuration files. A piece of such a configuration can be as simple as an Org file, which is tangled to one or many plain-text configuration files, but it can be more.&lt;/p&gt;&#xA;&lt;p&gt;In my opinion, a literate configuration can be more straightforward and concise than a &amp;ldquo;normal&amp;rdquo; one, thanks to Org Mode&amp;rsquo;s capabilities of &lt;a href=&#34;https://orgmode.org/manual/Working-with-Source-Code.html&#34;&gt;working with source code&lt;/a&gt;. So here I present a few examples from my configuration where I think this is the case:&lt;/p&gt;</description>
</item>
<item>
<title>Using EXWM and perspective.el on multi-monitor setup</title>
<link>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</link>
<pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</guid>
<description>I wrote about Emacs and i3 integration around two months ago. Shortly after however, I decided to give EXWM another try, mainly because my largest reservation - lack of performance - seems to have been resolved by updates to the native compilation since my first attempt. Or I may have lost some sensitivity to that issue. Regardless, the second dive into EXWM thus far feels successful, and I think it&amp;rsquo;s the right time to share some of my thoughts on the subject.</description>
<description>&lt;p&gt;I wrote about &lt;a href=&#34;https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/&#34;&gt;Emacs and i3&lt;/a&gt; integration around two months ago. Shortly after however, I decided to give EXWM another try, mainly because my largest reservation - lack of performance - seems to have been resolved by updates to the native compilation since my first attempt. Or I may have lost some sensitivity to that issue. Regardless, the second dive into EXWM thus far feels successful, and I think it&amp;rsquo;s the right time to share some of my thoughts on the subject.&lt;/p&gt;</description>
</item>
<item>
<title>Getting a consistent set of keybindings between i3 and Emacs</title>
<link>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</link>
<pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</guid>
<description>Intro One advantage of EXWM for an Emacs user is that EXWM gives one set of keybindings to manage both Emacs windows and X windows. In every other WM, like my preferred i3wm, two orthogonal keymaps seem to be necessary. But, as both programs are quite customizable, I want to see whether I can replicate at least some part of the EXWM goodness in i3.&#xA;But why not just use EXWM?</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;One advantage of EXWM for an Emacs user is that EXWM gives one set of keybindings to manage both Emacs windows and X windows. In every other WM, like my preferred &lt;a href=&#34;https://i3wm.org&#34;&gt;i3wm&lt;/a&gt;, two orthogonal keymaps seem to be necessary. But, as both programs are quite customizable, I want to see whether I can replicate at least some part of the EXWM goodness in i3.&lt;/p&gt;&#xA;&lt;p&gt;But why not just use EXWM? One key reason is that to my taste (and perhaps on my hardware) EXWM didn&amp;rsquo;t feel snappy enough. Also, I really like i3&amp;rsquo;s tree-based layout structure; I feel like it fits my workflow much better than anything else I tried, including the master/stack paradigm of &lt;a href=&#34;https://xmonad.org/&#34;&gt;XMonad&lt;/a&gt;, for instance.&lt;/p&gt;</description>
</item>
<item>
<title>My EMMS and elfeed setup</title>
<link>https://sqrtminusone.xyz/posts/2021-09-07-emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-09-07-emms/</guid>
<description>Intro This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.&#xA;Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.&#xA;The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/images/emms/emms-screenshot.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.&lt;/p&gt;&#xA;&lt;p&gt;Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.&lt;/p&gt;</description>
</item>
<item>
<title>Replacing Jupyter Notebook with Org Mode</title>
<link>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</link>
<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</guid>
<description>Why? Jupyter Notebook and its successor Jupyter Lab providing an interactive development environment for many programming languages are in lots of ways great pieces of software.&#xA;But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &amp;ldquo;As one can get&amp;rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.&#xA;A possibility for change appeared with my discovery of Emacs not so long ago.</description>
<description>&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/images/org-python/org-python-screenshot.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://jupyter-notebook.readthedocs.io/en/stable/&#34;&gt;Jupyter Notebook&lt;/a&gt; and its successor &lt;a href=&#34;https://jupyterlab.readthedocs.io/en/stable/&#34;&gt;Jupyter Lab&lt;/a&gt; providing an interactive development environment for many programming languages are in lots of ways great pieces of software.&lt;/p&gt;&#xA;&lt;p&gt;But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &amp;ldquo;As one can get&amp;rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.&lt;/p&gt;</description>
</item>
<item>
<title>Multiple Gmail accounts &amp; labels with Emacs</title>
<link>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</link>
<pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</guid>
<description>Intro For quite some time, e-mail seemed like an anomaly in my workflow. I am a long time Gmail user, and my decade-old account has a somewhat formidable quantity of labels and filters. My messages are often assigned multiple labels, and I also like to keep only a bunch of messages in the inbox.&#xA;Although, in my opinion, Gmail web UI was and still is leagues ahead of many of its competitors and even allows keyboard-centric workflow, it&amp;rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;For quite some time, e-mail seemed like an anomaly in my workflow. I am a long time Gmail user, and my decade-old account has a somewhat formidable quantity of labels and filters. My messages are often assigned multiple labels, and I also like to keep only a bunch of messages in the inbox.&lt;/p&gt;&#xA;&lt;p&gt;Although, in my opinion, Gmail web UI was and still is leagues ahead of many of its competitors and even allows keyboard-centric workflow, it&amp;rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/emms/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,7 +13,7 @@
<link>https://sqrtminusone.xyz/posts/2021-09-07-emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-09-07-emms/</guid>
<description>Intro This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.&#xA;Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.&#xA;The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/images/emms/emms-screenshot.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.&lt;/p&gt;&#xA;&lt;p&gt;Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/exwm/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,7 +13,7 @@
<link>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</link>
<pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</guid>
<description>I wrote about Emacs and i3 integration around two months ago. Shortly after however, I decided to give EXWM another try, mainly because my largest reservation - lack of performance - seems to have been resolved by updates to the native compilation since my first attempt. Or I may have lost some sensitivity to that issue. Regardless, the second dive into EXWM thus far feels successful, and I think it&amp;rsquo;s the right time to share some of my thoughts on the subject.</description>
<description>&lt;p&gt;I wrote about &lt;a href=&#34;https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/&#34;&gt;Emacs and i3&lt;/a&gt; integration around two months ago. Shortly after however, I decided to give EXWM another try, mainly because my largest reservation - lack of performance - seems to have been resolved by updates to the native compilation since my first attempt. Or I may have lost some sensitivity to that issue. Regardless, the second dive into EXWM thus far feels successful, and I think it&amp;rsquo;s the right time to share some of my thoughts on the subject.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/i3wm/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,7 +13,7 @@
<link>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</link>
<pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</guid>
<description>Intro One advantage of EXWM for an Emacs user is that EXWM gives one set of keybindings to manage both Emacs windows and X windows. In every other WM, like my preferred i3wm, two orthogonal keymaps seem to be necessary. But, as both programs are quite customizable, I want to see whether I can replicate at least some part of the EXWM goodness in i3.&#xA;But why not just use EXWM?</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;One advantage of EXWM for an Emacs user is that EXWM gives one set of keybindings to manage both Emacs windows and X windows. In every other WM, like my preferred &lt;a href=&#34;https://i3wm.org&#34;&gt;i3wm&lt;/a&gt;, two orthogonal keymaps seem to be necessary. But, as both programs are quite customizable, I want to see whether I can replicate at least some part of the EXWM goodness in i3.&lt;/p&gt;&#xA;&lt;p&gt;But why not just use EXWM? One key reason is that to my taste (and perhaps on my hardware) EXWM didn&amp;rsquo;t feel snappy enough. Also, I really like i3&amp;rsquo;s tree-based layout structure; I feel like it fits my workflow much better than anything else I tried, including the master/stack paradigm of &lt;a href=&#34;https://xmonad.org/&#34;&gt;XMonad&lt;/a&gt;, for instance.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/mail/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,7 +13,7 @@
<link>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</link>
<pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</guid>
<description>Intro For quite some time, e-mail seemed like an anomaly in my workflow. I am a long time Gmail user, and my decade-old account has a somewhat formidable quantity of labels and filters. My messages are often assigned multiple labels, and I also like to keep only a bunch of messages in the inbox.&#xA;Although, in my opinion, Gmail web UI was and still is leagues ahead of many of its competitors and even allows keyboard-centric workflow, it&amp;rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;For quite some time, e-mail seemed like an anomaly in my workflow. I am a long time Gmail user, and my decade-old account has a somewhat formidable quantity of labels and filters. My messages are often assigned multiple labels, and I also like to keep only a bunch of messages in the inbox.&lt;/p&gt;&#xA;&lt;p&gt;Although, in my opinion, Gmail web UI was and still is leagues ahead of many of its competitors and even allows keyboard-centric workflow, it&amp;rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/org-mode/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,14 +13,14 @@
<link>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</link>
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</guid>
<description>Intro elfeed is one of the most popular Emacs packages, and it&amp;rsquo;s also one in which I ended up investing a lot of effort. I wrote about the EMMS integration and even made a custom frontpage to my liking.&#xA;However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&amp;rsquo;t include the entire content (of which, by the way, this blog was guilty).&#xA;Also, there&amp;rsquo;s non-textual content, of which in this post I consider YouTube subscriptions.</description>
<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/skeeto/elfeed&#34;&gt;elfeed&lt;/a&gt; is one of the most popular Emacs packages, and it&amp;rsquo;s also one in which I ended up investing a lot of effort. I wrote about the &lt;a href=&#34;https://sqrtminusone.xyz/posts/2021-09-07-emms/&#34;&gt;EMMS integration&lt;/a&gt; and even made a &lt;a href=&#34;https://github.com/SqrtMinusOne/elfeed-summary&#34;&gt;custom frontpage&lt;/a&gt; to my liking.&lt;/p&gt;&#xA;&lt;p&gt;However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&amp;rsquo;t include the entire content (of which, by the way, this blog was guilty).&lt;/p&gt;</description>
</item>
<item>
<title>A few cases of literate configuration</title>
<link>https://sqrtminusone.xyz/posts/2022-02-12-literate/</link>
<pubDate>Sat, 12 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-02-12-literate/</guid>
<description>A post that arose from the discussion of literate configuration on the System Crafters Discord.&#xA;I am using the literate configuration strategy (based on Emacs&amp;rsquo; Org Mode) to manage most of my configuration files. A piece of such a configuration can be as simple as an Org file, which is tangled to one or many plain-text configuration files, but it can be more.&#xA;In my opinion, a literate configuration can be more straightforward and concise than a &amp;ldquo;normal&amp;rdquo; one, thanks to Org Mode&amp;rsquo;s capabilities of working with source code.</description>
<description>&lt;p&gt;A post that arose from the discussion of literate configuration on the &lt;a href=&#34;https://systemcrafters.net/&#34;&gt;System Crafters&lt;/a&gt; Discord.&lt;/p&gt;&#xA;&lt;p&gt;I am using the &lt;a href=&#34;https://leanpub.com/lit-config&#34;&gt;literate configuration&lt;/a&gt; strategy (based on &lt;a href=&#34;https://orgmode.org/&#34;&gt;Emacs&amp;rsquo; Org Mode&lt;/a&gt;) to manage most of my configuration files. A piece of such a configuration can be as simple as an Org file, which is tangled to one or many plain-text configuration files, but it can be more.&lt;/p&gt;&#xA;&lt;p&gt;In my opinion, a literate configuration can be more straightforward and concise than a &amp;ldquo;normal&amp;rdquo; one, thanks to Org Mode&amp;rsquo;s capabilities of &lt;a href=&#34;https://orgmode.org/manual/Working-with-Source-Code.html&#34;&gt;working with source code&lt;/a&gt;. So here I present a few examples from my configuration where I think this is the case:&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/org/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,7 +13,7 @@
<link>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</link>
<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</guid>
<description>Why? Jupyter Notebook and its successor Jupyter Lab providing an interactive development environment for many programming languages are in lots of ways great pieces of software.&#xA;But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &amp;ldquo;As one can get&amp;rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.&#xA;A possibility for change appeared with my discovery of Emacs not so long ago.</description>
<description>&lt;figure&gt;&lt;img src=&#34;https://sqrtminusone.xyz/images/org-python/org-python-screenshot.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://jupyter-notebook.readthedocs.io/en/stable/&#34;&gt;Jupyter Notebook&lt;/a&gt; and its successor &lt;a href=&#34;https://jupyterlab.readthedocs.io/en/stable/&#34;&gt;Jupyter Lab&lt;/a&gt; providing an interactive development environment for many programming languages are in lots of ways great pieces of software.&lt;/p&gt;&#xA;&lt;p&gt;But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &amp;ldquo;As one can get&amp;rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View file

@ -19,13 +19,6 @@
<link rel="alternate" type="application/rss+xml" href="https://sqrtminusone.xyz/tags/orgmode/index.xml" title="SqrtMinusOne" />
<script defer data-domain="sqrtminusone.xyz" src="https://plausible.sqrtminusone.xyz/js/plausible.js"></script>
</head>

View file

@ -13,7 +13,7 @@
<link>https://sqrtminusone.xyz/posts/2023-11-11-index/</link>
<pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-11-11-index/</guid>
<description>The post describes a Johnny.Decimal-inspired filesystem structure, declared in an org file and synchronized across machines. Different folders are available on different machines.&#xA;Intro My filesystem is, shall we say, not the most orderly place.&#xA;It&amp;rsquo;s been somewhat messy, and messy in different ways across my three machines. For instance, my laptop had work projects in ~/Code/Job, my work machine had just ~/Code, and so forth.&#xA;Strangely, I couldn&amp;rsquo;t find and existing solution to that problem.</description>
<description>&lt;div class=&#34;abstract&#34;&gt;&#xA;&lt;p&gt;The post describes a Johnny.Decimal-inspired filesystem structure, declared in an org file and synchronized across machines. Different folders are available on different machines.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;My filesystem is, shall we say, not the most orderly place.&lt;/p&gt;&#xA;&lt;center&gt;&#xA;&lt;iframe src=&#34;https://emacs.ch/@sqrtminusone/110514686718545191/embed&#34; class=&#34;mastodon-embed&#34; style=&#34;max-width: 100%; border: 0&#34; width=&#34;500&#34; allowfullscreen=&#34;allowfullscreen&#34;&gt;&lt;/iframe&gt;&lt;script src=&#34;https://emacs.ch/embed.js&#34; async=&#34;async&#34;&gt;&lt;/script&gt;&#xA;&lt;/center&gt;&#xA;&lt;p&gt;It&amp;rsquo;s been somewhat messy, and messy in different ways across my three machines. For instance, my laptop had work projects in &lt;code&gt;~/Code/Job&lt;/code&gt;, my work machine had just &lt;code&gt;~/Code&lt;/code&gt;, and so forth.&lt;/p&gt;</description>
</item>
</channel>
</rss>