Psion Series 5 Hacks and Macros

One of the great things about the Series 5 is Macro5, an excellent (and free!) macro programming environment. In a few short months, I have written dozens of macros to make my life easier.

Before you start, be aware that these are macros I wrote for me, not as commercial-quality software releases. I am making them available here in source format so that those who are adventuresome can take advantage of some of the effort I put in to creating them. They are not polished. Some will require that you re-compile them after changing some file names or other parameters. Others will suffer from anglocentricity -- I haven't always done the right thing to make sure they'll run in other languages. Error recovery, where it exists at all, is poor. But these macros are small, generally fast, and I find them useful.

Feel free to contact me by email with questions or comments, but try to be a little patient waiting for responses.

You'll need the latest StuffIt Expander to expand these archives individually. You can download a zip archive of all these macros with documentation, though I did this in rather a hurry so the docs still mention StuffIt. Over the next few days I'll be providing zip versions of the individual macros.

Note: prior to 8 September 1999, some of the links to the downloadable packages (new to do, open to do, cheap outline, name note, select paragraph, and transcribe play) were broken. They have now been fixed. Sorry. :-(

The random password macro should enter beta testing tomorrow, and be uploaded this coming weekend.

Macros for Navigating


The more I store on my Psion, the more I look for shortcuts to get around. One of my favorite Newton macros was one called Boilermaker, which let me navigate through thousands of boilerplate phrases with a few taps on a series of nested menus. I re-wrote the program for EPOC, and named it B'maker. I use Macro5 to assign it to the IrDA silkscreen button. With a single tap, it shows me the contents of the B'maker folder. Each item in that folder can be some boilerplate, a file, a folder, or an alias to any other file or folder on my Psion. One tap opens that item or takes me to that folder. A short series of taps can insert boilerplate in any document or open any file on my Psion.


This macro takes the word the cursor is in, and uses it as a keyword to look up agenda items. Say you're writing a memo and say that you'll be meeting soon with Joe Blow. Once you've typed "Blow", you can invoke the macro and it will show you exactly when your scheduled meeting is.


Works like datelink, but does the lookup in the file c:\documents\names in the Data application.

Open To Do

Simply opens your agenda, and invokes the To Do List view. I tell Macro5 to invoke this macro at power on, so I'm constantly reminded of what I haven't done yet.

Macros for Outlining

Cheap Outlines

I really, really miss the built-in outlines in Newton's Notepad. Particularly with limited screen space, it's nice to be able to hide irrelevant information. I wrote this set of outlining macros to make a cheap simulation of true outlines. By playing with styles, the cheap outliner can hide everything in a Word document except the headers. When you then expand the outline, the header with the cursor in it is kept in view. I understand the 5mx version of Word has something like this built-in.

Macros for Remembering

All day long, I'm assaulted by bits of information: phone calls, emails, pages, memos, people chatting in the halls, sudden inspirations. Ideally, I'd like to keep track of every little thing, when I heard it, and what I should do about it. These macros can help.


Whenever I get random information tossed my way, I need a way to get it written down fast. When I invoke scribble, it opens a Word file (c:\documents\scribbles.doc), adds a new line with a date and time stamp, and is ready for me to type. I don't have to think about where to store the information, and since scribble.doc is almost always open, my Psion is ready to accept input moments after I invoke the macro. It's even useful for transcribing voice notes (more on that topic below).


Okay, it's great to get all my scribbles in one place, but then what? I found that I had to tediously sort through the scribbles.doc file whenever I had free time, moving the various scribbles to their proper place. Gather makes that task easier. If the cursor is in a word, gather assumes that word is a keyword (usually a patient's last name, in my case) and looks for a file of that name in the folder c:\gatherings\. If it doesn't find one, it creates one. In either case it copies the entire paragraph (which generally begins with a date and time stamp, a la scribble) into the file. The original paragraph is then marked with an asterisk (*) to show that it has been gathered, and is moved to the end of the file c:\documents\archive.doc where it is stored for posterity. This keeps my scribbles file tidy, while saving both a chronological contact log and logs sorted by patient/project.


This macro simply archives the paragraph containing the cursor into the file c:\documents\archive.doc, deleting it from the current file. Useful for archiving events that are so random that they don't need to be gathered.

new to do

This macro creates a new To Do item in the Agenda. If Agenda is already open, it will work very quickly in the background, just playing a tick to let you know when it is done.

Macros for Documenting and Transcribing

format date

This is a trivial macro for the terminally lazy, such as I. I hate having to type dates on the Psion in the form 08/21/1999 because of the hassle of typing Fn-4 to get the circumflex. With this macro, you type 0821 and then invoke it. It adds the two slashes and the 1999. I promise an update soon to address Y2K compatibility issues.

name note

My transcriptions usually begin with a patient's name and medical record number. I want that to be both the title of their note and the name of the file. Also, I'm usually transcribing into a locked document template (I have templates for all the various types of patient documentation I write), so I have to name the file before I can even begin to type. Name note assumes that there is a file name typed in the "Save as" dialog. It copies that name, saves the file, then replaces the first line of the file with the file name. It then selects the last word of the second line of the file, which is almost always the date in my templates. It saves a lot of typing and gets the note set up just like I want it.

transcribe play

Rewinds the current voice note about two seconds and then plays about eight seconds of it.


Rewinds the current voice note about eight seconds.

Other Macros

select paragraph

What more needs to be said?

Date created: August 14, 1999
Last modified:
Copyright © 1999-2000 Ron Risley