In this edition of our newsletter, I can't wait to show you two new features coming in the next beorg update. Let's dive in together and discover a major improvement to the beorg share extension, and the ability to run custom Scheme actions right from the Agenda and Tasks tabs.
New Share Extension
The share sheet, since it was introduced, has presented a default UI that limited you to setting the state and a date. There have been a number of requests on the forum to improve this important feature of beorg. In the next beorg update, the share sheet has been completely redesigned, and I'm hoping it will now be a lot more useful.
In the previous share sheet, it wasn't exactly clear what you were capturing. Now, you are shown the Org mode syntax for the item you are capturing. If you have shared something containing a URL, the title will show the URL and, where possible, a description for the URL. If you have some text selected on a web page, you'll now see that captured and displayed below the title. Finally, beorg uses an iOS API for downloading information about a web page. For example, if you share from Apple Music, you'll see the album title - much more useful than just a URL.
At the top of the sheet are three icons:
Set the state, e.g. TODO
Priority
Scheduled, deadline or show on date with quick access to today, tomorrow or a custom date (with the option of the time also being included)
Next comes deciding where you want to save the item. Tapping will display a list that includes your inbox, pinned files, and templates. Templates are a powerful tool for organizing items precisely where and how you prefer, such as adding tags or placing them in a specific subtree.
A quick note on how sharing works in beorg. When you tap the "Add to beorg" button, a special capture file is saved. This file contains the item you've created and information about the template or file you want to add it to. Since you may not have all the latest changes made elsewhere (e.g., in Emacs on the desktop) at the time of sharing, the new item is not directly saved into the final destination file. beorg takes precautions to avoid conflicts whenever possible. Therefore, the capture items are only incorporated into the relevant org files when beorg is launched next and a sync occurs.
Here's an example template I've been using for storing bookmarks to interesting content I find on the web, and it works great with the new share sheet.
This template adds the captured URL, and any selected text, into the file bookmarks.org - organized by year and month.
Agenda and Tasks, Custom Actions
A little while back, I added a new button to the item editor that shows a menu of common actions. The default actions were:
Remove all dates
Schedule for tomorrow
Make top priority today
Assign current location
The actions themselves are defined in Scheme, so can be customized using the init.org file. If you aren't familiar with creating an init.org in beorg see Creating an init.org in the “How To Articles” section of the beorg website.
With this latest update to beorg, you can now define actions to be used from the Agenda and Tasks tabs. When you long-press an item, you'll be able to run your custom actions. Here's how I've set up my actions:
* Item long-press menu
#+begin_src scheme
(set! item-longpress-menu
'(("Make top priority today" (make-current-item-top-priority-today))
("Schedule for tomorrow" (schedule-current-item-for-tomorrow))
("Remove all dates" (remove-all-dates-from-current-item))))
#+end_src
This is how I see the actions when I long-press a task in my agenda:
In my above example I’ve used some actions already defined in Scheme that come shipped with beorg. There’s nothing magic however about these. For example here is the Scheme function which schedules an item for today and sets the priority to A:
(define (make-current-item-top-priority-today)
(begin (set-current-item-scheduled! (current-date))
(set-current-item-priority! "A")))
If you find this new feature useful and create some cool actions, please consider sharing them on the beorg forum.
If you enjoyed this month's newsletter, why not subscribe to have it delivered directly to your inbox? 📨
Questions or thoughts? Post them on the beorg forum. Thanks for reading!