I've always enjoyed writing, but it's only in the past year or so that
I've forced myself to write regularly. The practice is paying off, the
principal difference being that I consistently write much faster than
I could before. I've also been able to identify and correct a number
of problems with my writing that may have otherwise gone unnoticed.
Thanks to some bad habits I've developed, however, there's still plenty
of room for improvement. For example, I tend to rewrite things to make
the right margin of the paragraph line up "nicely", which is an absurd
waste of time. Sometimes, I get stuck at a particular sentence or
paragraph and tweak it endlessly rather than moving onwards.
Years ago, I read about a program whose minimal interface was modelled
on a typewriter. It presented a blank screen, with nothing to distract
from the process of writing; and it had minimal editing capabilities,
to avoid the temptation of rearranging text. I can't remember what that
program was called, but there is more than one like it (e.g., Writeroom
and OmniWriter for OS X, and a few clones). Most of them have more
features than I can remember reading about.
I spent an hour or so writing a similar Qt program. It was surprisingly
easy (thanks to some advice from my Qt hacker friends Arnt and Brad): I
created a QWidget
, called showFullScreen()
on
it, gave it a QPlainTextEdit
child displayed in the centre
of the screen, and wrote a few lines of code to load and save files. The
QPlainTextEdit
class provides minimal editing capabilities,
which suits me fine. I named the program wry, and I've been using it for
some months now. (The source is at
github.com/amenonsen/wry
for the incurably curious.)
Digression: I'm very pleased that Unicode text "just works" in wry. I
can display Markus Kuhn's
UTF-8 demo
with none of the ugly problems I've had with xterm in the past. For
Unicode text input, I
set up ~/.Xcompose
so that I can compose any character I want, but I miss vim's
:digraphs
command, which would show me the available
options.
Using wry was slightly frustrating at first, but once I got used to it,
it worked very well. The enforced lack of distractions helped me to put
down more text more quickly; and it was easier and faster to edit things
later when I was looking at several paragraphs rather than one sentence.
Since wry uses a proportional font and rewraps text as it likes, I could
no longer waste time trying to align the right margin.
Someday, perhaps I'll be cured enough that I can write properly
in vim without succumbing to the temptation of editing, but until then,
wry is the perfect set of training wheels.