beorg news - October 2024
Until I logged into Substack just now, I hadn’t realised it had been quite this long since the last beorg newsletter. I had initially intended for this to be a monthly affair, but oh well!
Since the last newsletter almost a year ago, there have been 14 updates made to beorg, just over one per month. Some of the updates have been for bug fixes. Here are some of the new features that have been released in the past year:
A new extension to create an org file with events from your system calendar.
Increased the amount of information in beorg about extensions, useful both when deciding if an extension is for you or after purchase when you want to find out more about how it works.
Headlines with more than one of the same date type now show up in the agenda.
Improvements to the calendar and reminder selection screens.
Improvements (although many more still needed) to how well beorg works with VoiceOver.
Long press introduced to more places in the user interface.
Template macros can be used in saved searches.
Templates can be duplicated.
Disable notifications for tasks with a date but no time.
The next release, which will be available early November (🤞 for Apple approval), introduces two changes which I’m going to talk about a little more in this newsletter.
Blank lines in .org files
As you are probably aware beorg reads and writes plain text files. The text files are structured so as to be roughly compatible with Org Mode. (Check out the Org Mode website for more information.) Here’s an example of an org file:
* IN-PROGRESS New product website
** DONE Plan website structure
** DONE Get design done for key pages
** IN-PROGRESS Prototype key pages
** TODO Get feedback on prototype
See Dan for feedback form
** TODO Give website to developers for beta in January
* TODO Review other web properties
* TODO Gather ideas for app
Many beorg users work both on their iOS devices with beorg, and on the desktop using Emacs. When you are looking at a file in Org Mode in Emacs, you sometimes want to add some blank lines between headlines to make things a little easier to read. For example:
* IN-PROGRESS New product website
** DONE Plan website structure
** DONE Get design done for key pages
** IN-PROGRESS Prototype key pages
** TODO Get feedback on prototype
See Dan for feedback form
** TODO Give website to developers for beta in January
* TODO Review other web properties
* TODO Gather ideas for app
Here I’ve added a single blank line above second level headlines (e.g Plan website structure) and two lines above top level headlines (e.g. Review other web properties).
In previous versions of beorg you’d find that the blank lines you’d carefully added in Emacs were removed if you edited the file in iOS. Frustrating!
In beorg 3.29.0 you’ll finally have more control over blank lines before headlines 🥳
By default beorg will now:
Keep track of how many blank lines there are before a headline, and when writing an edited .org file keep the exact pattern of blank lines.
If you add a new headline to a file then one blank line will be added before it to separate from preceding content.
For more control you can:
Set the Scheme variable
beorg-autolines-before-headlines
to#t
. This will get beorg to ignore how many lines there were before a headline and add the number of lines it thinks should be before a headline.Change the Scheme variable
beorg-newlines-before-headlines
. This is a list of integers. For example'(2 1 0)
. The list tells beorg to add two lines before a first level headline, one blank line before a second level headline and zero blank lines before third, fourth, etc level headlines.
If you aren’t sure what Scheme variables are, then carry on reading to find out about the other new feature in beorg 3.29.0.
Customize
There are two ways of changing how beorg works. The easiest is to use the Settings tab. Beyond this is the ability to create a special file called init.org
which contains snippets of Scheme code. This can modify a large set of variables beorg uses to determine many aspects of its behaviour. In addition to variables you can also write Scheme code to further mold parts of beorg. If you don’t know what I’m talking about here, see this article I’ve written on creating an init.org file.
While creating an init.org
isn’t that hard, it can be fiddly to edit on an iOS device. You also need to know what variables are available by looking at the library.org
file, from the forum or other places where this knowledge has been spread around.
Introducing the Customize screen - a beorg extension available to beorg Premium subscribers, or as a one-off in-app purchase.
You can access the Customize screen from the Settings tab:
Don’t worry if you aren’t a beorg Premium subscriber - you can still have a play around with the screen before deciding whether to purchase; you’ll just be told that changes won’t be saved.
What you’ll see when you tap the Customize icon is a set of grouped options with some more advanced settings for beorg:
Settings are grouped, and each setting corresponds to a single Scheme variable.
There are different types of settings:
True/false settings. For example turning on the ability for organize your files into folders.
Text settings, e.g. the default priority to use, for tasks which don’t explicitly specify a priority.
Lists, e.g. a list of the priorities that beorg will show in the task editor. You can add new items to lists, delete items (by swiping from right-to-left) and reorder items (by dragging).
Options, where you can choose one item from a set of options. For example, what levels are opened by default in the outliner.
When you edit a setting it will update that variable immediately in beorg’s memory. It will also save that setting in a file called beorg-customize-init.org
. This is just a normal file and contains Scheme that beorg writes. For example:
When beorg starts it first reads the init.org
file (if you’ve created one) and then the beorg-customize-init.org
file (if it exists). Anything you can do on the Customize screen you can also do by creating an init.org
file and typing out the Scheme manually. Each Customize settings screen tells you the Scheme variable being edited and includes the description of the variable taken from the library.org file.
If you ever decide you want to clear all of the settings you’ve edited just tap the Trash icon:
Feedback
Thanks for reading this edition of beorg news. Hopefully it won’t be such a long wait until the next one (but no promises)!
If you’ve got any feedback on what you’ve read here, or want to make any suggestions on how beorg can be improved please check out the forum.