CopyPaste: A Scoffer No More
Today I found myself in one of those situations where I had to carry several separate pieces of information from one application to another. I was building (in Symantec Visual Page) a Web page composed of quotes extracted from Web pages (in Netscape Navigator). For each quote, I needed the title and author (displayed at the top of the page), the extract (somewhere in the middle), and the URL (from Navigator’s Location field). Now, how many times do you think I had to switch between applications to create each page? Wrong! For each Web page, I only had to copy the information from Navigator and switch to Visual Page once – carrying with me the three pieces of information in three separate clipboards.
In the middle of this operation I suddenly became conscious of how wonderful it was to be able to do this, and had to stop and dash off this praise of the extension which gives me not just three but ten clipboards – CopyPaste 3.2.2.
Originally, I scoffed at CopyPaste, feeling about it as I once did about drag & drop (crusty, old-timer, Gabby Hayes voice): "Why, for years I’ve been cutting and pasting one thing at a time, and it’s always been good enough for me!" Besides, early versions of CopyPaste crashed certain applications on which I rely. But CopyPaste’s compatibility has improved tremendously; and now that I use it, I use it constantly and automatically.
The basic functionality of CopyPaste is simple to describe. You have ten system-wide clipboards, numbered zero through nine. To copy the current selection into clipboard 7, instead of pressing Command-C, you press Command-C-7 – without releasing the Command key until after you’ve typed the 7. The same interface applies to both cutting and pasting, with Command-X and Command-V. Or, you can use the Edit menu, which CopyPaste provides with hierarchical menus leading to the ten clipboards, even showing a little snippet of what’s currently on each one.
CopyPaste provides some nice extras too. You can archive the clipboards as files (one at a time or all at once), and you can have clipboards automatically archived at shutdown and restored at startup. You can copy the current selection to an append file, an option that – for instance – works well for compiling a download list while reading the Info-Mac Digest. And there’s a windoid that shows you the full contents of each clipboard and lets you swap clips with one another.
Other functions do not interest me as much. There’s an application-switching shortcut I never use because it interferes with HyperCard, and something called Tag and Drop that I don’t even understand. Plus, there are a host of clipboard-massaging functions that basically reinvent the Clipboard Magician wheel. Luckily, you can turn off unwanted features in a Preferences dialog, but personally I find this "don’t know when to stop" style of programming annoying and ill-advised. What’s needed is a component approach so code for undesired functions never even loads.
There are also problems caused by the fact that CopyPaste is an undeniable hack. These troubles change from revision to revision: partly they involve compatibility, but the main difficulty at present is that you lose access to an application’s own internal scrap mechanism: every time you copy, even if you just press Command-C, you copy via CopyPaste. This can be problematic for some applications, which may switch to the Finder and back (losing time while windows and palettes are taken down, and more time – and perhaps information – while the contents of the clipboard are converted away from an application’s internal format). I would much prefer Command-C just performed the application’s original default copy.
Nevertheless, the spirit of CopyPaste is commendable, and – once you’ve experienced its utility – you can’t fathom why it hasn’t been built into the System for years. I’d sacrifice all the touted functional improvements of Mac OS 7.6 if only it included ten clipboards. Meanwhile, at a shareware fee of $20, CopyPaste is a bargain-priced way to give your machine a new soul.