Make your clipboard dance.
Jumpcut is an application that provides "clipboard buffering" — that is, access to text that you've cut or copied, even if you've subsequently cut or copied something else. The goal of Jumpcut's interface is to provide quick, natural, intuitive access to your clipboard's history.
The current version of Jumpcut, Jumpcut 0.63, is a Universal Binary that requires OS X 10.3.9 or later. Users running earlier versions of OS X should try Jumpcut 0.54, which should work with OS X 10.1 and later.
Source code is also available. Jumpcut is open sourced under the MIT License.
Jumpcut is designed to be simple. Download the application, double-click the .tgz file to open it, and drag the application (the one with the pretty scissors icon) to your Applications directory. Launch Jumpcut. A scissors icon will appear in your menu bar. Now whenever you cut or copy a text item, it'll be added to the "stack" of clippings that Jumpcut has recorded. Clippings can be accessed in one of two ways:
Under the menu bar
Choose a clipping from the Jumpcut menu.
Through a pop-up bezel
In any application into which you want to paste an item from Jumpcut's stack, press the hotkey to activate Jumpcut's bezel. (The default value for this hotkey is Control-Option-V.) A little window like the one you see when using the application switcher or the brightness controls will appear. While holding the modifier keys (for the default hotkey, this is the Control-Option combo), use the arrow keys to scroll through the stack.
When you've selected a clipping, Jumpcut will put it on the pasteboard and attempt to paste it into your application. It does this by mimicking a user typing Command-V, so unusual applications which don't use this to indicate "Paste" will be confused. The clip will still be on the pasteboard, though, so you can paste it normally. If Command-V is used in a non-standard way in applications you are trying to paste to, a preference is available to disable the "paste" action for clippings selected from the menu bar. In this case, choose the clipping and paste however your application asks you to do it.
I've tried to allow a few different methods for navigating in the bezel. You can move down the stack using the right arrow, down arrow, or "V" key; you can move up the stack using the left arrow, up arrow, or "Shift-V". Home moves to the beginning, and End moves to the end. Page Up and Page Down scroll through the stack more quickly. If you change your mind and decide not to paste the application, hit escape to make the bezel vanish. A "sticky bezel" preference is available; if it's selected, you must explicitly hit return or escape to dismiss the bezel.
Jumpcut remembers the last clipping you selected using the bezel. The next time you bring the bezel up, it will start with that clipping unless it's scrolled off the stack.
Jumpcut was begun in December 2002 as my first serious Cocoa project. PTHPasteboard, my preferred clipboard buffering application at the time, was being turned into a piece of commercial software, and none of the many shareware and freeware clipboard buffer programs I tried worked the way I wanted. My wife was even less satisfied with the options available than I was; some discussion revealed that the two of us had very clear ideas about the ways in which a clipboard buffer should just work. I cranked out several versions, starting with a version that was based on intent study of Brent Simmons' TigerLaunch and only used the menubar item interface. Over the next year and a half I tinkered off and on with the software, adding the bezel interface and a few refinements. In mid-2004 I had reached version 0.53, where it stayed for the next eighteen months. The application did what I and the small user base, most of whom I knew personally, needed it to do (if not everything that I might want it to do).
Then, in February 2006, the Heading East weblog gave me the great and unexpected compliment of including Jumpcut on its list of "10 Semi-Obscure Mac Programs You Shouldn't Be Without". (Jumpcut, appropriately enough, was #11.) Jumpcut was del.icio.us'ed, and I started getting feedback from complete strangers. I dusted off the code (a mess) and began recoding big chunks of it. However, I was strongly encouraged by my friend David to put the existing code base online — despite the stunning inelegance of parts, it was working code and someone might be able to use it. This was my first real experience with Cocoa and Objective-C, so the code should generally not be taken as an exemplar of how to do things, but if you're interested in seeing how I did things, take a look. Version 0.54 is basically this circa-2004 code, compiled to be a Universal Binary.
Development is ongoing, but releases will be infrequent. Links to related files and the sourceforge SVN repository may be found at the project page.
Interested parties are encouraged to click over to my weblog at snarkout.org to read about many things, almost none of which have to do with the Mac, open source development, or indeed any technological development after the vacuum tube.