The Solarized Writer’s Desktop

elegant_solarizedIn two more weeks, I end my post-heart-surgery medical leave and go back to doing what I love the most: being with students, teaching Chaucer and Shakespeare, and studying the literature and culture of medieval Britain.

It’s going to be a bit of a transition after three months of focusing on healing, so I’ve been spending my weekend doing a little preliminary “gearing up”, sort of preparing myself psychologically to head back to work, now that my body can actually handle it again.

Since part of my job involves doing some pretty heavy-duty research and writing, part of that prep has involved thinking about ways to work on those projects, especially the writing, with a high degree of focus. The computer is of course both a blessing and a curse in this regard: it’s a necessary tool, to be sure, but it can also be mightily distracting, not only in the sense of offering online diversions (social media, etc.) but visual clutter as well. Our operating systems and browsers seem to be increasingly geared to be platforms for selling us things, which means notifications and message-boxes of various kinds can really proliferate (Windows 10, for example, drives me insane in this regard). With multiple windows and toolbars, computer screens can become a cacophony of clashing colors and notification sounds, none of which are particularly conducive to concentration.

So, being a bit of a nerdy sort, and also someone who cares about recycling older gadgets to reduce e-waste, I decided to resurrect an old desktop computer to use as a dedicated writing machine. The idea was to make the interface as distraction-free as possible, visually elegant, and conducive to long work sessions while minimizing eyestrain.

There are of course many “distraction free” writing apps out there that try to fill this kind of niche (such as WriteMonkey and Writeroom), but I’ve never found them quite right for me: as an academic, I rarely write only what springs spontaneously to mind: I’m constantly looking at previous drafts of what I’ve written, paging through electronic notes, PDF files of articles, etc. I generally also need some consistent information, such as the time (so I’m not missing my next class!), my to-do list, and basic weather information. I also wanted to capacity to play and control music right on the desktop, since that usually helps me tune out other ambient noise. Dedicated distraction-free writing tools accomplish their task my simply filling the entire screen and blocking out everything else; I wanted a solution that would not work by blocking things out, but rather by displaying only what I want. So, my idea was to set up a system that would be as spare and distraction-free as possible without cutting me off from all the information and resources I generally need to manage while I write.

The result is what you see in the screenshot above. I’ll explain the techy bits of this below for anyone interested in duplicating or improving upon my efforts, but here’s what you’re looking at:

  • To create a very customizable system that runs smoothly on an older computer, I used the Linux operating system, specifically the Xubuntu Linux flavor. Xubuntu is designed to be easy-to-use with a minimum of system resources while still being a fully-featured desktop environment. A similar arrangement should be possible with Windows and MacOS, using a somewhat different set of applications and tools.
  • To make the whole thing very eye-friendly, I based all the colors on the solarized color scheme developed by Ethan Schoonover. According to Schoonover:

Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications. It has several unique properties. I designed this colorscheme with both precise CIELAB lightness relationships and a refined set of hues based on fixed color wheel relationships. It has been tested extensively in real world use on color calibrated displays (as well as uncalibrated/intentionally miscalibrated displays) and in a variety of lighting conditions.

I’ve found this scheme to be truly conducive to long periods of staring at a screen. My idea was to integrate all aspects of the desktop within this scheme, so that both the desktop and its various elements (wallpaper, window borders, application backgrounds, music player, system information display), as well as all the applications I need, share this same set of soothing colors.

  • I set up the system to use two monitors: one directly in front of the keyboard that’s entirely dedicated to the text I’m currently writing (this is the left-hand side of the screenshot above, which combines the images from both monitors). Just to my right, the second monitor is for displaying system and other information (weather, time, music), and also for displaying and managing ancillary documents like notes, images, and PDF’s. This keeps the focus on the main text while also keeping all those other materials ready to hand.
  • As I’ve mentioned elsewhere on this blog, I love to write using plain-text tools, for a host of reasons that I explain here. My editor of choice for composing is an oldie-but-goody well-known to programmers but less so to writers, known as Vim. Vim is an old-school editor designed to run in a good old-fashioned terminal. There’s a definite learning-curve involved in using Vim, but it’s been worth it for me, as Vim has become about the fastest and most distraction-free tool for bare composition I’ve ever found. Since Vim runs in a terminal window, I simply have the left hand monitor set up to display that single terminal window, made almost transparent, against the solarized background. This keeps the editor in the visual center of the monitor at all times, keeps my hands on the keyboard where they belong, and encourages a focus on what I’m writing.
  • The most prominent element on the righthand monitor consists of a system monitor tool called conky, set up to display the time, weather information, and basic system information.
  • To the left of the system information display, there’s a music player called ncmpcpp. This is another tool designed to run in an old-fashioned terminal. The beauty of this is that I can position a transparent terminal on the screen, and the music player becomes a background element of the desktop, always available but never in the way. Console applications also take up much less in the way of system resources than GUI apps, which helps to keep this older machine running smoothly.
  • The final element is my todo list, which I manage via the elegant application by Gina Trapani called todo.txt. It’s basically a fancy way of keeping your todo list in a plain text file while still being able to manage it nicely, add and delete items, set contexts, etc. This is another console application, so it runs in another small, transparent terminal window right underneath the system information display.
  • Note management is a little more complex than simple composition, since it involves keeping track of many different small files at once (I keep my reading and thinking notes in small, plain-text files, organized into directories), so I use a more robust text editor for note management so I can easily switch between notes and have several note documents open at once. I accomplish this with the excellent Sublime Text. Note that Sublime Text (the other window in the right-hand part of the screenshot above) displays both my note documents in tabbed or tiled format, with a left-hand panel that shows the directory tree of my note directory, making everything readily accessible.

Those are the basics! Feel free to let me know what you think or suggest improvements. I’m also glad to work with the less-techy to set up similar arrangements of their own.

Addendum: An astute user pointed out that a tool to change the color-temperature of your display according to the time of day or night would also help with eye-strain. I heartily agree. I use the excellent f.lux (which has Windows and Linux versions) for this purpose. Other linux users prefer the (also-excellent) tool redshift.

A few more details and resources:

Solarized Wallpaper:

Ncmpcpp documentation:

https://wiki.archlinux.org/index.php/ncmpcpp

Solarized Numix theme for XFCE:

https://github.com/gsnewmark/numix-solarized-dark-gtk-theme

Conky Harmattan theme:

https://github.com/zagortenay333/Harmattan