mirror of
https://github.com/SqrtMinusOne/sqrtminusone.github.io.git
synced 2025-12-11 00:03:02 +03:00
deploy: ec9d4f60e5
This commit is contained in:
parent
e109c6415e
commit
24ffff1259
17 changed files with 134 additions and 81 deletions
|
|
@ -5,6 +5,7 @@
|
|||
<link>https://sqrtminusone.xyz/categories/</link>
|
||||
<description>Recent content in Categories on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language><atom:link href="https://sqrtminusone.xyz/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
<language>en-us</language>
|
||||
<atom:link href="https://sqrtminusone.xyz/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -879,6 +879,10 @@
|
|||
<td>Mount stuff over SSH</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lftp</td>
|
||||
<td>File transfer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>git-lfs</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -3562,7 +3562,19 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
|
|||
<!--listend-->
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">restclient</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:if</span> (<span style="color:#19177c">not</span> <span style="color:#19177c">my/remote-server</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'restclient-mode-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">visual</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"RET"</span> <span style="color:#00f">#'</span><span style="color:#19177c">restclient-http-send-current</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"M-RET"</span> <span style="color:#00f">#'</span><span style="color:#19177c">restclient-http-send-current-stay-in-window</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"y"</span> <span style="color:#800">nil</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"M-y"</span> <span style="color:#00f">#'</span><span style="color:#19177c">restclient-copy-curl-command</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'restclient-response-mode-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">visual</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"q"</span> <span style="color:#00f">#'</span><span style="color:#19177c">quit-window</span>))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">ob-restclient</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:after</span> (<span style="color:#19177c">org</span> <span style="color:#19177c">restclient</span>)
|
||||
|
|
@ -4254,7 +4266,51 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#00f">#'</span><span style="color:#19177c">org-ql-view--format-element</span> <span style="color:#008000">:override</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/org-ql-view--format-element-override</span>))
|
||||
</span></span></code></pre></div><h5 id="aggregate-clocked-time">Aggregate clocked time</h5>
|
||||
<p>This turned out to be kinda complicated… I want to produce a report that aggregates my clocked time. Maybe I’ll extract the below into a separate package, but it’s so tightly bound to my needs so I’m not sure if there’s any value in it.</p>
|
||||
<p>First, in order to implement the aggregation I need a function to process alists:</p>
|
||||
<p>Work-in-progress.</p>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/org-ql--get-clock-data-parse-buffer</span> ()
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> (<span style="color:#19177c">res</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-element-map</span> (<span style="color:#19177c">org-element-parse-buffer</span>) <span style="color:#19177c">'clock</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">clock</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">start</span> (<span style="color:#19177c">time-convert</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-timestamp-to-time</span> (<span style="color:#19177c">org-element-property</span> <span style="color:#008000">:value</span> <span style="color:#19177c">clock</span>))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">'integer</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">end</span> (<span style="color:#19177c">time-convert</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-timestamp-to-time</span> (<span style="color:#19177c">org-element-property</span> <span style="color:#008000">:value</span> <span style="color:#19177c">clock</span>) <span style="color:#800">t</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">'integer</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-back-to-heading</span> <span style="color:#800">t</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">headline</span> (<span style="color:#19177c">org-element-at-point-no-context</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">tags-val</span> (<span style="color:#19177c">org-ql--tags-at</span> (<span style="color:#00f">point</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">tags</span> (<span style="color:#19177c">seq-filter</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#00f">#'stringp</span> <span style="color:#408080;font-style:italic">;; to filter out `org-ql-nil'</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">append</span> (<span style="color:#008000">unless</span> (<span style="color:#00f">eq</span> (<span style="color:#00f">car</span> <span style="color:#19177c">tags-val</span>) <span style="color:#19177c">'org-ql-nil</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">car</span> <span style="color:#19177c">tags-val</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#00f">eq</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">tags-val</span>) <span style="color:#19177c">'org-ql-nil</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">tags-val</span>)))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">filename</span> (<span style="color:#19177c">f-filename</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">buffer-file-name</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">outline-path</span> (<span style="color:#00f">mapcar</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#00f">#'substring-no-properties</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-ql--outline-path</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">category</span> (<span style="color:#19177c">org-get-category</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">push</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>((<span style="color:#008000">:start</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">start</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:end</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">end</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:headline</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">headline</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:tags</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">tags</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:filename</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">filename</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:outline-path</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">outline-path</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:category</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">category</span>))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>))))))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/org-ql--get-clock-data</span> ()
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> (<span style="color:#19177c">res</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">dolist</span> (<span style="color:#19177c">file</span> (<span style="color:#19177c">org-agenda-files</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> (<span style="color:#19177c">find-file-noselect</span> <span style="color:#19177c">file</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">res</span> (<span style="color:#00f">append</span> <span style="color:#19177c">res</span> (<span style="color:#19177c">my/org-ql--get-clock-data-parse-buffer</span>)))))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>))
|
||||
</span></span></code></pre></div><p>A function to aggregate on alists:</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/alist-agg</span> (<span style="color:#19177c">path</span> <span style="color:#19177c">alist</span> <span style="color:#19177c">value</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"Traverse ALIST by PATH, adding VALUE to each node.
|
||||
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
|
||||
|
|
@ -4497,6 +4553,12 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-ql--add-markers</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-element-at-point</span>)))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/org-ql-meeting-tasks</span> <span style="color:#19177c">meeting</span>)))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">'org-agenda</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'org-agenda-mode-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">motion</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"gm"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/org-ql-meeting-tasks-agenda</span>))
|
||||
</span></span></code></pre></div><h5 id="tracking-habits">Tracking habits</h5>
|
||||
<p>Let’s see how this goes.</p>
|
||||
<p>References:</p>
|
||||
|
|
@ -8392,6 +8454,44 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">'telega-image-mode</span> <span style="color:#19177c">'telega-webpage-mode</span>))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">telega-online-status-function</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/telega-online-status</span>)
|
||||
</span></span></code></pre></div><p>Switch to topic in forum chats.</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/telega-switch-to-topic</span> ()
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">topics-data</span> (<span style="color:#00f">gethash</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">telega-chatbuf--chat</span> <span style="color:#008000">:id</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">telega--chat-topics</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">topics-string</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">topic</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">name</span> (<span style="color:#00f">plist-get</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">topic</span> <span style="color:#008000">:info</span>) <span style="color:#008000">:name</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">unread-count</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">topic</span> <span style="color:#008000">:unread_count</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">name-string</span> (<span style="color:#008000">with-temp-buffer</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-ins--topic-title</span> <span style="color:#19177c">topic</span> <span style="color:#19177c">'with-icon</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">buffer-string</span>))))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">zerop</span> <span style="color:#19177c">unread-count</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">name-string</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">"%-40s (%s)"</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">name-string</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">propertize</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">"%d"</span> <span style="color:#19177c">unread-count</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">'face</span> <span style="color:#19177c">'telega-unread-unmuted-modeline</span>)))))
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">topics-data</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">topics-collection</span> (<span style="color:#008000">cl-loop</span> <span style="color:#19177c">for</span> <span style="color:#19177c">datum</span> <span style="color:#19177c">in</span> <span style="color:#19177c">topics-data</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">for</span> <span style="color:#00f">string</span> <span style="color:#19177c">in</span> <span style="color:#19177c">topics-string</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> (<span style="color:#00f">cons</span> <span style="color:#00f">string</span> <span style="color:#19177c">datum</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">topic</span> (<span style="color:#00f">completing-read</span> <span style="color:#ba2121">"Topic: "</span> <span style="color:#19177c">topics-collection</span> <span style="color:#800">nil</span> <span style="color:#800">t</span>)))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-chat--goto-thread</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#19177c">telega-chatbuf--chat</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">topic</span> <span style="color:#19177c">topics-collection</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#00f">#'equal</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:info</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:message_thread_id</span>))))
|
||||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">'telega</span>
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">'</span>(<span style="color:#19177c">normal</span>)
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">'telega-chat-mode-map</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">"T"</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/telega-switch-to-topic</span>))
|
||||
</span></span></code></pre></div><h4 id="google-translate">Google Translate</h4>
|
||||
<p>Emacs interface to Google Translate.</p>
|
||||
<p>Can’t make it load lazily for some strange reason.</p>
|
||||
|
|
@ -8724,6 +8824,9 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span>
|
||||
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/elcord-update-presence-mask-advice</span> (<span style="color:#19177c">r</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#19177c">my/elcord-mask-buffer-name</span> (<span style="color:#00f">nth</span> <span style="color:#666">0</span> <span style="color:#19177c">r</span>)) (<span style="color:#00f">nth</span> <span style="color:#666">1</span> <span style="color:#19177c">r</span>)))
|
||||
</span></span></code></pre></div><p>Create a symlink for flatpak:</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/elcord-symlink</span> ()
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">shell-command-to-string</span> <span style="color:#ba2121">"bash -c 'ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-0 &'"</span>))
|
||||
</span></span></code></pre></div><p>And the package configuration:</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">elcord</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
|
||||
|
|
@ -8738,7 +8841,8 @@ Some other optimization settings:</p>
|
|||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#19177c">'elcord--try-update-presence</span> <span style="color:#008000">:filter-args</span> <span style="color:#00f">#'</span><span style="color:#19177c">my/elcord-update-presence-mask-advice</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> <span style="color:#19177c">'elcord-mode-text-alist</span> <span style="color:#666">'</span>(<span style="color:#19177c">telega-chat-mode</span> <span style="color:#666">.</span> <span style="color:#ba2121">"Telega Chat"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> <span style="color:#19177c">'elcord-mode-text-alist</span> <span style="color:#666">'</span>(<span style="color:#19177c">telega-root-mode</span> <span style="color:#666">.</span> <span style="color:#ba2121">"Telega Root"</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">elcord-mode</span>))
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">elcord-mode</span>)
|
||||
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/elcord-symlink</span>))
|
||||
</span></span></code></pre></div><h4 id="snow">Snow</h4>
|
||||
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">snow</span>
|
||||
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:repo</span> <span style="color:#ba2121">"alphapapa/snow.el"</span> <span style="color:#008000">:host</span> <span style="color:#19177c">github</span>)
|
||||
|
|
|
|||
|
|
@ -5,23 +5,21 @@
|
|||
<link>https://sqrtminusone.xyz/configs/</link>
|
||||
<description>Recent content in Configs on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language><atom:link href="https://sqrtminusone.xyz/configs/index.xml" rel="self" type="application/rss+xml" />
|
||||
<language>en-us</language>
|
||||
<atom:link href="https://sqrtminusone.xyz/configs/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Console</title>
|
||||
<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
|
||||
A friend of mine Colors Noweb function to get colors.
|
||||
(let ((color (or (my/color-value name)))) (if (&gt; quote 0) (concat &#34;\&#34;&#34; color &#34;\&#34;&#34;) color)) (let ((val (if (ct-light-p (my/color-value name)) (my/color-value &#39;black) (my/color-value &#39;white)))) (if (eq quote 1) (concat &#34;\&#34;&#34; val &#34;\&#34;&#34;) val)) (setq-local org-confirm-babel-evaluate nil) .profile Environment export QT_QPA_PLATFORMTHEME=&#34;qt5ct&#34; export QT_AUTO_SCREEN_SCALE_FACTOR=0 Set ripgrep config path</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.
|
||||
Parts prefixed with (OFF) are not used, but kept for historic purposes. For some reason GitHub&rsquo;s org renderer ignores TODO status, hence such a prefix. Round brackets instead of square ones to prevent GitHub&rsquo;s org renderer from screwing up.
|
||||
|
|
@ -29,23 +27,19 @@ References:
|
|||
A few cases of literate configuration. A few interesting ways in which literate configuration is used in this file. Some remarks Removed features:
|
||||
Feature Last commit rofi-buku e22476b0cc6315e104e5ce4de5559a61c830c429 Global customization Colors I used to define color codes here (see previous version of the file), now I just get colors from the current Emacs theme.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<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&rsquo;t hate one another, no young boy will march to war and I will clean up my Emacs config. But that day isn&rsquo;t today.
|
||||
Me, &lt;2021-05-27 Thu 17:35&gt; in commit 93a0573. Adapted from The Dark Element - &ldquo;The Pallbearer Walks Alone&rdquo;. T_T Introduction My configuration of GNU Emacs, an awesome text editor piece of software that can do almost anything.
|
||||
At the moment of writing this, that &ldquo;almost anything&rdquo; includes:</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.
|
||||
My personal selling points are declarative package configuration and transactional upgrades.
|
||||
|
|
@ -54,29 +48,24 @@ Official help System Crafters wiki Pjotr Prins&rsquo; Guix notes Davil Wilso
|
|||
References:
|
||||
Guix Profiles in Practice Activate profiles A script to activate guix profiles.</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
|
||||
My email configration. Currently I use lieer to fetch emails from Gmail, davmail &amp; offlineimap to fetch emails from MS Exchange, notmuch to index, msmtp to send emails. Also using notmuch frontend from Emacs.
|
||||
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>
|
||||
</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.
|
||||
I use the literate configuration strategy via Emacs&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.
|
||||
The files themselves are managed and deployed via yadm, although I use Org Mode for things like config templating.
|
||||
My current GNU/Linux distribution is GNU Guix.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang=""><head>
|
||||
<meta name="generator" content="Hugo 0.119.0">
|
||||
<meta name="generator" content="Hugo 0.120.4">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
|
|
|
|||
BIN
stats/all.png
BIN
stats/all.png
Binary file not shown.
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 58 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 67 KiB |
|
|
@ -6,27 +6,24 @@
|
|||
<description>Recent content in elfeed on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Fri, 16 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/elfeed/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Fri, 16 Sep 2022 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/elfeed/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Podcast transcripts with elfeed & 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 &lt;2022-10-13 Thu&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&rsquo;ve ever seen before. I&rsquo;ve decided to leave this post as it is, but check the Emacs config for the updated version.
|
||||
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>
|
||||
</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.
|
||||
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.
|
||||
The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,111 +6,92 @@
|
|||
<description>Recent content in emacs on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/emacs/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/emacs/index.xml" rel="self" type="application/rss+xml" />
|
||||
<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
|
||||
- Ellis Kenyő, on being called an "elisp mage" Little did I know on the fateful day of [2020-10-09 Fri], when I had installed GNU Emacs. I wasn&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>
|
||||
</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.
|
||||
Although it can work without extra effort (just run gource in a git repo), there are some tweaks that can be done:
|
||||
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.
|
||||
It may happen when people use forges like GitLab or just have different settings on different machines.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Podcast transcripts with elfeed & 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 &lt;2022-10-13 Thu&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&rsquo;ve ever seen before. I&rsquo;ve decided to leave this post as it is, but check the Emacs config for the updated version.
|
||||
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>
|
||||
</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&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.
|
||||
However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&rsquo;t include the entire content (of which, by the way, this blog was guilty).
|
||||
Also, there&rsquo;s non-textual content, of which in this post I consider YouTube subscriptions.</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.
|
||||
I am using the literate configuration strategy (based on Emacs&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.
|
||||
In my opinion, a literate configuration can be more straightforward and concise than a &ldquo;normal&rdquo; one, thanks to Org Mode&rsquo;s capabilities of working with source code.</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&rsquo;s the right time to share some of my thoughts on the subject.</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.
|
||||
But why not just use EXWM?</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.
|
||||
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.
|
||||
The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</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.
|
||||
But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &ldquo;As one can get&rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.
|
||||
A possibility for change appeared with my discovery of Emacs not so long ago.</description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Multiple Gmail accounts & 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.
|
||||
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&rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,17 +6,16 @@
|
|||
<description>Recent content in emms on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Wed, 08 Sep 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/emms/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Wed, 08 Sep 2021 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/emms/index.xml" rel="self" type="application/rss+xml" />
|
||||
<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.
|
||||
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.
|
||||
The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,15 +6,14 @@
|
|||
<description>Recent content in exwm on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Mon, 03 Jan 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/exwm/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Mon, 03 Jan 2022 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/exwm/index.xml" rel="self" type="application/rss+xml" />
|
||||
<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&rsquo;s the right time to share some of my thoughts on the subject.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,16 +6,15 @@
|
|||
<description>Recent content in i3wm on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Wed, 06 Oct 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/i3wm/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Wed, 06 Oct 2021 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/i3wm/index.xml" rel="self" type="application/rss+xml" />
|
||||
<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.
|
||||
But why not just use EXWM?</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,78 +6,63 @@
|
|||
<description>Recent content in Tags on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>emacs</title>
|
||||
<link>https://sqrtminusone.xyz/tags/emacs/</link>
|
||||
<pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/emacs/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>elfeed</title>
|
||||
<link>https://sqrtminusone.xyz/tags/elfeed/</link>
|
||||
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/elfeed/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>org-mode</title>
|
||||
<link>https://sqrtminusone.xyz/tags/org-mode/</link>
|
||||
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/org-mode/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>exwm</title>
|
||||
<link>https://sqrtminusone.xyz/tags/exwm/</link>
|
||||
<pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/exwm/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>i3wm</title>
|
||||
<link>https://sqrtminusone.xyz/tags/i3wm/</link>
|
||||
<pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/i3wm/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>emms</title>
|
||||
<link>https://sqrtminusone.xyz/tags/emms/</link>
|
||||
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/emms/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>org</title>
|
||||
<link>https://sqrtminusone.xyz/tags/org/</link>
|
||||
<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/org/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>mail</title>
|
||||
<link>https://sqrtminusone.xyz/tags/mail/</link>
|
||||
<pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
|
||||
|
||||
<guid>https://sqrtminusone.xyz/tags/mail/</guid>
|
||||
<description></description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,16 +6,15 @@
|
|||
<description>Recent content in mail on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Sat, 27 Feb 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/mail/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Sat, 27 Feb 2021 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/mail/index.xml" rel="self" type="application/rss+xml" />
|
||||
<item>
|
||||
<title>Multiple Gmail accounts & 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.
|
||||
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&rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,28 +6,25 @@
|
|||
<description>Recent content in org-mode on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Tue, 10 May 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/org-mode/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Tue, 10 May 2022 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/org-mode/index.xml" rel="self" type="application/rss+xml" />
|
||||
<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&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.
|
||||
However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&rsquo;t include the entire content (of which, by the way, this blog was guilty).
|
||||
Also, there&rsquo;s non-textual content, of which in this post I consider YouTube subscriptions.</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.
|
||||
I am using the literate configuration strategy (based on Emacs&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.
|
||||
In my opinion, a literate configuration can be more straightforward and concise than a &ldquo;normal&rdquo; one, thanks to Org Mode&rsquo;s capabilities of working with source code.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -6,17 +6,16 @@
|
|||
<description>Recent content in org on SqrtMinusOne</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>en-us</language>
|
||||
<lastBuildDate>Sat, 01 May 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/org/index.xml" rel="self" type="application/rss+xml" />
|
||||
<lastBuildDate>Sat, 01 May 2021 00:00:00 +0000</lastBuildDate>
|
||||
<atom:link href="https://sqrtminusone.xyz/tags/org/index.xml" rel="self" type="application/rss+xml" />
|
||||
<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.
|
||||
But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &ldquo;As one can get&rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.
|
||||
A possibility for change appeared with my discovery of Emacs not so long ago.</description>
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue