<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Org-Mode on Janusworx</title><link>https://janusworx.com/tags/org-mode/</link><description>Recent content in Org-Mode on Janusworx</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>feedback@janusworx.com (Mario Jason Braganza)</managingEditor><webMaster>feedback@janusworx.com (Mario Jason Braganza)</webMaster><copyright>© 2026, Mario Jason Braganza</copyright><lastBuildDate>Mon, 20 Jan 2025 08:50:40 +0530</lastBuildDate><atom:link href="https://janusworx.com/tags/org-mode/index.xml" rel="self" type="application/rss+xml"/><item><title>View Only the Day, With Org Agenda</title><link>https://janusworx.com/work/view-only-day-with-org-agenda/</link><pubDate>Mon, 20 Jan 2025 08:50:40 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/view-only-day-with-org-agenda/</guid><description>&lt;p&gt;Org Mode, by default, shows me the whole week, when I pull up my agenda. That’s not how I work though. I normally look at the week on Monday mornings (or Sunday evenings) to plan out the week and then work everyday by just looking at what I ought to get done that particular day.&lt;/p&gt;
&lt;p&gt;Like Dale Carnegie says,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Shut off the past! Let the dead past bury its dead. Shut out the yesterdays which have lighted fools the way to dusty death.&lt;/p&gt;
&lt;p&gt;The load of tomorrow, added to that of yesterday, carried today, makes the strongest falter. Shut off the future as tightly as the past.&lt;/p&gt;
&lt;p&gt;The future is today. There is no tomorrow. The day of man&amp;rsquo;s salvation is now.&lt;/p&gt;
&lt;p&gt;Waste of energy, mental distress, nervous worries dog the steps of a man who is anxious about the future. Shut close, then the great fore and aft bulkheads, and prepare to cultivate the habit of life of day-tight compartments.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;So I want then, my Org Mode to do show me, only the things, I have on my plate today.&lt;/p&gt;
&lt;p&gt;And Org is nothing if not adaptable. &lt;code&gt;org-agenda-span&lt;/code&gt; is the variable that controls what the Agends shows me. According to the docs,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;This variable can be set to any number of days you want to see by default in the agenda, or to a span name, such a &lt;code&gt;day&lt;/code&gt;, &lt;code&gt;week&lt;/code&gt;, &lt;code&gt;month&lt;/code&gt; or &lt;code&gt;year&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;So that’s what I did. This little snippet went into my &lt;code&gt;init&lt;/code&gt; file&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-elisp" data-lang="elisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; Set Agenda to show a day as the default timespan, instead of a week&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;org-agenda-span&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;day&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;

Et voilà!&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post?&lt;br&gt;
Mail me at &lt;a href="mailto:feebdback@janusworx.com?subject=%22Feedback on post: View Only the Day, With Org Agenda
%22" &gt;feedback at this domain&lt;/a&gt; &lt;em&gt;or&lt;/em&gt; [continue the discourse here][3].
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Need Day of Month Reminders in Org Mode? Emacs Sexp Diary Entries to the Rescue</title><link>https://janusworx.com/personal/org-mode-emacs-diary-sexps/</link><pubDate>Mon, 17 Jun 2024 15:08:40 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/personal/org-mode-emacs-diary-sexps/</guid><description>&lt;p&gt;&lt;br&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-mode-diary-floats.jpg" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;This is how I imagine diary float entries in Emacs.&lt;br&gt;
Photo courtesy, &lt;a href="https://unsplash.com/@noaheleazar?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash"&gt;noah eleazar&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/books-on-white-wooden-shelf-9p6R1IDCXNg?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;I finally went ahead and read about what &lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html" target="_blank" rel="noreferrer"&gt;Emacs Diary S-expressions&lt;/a&gt; were.&lt;/p&gt;
&lt;p&gt;Going back, a bit.&lt;br&gt;
I make heavy use of Org Mode’s &lt;a href="https://orgmode.org/manual/Deadlines-and-Scheduling.html" target="_blank" rel="noreferrer"&gt;deadline and scheduling&lt;/a&gt; features.&lt;br&gt;
I put schedules and deadlines in lots of tasks across my ten or so org files, so that I can look at them every week, to decide what I’ll be doing this week as well as to review at the beginning of every month.&lt;br&gt;
To wit, there are plenty of tasks that repeat on a weekly and monthly cadence, and Org’s &lt;a href="https://orgmode.org/manual/Repeated-tasks.html" target="_blank" rel="noreferrer"&gt;repeaters&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, there’s one kind of event I have, that Org doesn’t support quite well.&lt;br&gt;
If I want something on, let’s say the second Friday of every month, there’s no easy way to describe / do that with Org.&lt;br&gt;
Org defers to Emacs’ native &lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Diary.html" target="_blank" rel="noreferrer"&gt;Diary Mode&lt;/a&gt; to do something like this.. Ok, not defers, but it supports Diary expression entries with a few caveats.&lt;br&gt;
Now those were scary when I first saw them, which is why I kicked the can down the road, and decided to just live with manually making entries for the second Friday of every month.&lt;br&gt;
A year of doing this, and I’ve finally had enough. So I finally went ahead and read about what &lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html" target="_blank" rel="noreferrer"&gt;Emacs Diary S-expressions&lt;/a&gt; were.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;a href="https://janusworx.com/images/2024/org-mode-emacs-diary-floats.jpg" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-mode-emacs-diary-floats-s.jpg" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;Click the pic to see a larger version of the chicken scratch&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Only to realise, that they were not as scary as I feared, after close to a year of messing around with my Emacs config files. They look&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; just like Emacs functions with arguments.&lt;/p&gt;
&lt;p&gt;I scribbled one out the way, Org needs them written, by referring to the &lt;a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html" target="_blank" rel="noreferrer"&gt;Emacs help&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-orgmode" data-lang="orgmode"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;&lt;span class="s"&gt;%%(diary-float t 5 2)&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I marked the sections out in the scrawly figure above.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;diary-float&lt;/code&gt; seems to be the function that does all the magic and then I have three arguments&lt;/li&gt;
&lt;li&gt;The first one, refers to the month by number. &lt;code&gt;8&lt;/code&gt; will mean August. &lt;code&gt;t&lt;/code&gt; will make things repeat every month.&lt;/li&gt;
&lt;li&gt;The second argument is day of week. &lt;code&gt;0&lt;/code&gt; being Sunday, and &lt;code&gt;6&lt;/code&gt;, Saturday.&lt;/li&gt;
&lt;li&gt;The third one refers to which week of the month. &lt;code&gt;2&lt;/code&gt; in my case, means the second week of the month.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So …&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-orgmode" data-lang="orgmode"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gh"&gt;*&lt;/span&gt;&lt;span class="gs"&gt; My super important task&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; DEADLINE: &amp;lt;&lt;span class="s"&gt;%%(diary-float t 3 2)&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;shows up in my agenda as a task for the second Wednesday of every month!&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-mode-diary-floats-agenda.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;p&gt;There are a couple of caveats to this approach.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This is not as task, even though I write it as one. It behaves more like a calendar entry. It more or less, just shows up in the agenda and I have to look at it.&lt;/li&gt;
&lt;li&gt;I can’t mark it as done and expect it to repeat, like a normal Org repeater. If I do that, the task is, uh &lt;em&gt;done&lt;/em&gt; and then that’s that.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Neither of these things bother me, because of the idiosyncratic way I drive my day.&lt;br&gt;
I normally review my daily agenda, and create a day plan for myself.&lt;br&gt;
Which means that I &lt;em&gt;copy&lt;/em&gt; the repeater task into my daily agenda as a single task and mark the repeater as done. So with the weird way I work, writing it out as a diary sexp, actually saves me a step ❤️&lt;br&gt;
And my cranky brain can now heave a sigh of relief.&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;?subject=%22Feedback on post: Need Day of Month Reminders in Org Mode? Emacs Sexp Diary Entries to the Rescue
%22" &gt;feedback at this domain&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;old folks know by now, there’s always a “but” or “however” coming&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;and probably are&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;&lt;a href="https://youtu.be/_mXyXXYXwlQ" target="_blank" rel="noreferrer"&gt;until next time&lt;/a&gt;&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Note to Self, Linking to a Headline in an Org File</title><link>https://janusworx.com/work/note-to-self-linking-to-a-headline-in-an-org-file/</link><pubDate>Thu, 06 Jun 2024 17:31:37 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/note-to-self-linking-to-a-headline-in-an-org-file/</guid><description>&lt;p&gt;I did one of those periodic, empty your mind sessions today.&lt;br&gt;
Everything is now in a brain dump org file.&lt;br&gt;
And now, like a every good productivity system preaches, I want to review the dump periodically.&lt;br&gt;
There is a task for my miscellenea for e.g. Could I convert it to a link and have it open the file at that precise location?&lt;br&gt;
Turns out Org Mode links let me do just that.&lt;br&gt;
All I need to do, is first &lt;em&gt;“&lt;a href="https://orgmode.org/manual/Handling-Links.html#Handling-Links-1" target="_blank" rel="noreferrer"&gt;store a link&lt;/a&gt;”&lt;/em&gt; in Org parlance. I do that by going to my target file that has the dump (the bottom file in the screenshot), go to the section that I need linking to (in my case, Misc Brain Dump), and hit &lt;code&gt;C-c l&lt;/code&gt;&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-links-1.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;After which I go to the file which needs to contain my link, and select my text that I’ll want converted into a link (&lt;em&gt;“&lt;a href="https://orgmode.org/manual/Handling-Links.html#index-C_002dc-C_002dl" target="_blank" rel="noreferrer"&gt;inserting a link&lt;/a&gt;”&lt;/em&gt; in org speak. In my case, the top file in the screenshot below).&lt;br&gt;
I select the Misc Brain Dump part of the “Look at the Misc Brain Dump” task and hit&lt;br&gt;
&lt;code&gt;C-c C-l&lt;/code&gt;&lt;br&gt;
It then switches me to a buffer that shows the links that Org currently has stored, with the minibuffer prompting me to choose one&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-links-2.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;I use the arrow keys to choose the one I want, hit return and it creates the link for me.&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-links-3.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Here, I’ve switched away from my brain dump. (I’ve closed the file in fact)&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-links-4.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;p&gt;I click the link in my tasks file and …&lt;/p&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;It opens right up, at the exact location I want. Woohoo!&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-links-5.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;p&gt;And just like everything else with Org, it’s plain, simple, elegant, text functionality.&lt;br&gt;
I examined the link and it was a borg standard Org link, with the link having the header tacked on the end, like so …&lt;br&gt;
&lt;code&gt;file:brain-dump.org::*Misc Brain Dump&lt;/code&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;?subject=%22Feedback on post: Note to Self, Linking to a Headline in an Org File
%22" &gt;feedback at this domain&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;which should have been evident when I chose the link to insert, but I only saw it and went Aha! much later 😂&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Ignoring Syncthing Conflict Files in the Org Agenda Folder</title><link>https://janusworx.com/work/ignoring-syncthing-conflict-files-in-org-agenda-folder/</link><pubDate>Sun, 26 May 2024 16:03:01 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/ignoring-syncthing-conflict-files-in-org-agenda-folder/</guid><description>&lt;p&gt;Now that I have &lt;a href="https://janusworx.com/blog/org-mode-clocking-in-and-out-of-tasks-on-task-state-changes/" &gt;the power of large language models&lt;/a&gt;, in the palm of my hand …&lt;br&gt;
&lt;br&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/he-man-i-have-the-power.gif" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;You just had to be there, to really appreciate this 😂&lt;br&gt;
Image, courtesy user &lt;a href="https://makeagif.com/i/Mz4AjF" target="_blank" rel="noreferrer"&gt;straiven on makeagif&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

I decided to see, if it could help me solve one of my real pain points with Org Mode.&lt;br&gt;
I had asked for help &lt;a href="https://toots.dgplug.org/@jason/112483224007964606" target="_blank" rel="noreferrer"&gt;over on the fediverse&lt;/a&gt;, after months of trial and error, on just how to fix this.&lt;br&gt;
The issue being, I needed a way to tell my Org Agenda, to ignore files with a certain pattern.&lt;/p&gt;
&lt;p&gt;I have a folder (called &lt;code&gt;syncbox&lt;/code&gt;) full of files, that Org Mode looks at to generate the agenda for me.&lt;br&gt;
Now these files are also synced via &lt;a href="https://syncthing.net/" target="_blank" rel="noreferrer"&gt;Syncthing&lt;/a&gt; over to my phone, where another program called &lt;a href="https://www.beorgapp.com/" target="_blank" rel="noreferrer"&gt;Beorg&lt;/a&gt; looks at them too and shows them as entries in my calendar, so that I don’t miss the really important things I need to do.&lt;/p&gt;
&lt;p&gt;Functionally, all is well with this setup, except for one teensy thing.&lt;br&gt;
Every once in a while, when certain files are in use on both, my desktop and my phone, Syncthing will create conflicting copies of said files in use.&lt;br&gt;
This happens most often, with my &lt;code&gt;tasks.org&lt;/code&gt; file.&lt;br&gt;
Once it conflicts, my &lt;code&gt;syncbox&lt;/code&gt; gets full with files like,&lt;br&gt;
&lt;code&gt;tasks.sync-conflict-20240408-041556-2TQWENY.org&lt;/code&gt; and&lt;br&gt;
&lt;code&gt;tasks.sync-conflict-20240516-101335-2TQWENY.org&lt;/code&gt; and&lt;br&gt;
&lt;code&gt;tasks.sync-conflict-20240520-053451-2TQWENY.org&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;What happens &lt;em&gt;then,&lt;/em&gt; is that Org Agenda happily reads those files too, and I end up with lots of duplicated tasks.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;As usual, tackling it by writing lisp, was an idea fraught with terror for me. I tried quite a bit and failed.&lt;br&gt;
My next plan of attack was that Org Agenda had a regex&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;, that it would process. My regex is better than my lisp, but even that was to no avail.&lt;br&gt;
Emacs regex does not support lookaheads / lookbehinds and I did not want to have some complicated pattern, that even I would not recognise, a few months down the line.&lt;br&gt;
In the meanwhile, Ihor told me to stop faffing about and &lt;a href="https://emacs.ch/@yantar92/112484511603174787" target="_blank" rel="noreferrer"&gt;just write&lt;/a&gt; a function&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;So I asked Claude to go do the work for me and I ended up with …&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-emacs-lisp" data-lang="emacs-lisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;mjb/set-org-agenda-files-from-syncbox-directory&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;&amp;#34;Set &lt;/span&gt;&lt;span class="ss"&gt;`org-agenda-files&amp;#39;&lt;/span&gt;&lt;span class="s"&gt; to all Org files in the &amp;#39;syncbox&amp;#39; directory, excluding files with &amp;#39;.sync-conflict&amp;#39; in the name.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;let&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;syncbox-dir&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;expand-file-name&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;syncbox&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;my-org-directory&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;when&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;file-directory-p&lt;/span&gt; &lt;span class="nv"&gt;syncbox-dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;org-agenda-files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;mapcar&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;lambda&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;expand-file-name&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt; &lt;span class="nv"&gt;syncbox-dir&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;seq-filter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;lambda&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;not&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;string-match-p&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;\\.sync-conflict&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;file&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;directory-files&lt;/span&gt; &lt;span class="nv"&gt;syncbox-dir&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;\.org$&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)))))))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;mjb/set-org-agenda-files-from-syncbox-directory&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;which I dutifully dumped into my &lt;code&gt;init&lt;/code&gt; file.&lt;br&gt;
And that did the trick!&lt;/p&gt;
&lt;p&gt;What did strike me, is that now that I am using this approach, my chicken and egg struggle is finally at an end. I don’t have to struggle to learn lisp to hack emacs which needs me to learn lisp.&lt;br&gt;
I realise it takes only a short time of dedicated effort. But right now, it is time I don’t have, and don’t know when I’ll get.&lt;br&gt;
So the new fangled LLM AIs can help me sort my Emacs pain points and I can learn Lisp at leisure.&lt;br&gt;
And I’ll use, &lt;a href="https://framapiaf.org/@vindarel" target="_blank" rel="noreferrer"&gt;friend on the fediverse&lt;/a&gt;, Vincent Dardel’s &lt;a href="https://www.udemy.com/course/common-lisp-programming/?couponCode=NVDPRODIN35" target="_blank" rel="noreferrer"&gt;excellent course to do just that&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback at this domain&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;It drove me nuts in the beginning, when I did not know what was happening. I was like, I /just/ finished this task. And it’s popping up again?! Is my computer haunted?&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;defined in &lt;code&gt;org-agenda-file-regexp&lt;/code&gt; with a default value of &lt;code&gt;&amp;quot;\\`[^.].*\\.org\\'&amp;quot;&lt;/code&gt;&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;He did not quite put it that way. He was much kinder, obviously :)&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Org Mode Clocking in and Out of Tasks on Task State Changes</title><link>https://janusworx.com/work/org-mode-clocking-in-and-out-of-tasks-on-task-state-changes/</link><pubDate>Thu, 23 May 2024 19:03:13 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/org-mode-clocking-in-and-out-of-tasks-on-task-state-changes/</guid><description>
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/org-mode-unicorn.svg" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;Logo courtesy, the &lt;a href="https://orgmode.org/" target="_blank" rel="noreferrer"&gt;Org Mode Website&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Lisp is on the list of things to learn someday.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
And in the meanwhile, I need to be able to hack Emacs to do the stuff I want.&lt;br&gt;
But also, there are a ton of other things, that are currently much, much higher on my list of priorities.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
And while the community is &lt;em&gt;&lt;strong&gt;extremely&lt;/strong&gt;&lt;/em&gt; kind and generous, the expectation is that you need to put in the time and the work.&lt;br&gt;
Which I currently don’t have and can’t do.&lt;/p&gt;
&lt;p&gt;And so, it finally happened.&lt;br&gt;
I signed up for a Claude account and told it to write me some lisp.&lt;/p&gt;
&lt;p&gt;I am heavily Org Mode task driven, these days and I have a manual workflow that I need a teensy bit of help with.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I start work on a task&lt;/li&gt;
&lt;li&gt;I mark it as WORKING (and clock in manually)&lt;/li&gt;
&lt;li&gt;I want to switch to another task&lt;/li&gt;
&lt;li&gt;I mark my original task as WAITING (and clock out manually)&lt;/li&gt;
&lt;li&gt;I then mark my new task as WORKING (and clock in manually)&lt;/li&gt;
&lt;li&gt;After a while I switch to the original task, and clock in manually (after marking the current task as WAITING and clocking out there manually)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What bugs me, is the clocking in and out, because …&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I tend to forget it, messing up all my clock times and …&lt;/li&gt;
&lt;li&gt;because it is now becoming painful on my middle aged fingers&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;,&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, like I said, I prompted Claude to give me code that would clock me in automatically, whenever I changed state to WORKING and clock me out when I switched to WAITING&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
It spat out some code.&lt;br&gt;
I tried to reasonably guess and verify what it did.&lt;br&gt;
It looked ok.&lt;br&gt;
I tried it.&lt;br&gt;
It worked!&lt;br&gt;
And that’s that.&lt;br&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-elisp" data-lang="elisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;mjb/org-clock-in-when-task-state-changes-to-working&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;&amp;#34;Clock in an Org mode task when the status is changed to &amp;#39;WORKING&amp;#39;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;when&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;eq&lt;/span&gt; &lt;span class="nv"&gt;major-mode&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;org-mode&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;member&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;downcase&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;or&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-get-todo-state&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;working&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-clock-in&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;mjb/org-clock-out-when-task-state-changes-to-waiting&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;&amp;#34;Clock out an Org mode task when the status is changed to &amp;#39;WAITING&amp;#39;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;when&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;eq&lt;/span&gt; &lt;span class="nv"&gt;major-mode&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;org-mode&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;member&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;downcase&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;or&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-get-todo-state&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;waiting&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-clock-out&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; These lines make the functions above, hook to Org’s state change mechanism.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;;; So that everytime a task’s state changes, these functions are called&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;add-hook&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;org-after-todo-state-change-hook&lt;/span&gt; &lt;span class="nf"&gt;#&amp;#39;&lt;/span&gt;&lt;span class="nv"&gt;mjb/org-clock-in-when-task-state-changes-to-working&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;add-hook&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;org-after-todo-state-change-hook&lt;/span&gt; &lt;span class="nf"&gt;#&amp;#39;&lt;/span&gt;&lt;span class="nv"&gt;mjb/org-clock-out-when-task-state-changes-to-waiting&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Reminds me of the old adages about humans and bicycles being the fastest and humans and chess programs&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt;, being the best players.&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
All of it is good, if it aids me, and hopefully does not get in my way.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback at this domain&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;soon&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;getting up to speed with the current devops/cloud landscape, for instance&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Yes, I could reassign them to easier keys, but just having it done automatically is better&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;the task state switches are second nature and don’t bother me much&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;Centaurs, I think, the combination is called&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;and of course, the pilots and giant mechas in Pacific Rim&amp;#160;&lt;a href="#fnref:6" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Org Mode Narrowing and Widening Buffers</title><link>https://janusworx.com/work/org-mode-narrowing-and-widening-buffers/</link><pubDate>Mon, 26 Feb 2024 09:40:17 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/org-mode-narrowing-and-widening-buffers/</guid><description>&lt;p&gt;tldr: &lt;code&gt;C-x n s&lt;/code&gt; to narrow, &lt;code&gt;C-x n w&lt;/code&gt; to widen&lt;/p&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Now that life’s getting busier and busier, with lots more things on my plate, ye olde system of writing the day’s tasks down on paper does not work any more. Specially since, I’ve begun logging clock times&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;. Writing them down by hand is a giant pain.&lt;br&gt;
This is what the plan’s begun to look like.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;a href="https://janusworx.com/images/2024/om-orgmode-narrow-widen-1.png" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/om-orgmode-narrow-widen-1.png" alt="a plan of tasks for a mediumish range of time" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;An unwieldy plan.&lt;br&gt;
Click this image or any below, for larger versions&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;I wanted to see, if Org would let me replicate what I did my hand, natively.&lt;br&gt;
Which in a nutshell was to look at the day sheet (on paper) for the nitty gritty and my organiser (currently my tasks.org file) for the big picture view.&lt;br&gt;
I bounce between the two often. And discrete focus is something I wanted to keep.&lt;/p&gt;
&lt;p&gt;The focus from wide …
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;a href="https://janusworx.com/images/2024/om-narrow-wide-2.jpg" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/om-narrow-wide-2-s.jpg" alt="wide shot of Himalayan range. a valley with a tree line with the mountains in the back and the wide blue sky overheard" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;p&gt;to narrow. And back …
&lt;a href="https://janusworx.com/images/2024/om-narrow-wide-1.jpg" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/om-narrow-wide-1-s.jpg" alt="a yellow Moss Rose" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://orgmode.org/worg/orgcard.html" target="_blank" rel="noreferrer"&gt;A bit of searching&lt;/a&gt; and this is the result! Woohoo!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://janusworx.com/images/2024/om-orgmode-narrow-widen-2.png" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2024/om-orgmode-narrow-widen-2.png" alt="the plan is now scoped to just today" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;p&gt;Like I mentioned above, I hit &lt;code&gt;C-x n s&lt;/code&gt; next to my day’s headline to narrow the scope to just today. And a &lt;code&gt;C-x n w&lt;/code&gt; gets me back to the thirty thousand foot view.&lt;br&gt;
I think of them as, &lt;em&gt;s&lt;/em&gt; for slim and &lt;em&gt;w&lt;/em&gt; for wide, to keep them straight in my head.&lt;br&gt;
I’m intuiting this is Org’s &lt;a href="https://orgmode.org/manual/Sparse-Trees.html" target="_blank" rel="noreferrer"&gt;Sparse Tree&lt;/a&gt; Magic at play here. But learning that wizardry is a thing for another day.&lt;/p&gt;
&lt;p&gt;The important bit for me, is that I can focus when I working, without getting distracted.&lt;br&gt;
And then when I need to, zoom out to review what progress looks like and make changes, if I need to.&lt;/p&gt;
&lt;p&gt;I feel a bit sad though. I’ve given up &lt;a href="https://janusworx.com/blog/the-kobo-elipsa-2e-six-months-later/" &gt;book notes&lt;/a&gt; on paper. I’m giving up planning my day on paper. It feels like I’m losing something tangible. I miss paper.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback at this domain&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;I hope to use these, to objectively measure where my time is &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; going&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Emacs, Three and a Half Years On</title><link>https://janusworx.com/work/emacs-three-and-a-half-years-on/</link><pubDate>Sat, 30 Dec 2023 10:16:07 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/emacs-three-and-a-half-years-on/</guid><description>&lt;p&gt;If someone had told me &lt;a href="https://janusworx.com/blog/emacs-day-01" &gt;three and a half years ago&lt;/a&gt;, that I would:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use &lt;a href="https://en.wikipedia.org/wiki/Emacs" target="_blank" rel="noreferrer"&gt;Emacs&lt;/a&gt; as my primary editor nearly everywhere.&lt;/li&gt;
&lt;li&gt;Not just as an editor. In fact, I would stop thinking of it as an editor and come to see it for what it really is. A whole computer with an editor bolted on.&lt;/li&gt;
&lt;li&gt;Use Emacs not just for writing, but also have it serve as the cornerstone for two other extremely important activities in my life, organising my life (with &lt;a href="https://orgmode.org/" target="_blank" rel="noreferrer"&gt;Org Mode&lt;/a&gt;) and tending to my commonplace book (with &lt;a href="https://www.orgroam.com/" target="_blank" rel="noreferrer"&gt;Org Roam&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Come so far as to scrape a web page, set it up as a connected node in my &lt;a href="https://janusworx.com/tags/zettelkasten/" &gt;Zettelkasten&lt;/a&gt;, strip close to fifty superfluous lines, edit the rest to my liking, change the title to title case, and then file it way within minutes, and learn do all this by osmosis and research over the years, just by using it daily and being curious&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Have a kind community support all my &lt;a href="https://janusworx.com/blog/having-my-emacs-tasks-and-notes-ready/#update-2023-11-17" target="_blank" rel="noreferrer"&gt;crazy attempts&lt;/a&gt; to bend Emacs to my will&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I would have told you, you were off your rocker.&lt;br&gt;
But I do, do these things (which, I’m ridiculously pleased with) and have this wonderful community (which, I am earnestly grateful for).&lt;br&gt;
Here’s to three and a half decades!&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback@janusworx.com&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;and being a bit stubborn and refusing to accept the status quo&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Weirdly Placed Emacs Org Branches Are Only Cosmetic</title><link>https://janusworx.com/work/weirdly-placed-emacs-org-branches-are-only-cosmetic/</link><pubDate>Mon, 27 Nov 2023 08:26:19 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/weirdly-placed-emacs-org-branches-are-only-cosmetic/</guid><description>&lt;p&gt;Every evening, after my &lt;a href="https://www.youtube.com/watch?v=-pdmry5gU7g" target="_blank" rel="noreferrer"&gt;shutdown ritual&lt;/a&gt;, I move my current day’s branch to the bottom of my &lt;a href="https://orgmode.org/" target="_blank" rel="noreferrer"&gt;Org Mode&lt;/a&gt; file, so I begin the next day at &lt;a href="https://janusworx.com/blog/having-my-emacs-tasks-and-notes-ready/" &gt;the same fixed place, at line 36.&lt;/a&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2023/emacs-orgmove-branch-1.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;The day is done; moving it to the bottom of the pile&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Every time I move though, it goes there and sits, right &lt;em&gt;next&lt;/em&gt; to the last branch, instead of &lt;em&gt;under&lt;/em&gt; it. So I would grumble a bit, and then go hit the &lt;code&gt;return&lt;/code&gt; key as required, to get it all right and proper. And I’m tired, so at least one time out of three, I mess the older day too, and then I grumble even more and fix that too.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2023/emacs-orgmove-branch-2.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;Where it sits awkwardly&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Until today morning, when I realised I had &lt;em&gt;not&lt;/em&gt; done my fix the day dance, yesterday…&lt;br&gt;
And the day was correctly positioned at the bottom!&lt;br&gt;
So, was this was just a purely cosmetic issue?!&lt;br&gt;
I tried it with a couple of test days.&lt;br&gt;
I saved, closed, and opened up my file. Fixed!&lt;br&gt;
Then I tried some more tests days and I expanded all my tasks &lt;code&gt;Shift-Tab&lt;/code&gt; and and closed them. Fixed! 🙂&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2023/emacs-orgmove-branch-3.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;figcaption style="font-style: italic; text-align: center; font-size: 85%; color: var(--secondary)"&gt;
&lt;p&gt;Yay! The Org Mode elves fixed it!&lt;/p&gt;
&lt;/figcaption&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;I guess, I have to go find something else to be grumpy about now 😂&lt;/p&gt;

&lt;h3 class="relative group"&gt;&lt;em&gt;Update: 2023-11-27&lt;/em&gt;
 &lt;div id="update-2023-11-27" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#update-2023-11-27" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;A friend on the fediverse, encouraged me to try filing a bug report with the Org folk.&lt;br&gt;
To which I retort, this is more a PEBKAC problem, than an Org Mode problem.&lt;br&gt;
Most likely I am doing something dumb or I have something misconfigured, or some of my Org helper packages (Org-contrib, Org-ql, Org-Web-Tools, Org Superstar) are trampling over one another.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback@janusworx.com&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;As I grow older, habits, routines and static places are growing ever more important, so I can function well.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Org Mode Subtree Expansion With the Mouse</title><link>https://janusworx.com/work/org-mode-subtree-expansion-with-the-mouse/</link><pubDate>Wed, 22 Feb 2023 08:04:19 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/org-mode-subtree-expansion-with-the-mouse/</guid><description>&lt;p&gt;When I wrote about, &lt;a href="https://janusworx.com/blog/ticking-off-checkboxes-with-the-mouse-in-org-mode/" &gt;ticking off checkboxes in Org Mode&lt;/a&gt;, I’d linked to &lt;a href="http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/org/org-mouse.el#n101" target="_blank" rel="noreferrer"&gt;line 101&lt;/a&gt; of &lt;code&gt;org-mouse.el&lt;/code&gt;. While I’d read the main summary, I somehow missed &lt;a href="http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/org/org-mouse.el#n30" target="_blank" rel="noreferrer"&gt;line 30&lt;/a&gt; …&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; * subtree expansion/collapse (org-cycle) with the left mouse button&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Which I accidentally triggered today …&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2023/org-mouse-cycle-1.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;p&gt;After an (accidental) click opens up to …

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2023/org-mouse-cycle-2.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/p&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Org Mode continues to delight! Hurrah!&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback@janusworx.com&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>What I Learned Today (11th of February, 2023)</title><link>https://janusworx.com/work/what-i-learned-today-2023-02-11/</link><pubDate>Sat, 11 Feb 2023 14:42:56 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/what-i-learned-today-2023-02-11/</guid><description>&lt;p&gt;Rest day! Not doing much!
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;

&lt;h3 class="relative group"&gt;Emacs
 &lt;div id="emacs" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#emacs" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;It works! &lt;a href="https://janusworx.com/blog/what-i-learned-today-2023-02-10#emacs" &gt;Yesterday’s little hack&lt;/a&gt;, to clock in and out when I change state works well! It doesn’t seem to have broken anything.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Also I added a &lt;code&gt;WORKING&lt;/code&gt; state, and tagged my function to that. The clock in and out happen when I switch in an out of the &lt;code&gt;WORKING&lt;/code&gt; state. Because I want my parent task to show &lt;code&gt;IN_PROGRESS&lt;/code&gt; and the current subtask to be what I am working on. Like so …&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-org" data-lang="org"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;**&lt;/span&gt; IN_PROGRESS Emacs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;***&lt;/span&gt; WORKING Learn about Org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;***&lt;/span&gt;&lt;span class="err"&gt; TODO&lt;/span&gt; Write about what you learnt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br&gt;

&lt;ul&gt;
&lt;li&gt;Here’s an image of an actual task …&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2023/org-tasks.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;Except for one more thing.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
When I switch another task to &lt;code&gt;WORKING&lt;/code&gt;, it &lt;em&gt;does&lt;/em&gt; clock me out of the old task, but it leaves the TODO state at &lt;code&gt;WORKING&lt;/code&gt;. I want the old task to switch to &lt;code&gt;WAITING&lt;/code&gt;. I’ll look at doing this as soon as I get some breathing time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Devops
 &lt;div id="devops" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#devops" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Spoke to a friend about some how and what and why for close to an hour&lt;br&gt;
Helped me clear my mind lots!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Urdu
 &lt;div id="urdu" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#urdu" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Did “toey” and “zoey”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Did I mention three letters for the same S sound &lt;a href="https://janusworx.com/blog/what-i-learned-today-2023-02-10#urdu" &gt;yesterday&lt;/a&gt;?&lt;br&gt;
Ha! Z has &lt;em&gt;&lt;strong&gt;four!&lt;/strong&gt;&lt;/em&gt; Zaal, Ze, Zuaad &amp;amp; Zoey&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Also tutor’s note:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;the word “zan” (ज़न) when written with ‘zoey’ means “presumption” whereas, the same word, when written with a ‘ze’ instead, means “woman”.&lt;/p&gt;
&lt;/blockquote&gt;&lt;ul&gt;
&lt;li&gt;Which means? Lots of practice and reading ahead :)&lt;br&gt;
Also coming from &lt;a href="https://youtube.com/shorts/BgqDRTQ7lJs" target="_blank" rel="noreferrer"&gt;the madness that is English&lt;/a&gt;, I keep telling myself, this is not so bad 😂&lt;br&gt;
Like Lizzo doing &lt;a href="https://youtu.be/hRJzez4UDm8" target="_blank" rel="noreferrer"&gt;crack&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Physical Fitness
 &lt;div id="physical-fitness" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#physical-fitness" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Rest day!&lt;/p&gt;

&lt;h3 class="relative group"&gt;Thoughts
 &lt;div id="thoughts" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#thoughts" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The meta need / theme of learning and working, as I am doing now, is that I need to work to a time budget
&lt;ul&gt;
&lt;li&gt;Here’s the problem, try and solve it in an hour (or whatever time I budget)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I need to have no shame if I cannot get it done&lt;/li&gt;
&lt;li&gt;I need to ask for help / look up solutions faster&lt;/li&gt;
&lt;li&gt;I also need to budget the time to understand the solutions.
&lt;ul&gt;
&lt;li&gt;If I cannot fix it one day and the solution is taking time to “get”, be ok with spending time the next day&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;It’s just me. There is no one else. There is no need to pressure myself more than necessary.&lt;/li&gt;
&lt;li&gt;Work to the spec. Generalising (at least for now) is taboo. Now, I understand what my friends tell me about me perfectionism. I keep spending way too long about what if this? and what if that? I need to get something working first. Refine / expand / refactor it later&lt;/li&gt;
&lt;li&gt;Get better at logging times&lt;/li&gt;
&lt;li&gt;Get better at taking breaks between tasks&lt;/li&gt;
&lt;li&gt;Writing these logs has helped gain insight and understanding. I need to keep at it. It’ll help with the “what now? what next?” questions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback@janusworx.com&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Getting greedy, aren’t I? :)&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>What I Learned Today (10th of February, 2023)</title><link>https://janusworx.com/work/what-i-learned-today-2023-02-10/</link><pubDate>Fri, 10 Feb 2023 19:53:47 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/what-i-learned-today-2023-02-10/</guid><description>&lt;p&gt;Decided to play hooky today, because I got up &lt;em&gt;reallly&lt;/em&gt; late and then I got stuff at home to do.&lt;br&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;

&lt;h3 class="relative group"&gt;Emacs
 &lt;div id="emacs" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#emacs" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Since I was playing hooky with my time and attention anyway, I decided to see, if I could tackle this little thing, I wanted to happen with my Org Mode.&lt;/li&gt;
&lt;li&gt;Everytime I move my &lt;code&gt;TODO&lt;/code&gt; status for a task to &lt;code&gt;IN_PROGRESS&lt;/code&gt;, I want Org to automatically clock in for me. And everytime I move out of the &lt;code&gt;IN_PROGRESS&lt;/code&gt; state, I wanted it to clock out. This is because I want a one step process. I don’t want to change state and &lt;em&gt;then&lt;/em&gt; clock in too. And I want it this way, because changing states and telling my program, that I’m going to work on this, here, task now is more natural to me, than clocking in and out.&lt;/li&gt;
&lt;li&gt;A whole day of reading and searching later, I stumbled across &lt;a href="https://emacs.stackexchange.com/a/71195" target="_blank" rel="noreferrer"&gt;this gem on the Emacs StackExchange&lt;/a&gt; site which did &lt;em&gt;exactly&lt;/em&gt; what I was looking to do.&lt;/li&gt;
&lt;li&gt;I stole it, twiddled a bit with the variable and function names and added it to the file that &lt;a href="https://janusworx.com/blog/splitting-an-unwieldy-emacs-init.el-file/" &gt;handles my Org config&lt;/a&gt;.
This is it, in its entirety&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-lisp" data-lang="lisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;add-hook&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;org-after-todo-state-change-hook&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="ss"&gt;&amp;#39;mjb/org-clock-todo-change&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;defun&lt;/span&gt; &lt;span class="nv"&gt;mjb/org-clock-todo-change&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;string=&lt;/span&gt; &lt;span class="nv"&gt;org-state&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;IN_PROGRESS&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-clock-in&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-clock-out-if-current&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;And this works! For now. If something comes up, I’ll figure it out.&lt;/li&gt;
&lt;li&gt;Which brings me to the figuring out part. Doing this today has left me conflicted. In the old life, this is exactly how I’d do it. But ever since I’ve been learning to write code, I feel like this is something I should be able to do. But there’s only so much life and so much I want. I want the results today, and learning and writing Lisp is not going to happen in a jiffy. Right now my priorities are Devops related tasks. So I’ve just taken the pragmatic way out for now, and used code I found.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Urdu
 &lt;div id="urdu" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#urdu" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Learnt about the “suaad” group.&lt;br&gt;
And also learnt that Urdu is just as crazy as English.&lt;br&gt;
There are &lt;em&gt;three, count ’em, three&lt;/em&gt; ways of making the S sound and no particular rhyme or reason to them, save history :)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Proficiency in using the correct letter in a word can only come with practice”, according to the site 😂&lt;br&gt;
It’s still much better than English, I think :)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Physical Fitness
 &lt;div id="physical-fitness" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#physical-fitness" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Had a sit down with my trainer and explained what I wanted.&lt;/li&gt;
&lt;li&gt;He got it. I also understood his approach and we worked out a happy medium&lt;br&gt;
Today’s session was much better.&lt;/li&gt;
&lt;li&gt;I can now say, after these days, that I’ve gotten over those early gym aches.&lt;br&gt;
It still hurts, but I no longer drag my feet, and crawl home like a zombie.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Feedback on this post? Mail me at &lt;a href="mailto:&amp;amp;#102;&amp;amp;%23101;&amp;amp;%23101;&amp;amp;%23100;&amp;amp;%2398;&amp;amp;%2397;&amp;amp;%2399;&amp;amp;%23107;&amp;amp;%2364;&amp;amp;%23106;&amp;amp;%2397;&amp;amp;%23110;&amp;amp;%23117;&amp;amp;%23115;&amp;amp;%23119;&amp;amp;%23111;&amp;amp;%23114;&amp;amp;%23120;&amp;amp;%2346;&amp;amp;%2399;&amp;amp;%23111;&amp;amp;%23109;" &gt;feedback@janusworx.com&lt;/a&gt;
&lt;br&gt;

&lt;br&gt;

P.S. Subscribe to my &lt;a href="https://janusworx.com/subscribe/" target="_blank" rel="noreferrer"&gt;mailing list!&lt;/a&gt;&lt;br&gt;
Forward these posts and letters to your friends and get them to subscribe!&lt;br&gt;
P.P.S. Feed my &lt;a href="https://www.amazon.in/hz/wishlist/ls/2QAUKHHAMOOVS?ref_=wl_share" target="_blank" rel="noreferrer"&gt;insatiable reading habit.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Ticking Off Checkboxes With the Mouse in Org Mode</title><link>https://janusworx.com/personal/ticking-off-checkboxes-with-the-mouse-in-org-mode/</link><pubDate>Fri, 07 Oct 2022 19:48:29 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/personal/ticking-off-checkboxes-with-the-mouse-in-org-mode/</guid><description>&lt;p&gt;While I mostly use the keyboard when doing everything Org related, there are a &lt;em&gt;few&lt;/em&gt; times in the day, when I cannot. These are mostly mornings and evenings when I bustle about home, doing this thing and that. Things that are part of my routine. Things that are checkboxes in my &lt;code&gt;routine.org&lt;/code&gt; file.&lt;br&gt;
It helps me get through the day without thinking of whether, I gave the better half her meds or whether I remembered to call my mum or if I drank enough water by the end of the day or whether my stretches for the day are done or if the plan for the next day is made.&lt;/p&gt;
&lt;p&gt;Little things. Everyday things. Important things.&lt;/p&gt;
&lt;p&gt;And at those times, the keyboard gets in the way.&lt;br&gt;
I don’t want to arrow to get to some task and &lt;code&gt;C-c C-c&lt;/code&gt; to tick it off.&lt;br&gt;
Besides my hands are nearly always messy with something or the other and I don’t want to get gunk into my keyboard.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
Easier to just mosey the cursor to said task and click to done!&lt;br&gt;
But click to done, would not done! What?! Org Mode would not let me click to complete my checkboxes?&lt;/p&gt;
&lt;p&gt;So, off to the &lt;a href="https://orgmode.org/org.html" target="_blank" rel="noreferrer"&gt;documentation&lt;/a&gt; I went and did a search for &lt;code&gt;mouse&lt;/code&gt;, and stumbled across this line.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Piotr Zielinski wrote &lt;code&gt;org-mouse.el,&lt;/code&gt; proposed agenda blocks and contributed various ideas and code snippets.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Well, Piotr understands my pain!&lt;br&gt;
Some more spelunking led me to &lt;a href="http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/org/org-mouse.el#n46" target="_blank" rel="noreferrer"&gt;&lt;code&gt;org-mouse.el&lt;/code&gt;&lt;/a&gt;, which seems to be really well documented. Its commentary begins with …&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; Org-mouse provides mouse support for org-mode.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; http://orgmode.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; Org-mouse implements the following features:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; * following links with the left mouse button (in Emacs 22)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; * subtree expansion/collapse (org-cycle) with the left mouse button
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; * several context menus on the right mouse button:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + general text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + headlines
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + timestamps
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + priorities
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + links
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + tags
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; * promoting/demoting/moving subtrees with mouse-3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + if the drag starts and ends in the same line then promote/demote
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + otherwise move the subtree&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/org/org-mouse.el#n101" target="_blank" rel="noreferrer"&gt;Line 101&lt;/a&gt;, was what put a smile on my face though.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; Version 0.17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;;; + toggle checkboxes with a single click&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;

&lt;a href="http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/org/org-mouse.el#n46" target="_blank" rel="noreferrer"&gt;All it took&lt;/a&gt;, to get it working was to put &lt;code&gt;(require 'org-mouse)&lt;/code&gt; into my &lt;code&gt;init.el&lt;/code&gt; et voilà. I can clicky-clicky-to-done to my heart’s content.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-mouse.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;well, more gunk than is necessary.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Blocks in Org Mode</title><link>https://janusworx.com/work/blocks-in-org-mode/</link><pubDate>Tue, 27 Sep 2022 14:07:32 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/blocks-in-org-mode/</guid><description>&lt;p&gt;I remember, when I first learned it, the Org Manual &lt;a href="https://orgmode.org/orgguide.html#Paragraphs" target="_blank" rel="noreferrer"&gt;mentioning&lt;/a&gt; I could have code, quotes, poetry and sundry self structured blocks of text, where the text in that block would flow like I wanted it to. I could have indentation or line breaks as I pleased.&lt;br&gt;
And then I promptly forgot about it.&lt;/p&gt;
&lt;p&gt;The only thing I did remember were code blocks.&lt;br&gt;
And that I needed to do a &lt;code&gt;#+begin_src&lt;/code&gt; and then a &lt;code&gt;#+end_src&lt;/code&gt; and put my code in the middle. And all this while, I would keep typing it in, by hand.&lt;/p&gt;
&lt;p&gt;Until I tired of keeping on doing that shit, because there are more and more notes that are now going into my &lt;a href="https://janusworx.com/tags/zettelkasten/" &gt;zettelkasten&lt;/a&gt; and decided well, &lt;a href="https://janusworx.com/tags/automation/" &gt;the computer can do that for me.&lt;/a&gt;&lt;br&gt;
So, I went back to the Org Mode documentation and discovered &lt;a href="https://orgmode.org/manual/Structure-Templates.html" target="_blank" rel="noreferrer"&gt;Structure Templates.&lt;/a&gt;&lt;br&gt;
And now, I am at peace!&lt;/p&gt;
&lt;p&gt;Turns out, all I needed was &lt;code&gt;(org-insert-structure-template)&lt;/code&gt; aka &lt;code&gt;C-c C-,&lt;/code&gt;&lt;br&gt;
Here’s some code I’ve selected in a document&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-blocks-1.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;Now I hit &lt;code&gt;C-c C-,&lt;/code&gt;, which brings up a whole host of options, with a prompt!&lt;br&gt;
Do I want this block of text to be a quote? Or some verse?&lt;br&gt;
Well, this is just boring code, so I choose source with the &lt;code&gt;s&lt;/code&gt; key&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-blocks-2.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;p&gt;And tada! The block is surrounded by the begin and end tags, and is now a source block! I could add the programming language after &lt;code&gt;#+begin_src&lt;/code&gt; to get highlighting as well, but that’s a story for another day.&lt;/p&gt;

&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-blocks-3.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;p&gt;I’m practicing this, so that I get &lt;code&gt;C-c C-,&lt;/code&gt; into my muscle memory, because be it verse, quote, code, example or exports, I know I will be making heavy use of Structure Templates.&lt;/p&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
</description></item><item><title>Moving Tasks Between Org Files in Emacs</title><link>https://janusworx.com/work/moving-tasks-between-org-files-in-emacs/</link><pubDate>Tue, 23 Aug 2022 16:13:08 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/moving-tasks-between-org-files-in-emacs/</guid><description>&lt;p&gt;More diving into Org Mode and Emacs.&lt;/p&gt;
&lt;p&gt;I have a &lt;code&gt;stuff-to-do.org&lt;/code&gt; file, that serves as an inbox for most long term tasks that I want to tackle. Stuff that needs doing, books that I want to buy, books that I want to read, courses that I want to learn, movies or tv shows that I want to watch, stuff on the web that I want to catchup on, etc. etc. etc.&lt;/p&gt;
&lt;p&gt;And all this while, I have been moving tasks into my &lt;code&gt;daily-tasks.org&lt;/code&gt; as and when I tackle them. This meant I needed to open both files, and then cut said task out of one and paste it into the other. And as usual, I am now doing this often enough, that it’s become bothersome. Because there are a couple more files as well, that serve as inboxes.&lt;/p&gt;
&lt;p&gt;And the same question arises, as usual. Can Emacs help with this?&lt;br&gt;
The answer as it almost always is, is a big, resounding, &lt;em&gt;&lt;strong&gt;Yes!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I know it had to do something with what Org calls a refile, since I keep using &lt;code&gt;C-c C-w&lt;/code&gt; to move items between different headings in my daily tasks file.&lt;br&gt;
So after a bit of &lt;a href="https://orgmode.org/manual/Refile-and-Copy.html" target="_blank" rel="noreferrer"&gt;reading the manual&lt;/a&gt;, &lt;a href="https://www.johnborwick.com/2019/02/23/org-todo-setup.html#org47b732f" target="_blank" rel="noreferrer"&gt;reading blog posts&lt;/a&gt;, spelunking through the &lt;a href="https://emacs.stackexchange.com/questions/55014/how-do-i-move-a-subtree-to-another-file" target="_blank" rel="noreferrer"&gt;emacs stackexchange&lt;/a&gt;, stalking the &lt;a href="https://www.reddit.com/r/orgmode/comments/g5006o/comment/fo0k8gy/" target="_blank" rel="noreferrer"&gt;Org Mode reddit&lt;/a&gt; and an hour of head scratching, I roughed up something that does what I want :)&lt;/p&gt;
&lt;p&gt;In a nutshell, what I am doing is what Org calls, a &lt;a href="https://orgmode.org/manual/Refile-and-Copy.html" target="_blank" rel="noreferrer"&gt;Refile and Copy.&lt;/a&gt; The manual page let me know that I could do this &lt;em&gt;across files too&lt;/em&gt;. This was exactly what I wanted. It also told me that I needed to configure &lt;code&gt;org-refile-targets&lt;/code&gt; variable to tell Org a list of locations, that it would then let me refile my tasks to.&lt;/p&gt;
&lt;p&gt;Having &lt;a href="https://janusworx.com/blog/splitting-an-unwieldy-emacs-init.el-file/" &gt;split my emacs init.el file&lt;/a&gt; into a set of logical files, I opened up the file that held my org settings (very imaginatively called &lt;code&gt;emacs-org-mode-settings.el&lt;/code&gt;) and then thought a bit about what files I would want Org to pop up when I wanted to file tasks to.&lt;br&gt;
Would just my daily tasks file do? What if I wanted to file something &lt;em&gt;out&lt;/em&gt; of my daily tasks file? Or what if I wanted crisscross transfers between all my task inboxes and daily task file?&lt;/p&gt;
&lt;p&gt;I then realised that I was already telling Org Agenda to scan my tasks folder (which holds all my productivity system files) for tasks and dates and schedules and deadlines. I decided to use the same set of files as my targets for refiling. And this turned out to be easier to do than expected. I just had to tell Org to use &lt;code&gt;org-agenda-files&lt;/code&gt; as the value for &lt;code&gt;org-refile-targets&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;It looks a little bit like this.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-lisp" data-lang="lisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;org-refile-targets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="no"&gt;nil&lt;/span&gt; &lt;span class="ss"&gt;:maxlevel&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	 &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-agenda-files&lt;/span&gt; &lt;span class="ss"&gt;:maxlevel&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;

I’m telling &lt;code&gt;org-refile-targets&lt;/code&gt; on line 1, to look for targets in two locations.&lt;br&gt;
Line 3, is what we were talking about above. Org will look to the same location that &lt;code&gt;org-agenda-files&lt;/code&gt; points to, for its refile targets.&lt;br&gt;
Line 2, is where I tell Org to include my current file, the one I am working on, as a target. It helps me move stuff in my daily tasks file from one day to another.&lt;br&gt;
The &lt;code&gt;maxlevel&lt;/code&gt; bit is to tell Org the level of headlines to show as targets. Org has headlines and sub-headlines and sub-sub-headlines.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; I just need the first level, which is why it’s set to 1.&lt;br&gt;
It seemed to work, until I ran into a small stumbling block. Org would not let me refile my task at level 0, i.e. the root of the file as a level 1 headline. It could only nest under an existing headline. So, line 4 below, fixes that for me.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-lisp" data-lang="lisp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;org-refile-targets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="no"&gt;nil&lt;/span&gt; &lt;span class="ss"&gt;:maxlevel&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	 &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;org-agenda-files&lt;/span&gt; &lt;span class="ss"&gt;:maxlevel&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;setq&lt;/span&gt; &lt;span class="nv"&gt;org-refile-use-outline-path&lt;/span&gt; &lt;span class="ss"&gt;&amp;#39;file&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;br&gt;

&lt;p&gt;And tada! It works! You can see it in action below.&lt;br&gt;
Click any of the images below to view them, larger.&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

The waiting task on the right (writing this post), needs to come in to my daily tasks file on the left
&lt;a href="https://janusworx.com/images/2022/org-mode-move-task-1.png" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-mode-move-task-1.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

So I hit &lt;code&gt;C-c C-w&lt;/code&gt; and Org Mode helpfully pops up what target it thinks I want to move my task to.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
I can hit the tab key to get a list of other files and targets.&lt;br&gt;
&lt;a href="https://janusworx.com/images/2022/org-mode-move-task-2.png" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-mode-move-task-2.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

Once I do that, the task hops over to the right place!&lt;br&gt;
&lt;a href="https://janusworx.com/images/2022/org-mode-move-task-3.png" &gt;
&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-mode-move-task-3.png" alt="" /&gt;
 
 
 &lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;

&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;It’s an outliner after all :)&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;The daily tasks file, under today’s date&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Tomorrow is Another Date</title><link>https://janusworx.com/work/tomorrow-is-another-date/</link><pubDate>Sun, 31 Jul 2022 15:17:11 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/tomorrow-is-another-date/</guid><description>&lt;p&gt;&lt;br&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-daily-tasks.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://orgmode.org/" target="_blank" rel="noreferrer"&gt;Org mode&lt;/a&gt; is &lt;del&gt;slowly spreading its tentacles&lt;/del&gt; increasingly becoming something, I cannot live without, to manage my day.&lt;br&gt;
And I’m getting pretty consistent with it too!&lt;/p&gt;
&lt;p&gt;Like you see above, I use dates as my headlines, below which I list the various tasks for the day.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
And that’s where I run into my current itch to scratch.&lt;/p&gt;
&lt;p&gt;I don’t want to keep typing out the date daily.&lt;br&gt;
The computer can do that for me.&lt;br&gt;
But how? Of the millions of ways possible, what do I want to do?&lt;br&gt;
My first thought was to figure out some way to &lt;a href="https://www.emacswiki.org/emacs/InsertingTodaysDate" target="_blank" rel="noreferrer"&gt;insert a date into Emacs.&lt;/a&gt;&lt;br&gt;
And then I thought, why only emacs? I want it &lt;em&gt;systemwide,&lt;/em&gt; across all my programs.&lt;br&gt;
So I checked if &lt;a href="https://espanso.org/" target="_blank" rel="noreferrer"&gt;Espanso&lt;/a&gt;, my friendly text expansion program, would do that for me.&lt;br&gt;
&lt;a href="https://espanso.org/docs/matches/basics/#dynamic-matches" target="_blank" rel="noreferrer"&gt;Turns out, Espanso does!&lt;/a&gt;&lt;br&gt;
I could just type &lt;code&gt;:dtx&lt;/code&gt; wherever I wanted and Espanso would happily insert the date in there. And so I did that for a few days.&lt;br&gt;
Problem solved? Well, that’s when the itch got stronger.&lt;br&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;


&lt;figure&gt;
 &lt;img class="my-0 rounded-md" src="https://janusworx.com/images/2022/org-shutdown-routine.png" alt="" /&gt;
 
 
 &lt;/figure&gt;
&lt;hr style='margin-left: auto; margin-right: auto; margin-bottom: 40px; margin-top: 50px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;'/&gt;
&lt;/p&gt;
&lt;p&gt;See my evening tasks above?&lt;br&gt;
I use Cal Newport’s idea of a &lt;a href="https://www.calnewport.com/blog/2009/06/08/drastically-reduce-stress-with-a-work-shutdown-ritual/" target="_blank" rel="noreferrer"&gt;shutdown ritual&lt;/a&gt;, to empty my mind and plan the next day, every evening.&lt;br&gt;
Which, for the past couple of weeks meant using my little expansion snippet to put in today’s date for the next day’s headline, as I began planning it. And I’d just manually change the date part to the next day’s date.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Until today.&lt;/p&gt;
&lt;p&gt;I typed in &lt;code&gt;:dtx&lt;/code&gt; and I got 2022-07-31.&lt;br&gt;
And then the lazy bum inside me groaned. What? I need to the change the &lt;em&gt;month&lt;/em&gt; too?&lt;br&gt;
The computer can do that for me!&lt;/p&gt;
&lt;p&gt;So I went back to Espanso to see if it did support date expansions for tomorrow.&lt;br&gt;
&lt;a href="https://espanso.org/docs/matches/extensions/#future-and-past-dates" target="_blank" rel="noreferrer"&gt;Turns out it does!&lt;/a&gt;&lt;br&gt;
Only for some reason, it just wouldn’t play ball with the way I want my dates expressed, &lt;em&gt;(YYYY-MM-DD)&lt;/em&gt;. It would throw weird &lt;code&gt;yaml&lt;/code&gt; errors.&lt;br&gt;
And then I recalled Emacs &lt;a href="https://www.emacswiki.org/emacs/InsertingTodaysDate" target="_blank" rel="noreferrer"&gt;just called the shell to do it.&lt;/a&gt;&lt;br&gt;
So I went looking to see, if Espanso could call the operating system shell&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt; to do expansions ala Emacs.&lt;br&gt;
&lt;a href="https://espanso.org/docs/matches/extensions/#shell-extension" target="_blank" rel="noreferrer"&gt;Turns out, it can!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Finally, I looked up how the &lt;code&gt;date&lt;/code&gt; command worked with past and future dates, and jigged up a small expansion snippet and put that into Espanso’s &lt;code&gt;match/base.yaml&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;:dttx&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;{{output}}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;vars&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;output&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;shell&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;date --date=&amp;#39;tomorrow&amp;#39; +&amp;#39;%Y-%m-%d&amp;#39;&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br&gt;

Et voilà!&lt;br&gt;
No more backspacing and struggling with Espanso undos and date calculations.&lt;br&gt;
&lt;code&gt;:dttx&lt;/code&gt; turns into tomorrow’s date:&lt;code&gt;2022-08-01&lt;/code&gt;!&lt;br&gt;
And the monkey brain is happy again :)&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Subtasks not shown.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;like yesterday evening, I typed in &lt;code&gt;:dtx&lt;/code&gt; to get &lt;code&gt;2022-07-30&lt;/code&gt; for e.g. and then changed the &lt;code&gt;30&lt;/code&gt; to a &lt;code&gt;31&lt;/code&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;in my case, &lt;code&gt;bash&lt;/code&gt;&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>