|
by Matt Neuburg matt@tidbits.com
We all copy and paste without thinking about it. Can you remember back
to when you started using a Mac and were introduced to the notions of
copying and pasting, and the invisible but omnipresent "clipboard"?
Probably you understood right away, thought to yourself, "good
idea," and just moved on. At that time, you also had to internalize
the fact that any time you copy, you wipe off the clipboard whatever
you copied previously.
This fact is probably by now so deeply internalized that you no longer
realize how much it dictates your working habits. You are unconsciously
careful, after copying (or even more critical, after cutting, which
makes the data live in the clipboard and nowhere else) not to hit Command-C
again until you've pasted the current clipboard to retain it. Nevertheless,
I bet you've made that mistake on occasion, each time cursing at the
loss of the previously copied data.
Another frequent situation is that you have more than one thing to move
from one place to another, either within the same application or between
applications. You're probably so accustomed to inconvenient ways of
coping with this necessity that you don't even think of them as workarounds.
For example, knowing that you need to move three sentences from various
places within a paragraph, you copy and paste the whole paragraph and
pare down the pasted results afterwards. But there are also situations
where this strategy fails, and you've probably found yourself resigned
to going back and forth, back and forth between two applications, copying
and pasting, copying and pasting.
Various individual applications assist with these difficulties. Many
applications let you split a window so that you can see two parts of
the same document at once, which makes it a lot easier to move bits
from one general area to another. And more and more applications now
provide multiple internal clipboards, or something equivalent: for example,
Nisus Writer, BBEdit, and Microsoft Word do this. But what's really
needed is multiple clipboards at the system level, and it's no credit
to Apple that the clipboard of 2003 is so much like that of 1984.
The situation is particularly surprising in view of the fact that Mac
OS X's clipboard underpinnings are considerably more sophisticated than
in previous systems. The clipboard is now the responsibility of a background
daemon called "pbs" (for "Pasteboard Server"). This
daemon is perfectly adequate to provide multiple clipboards (pasteboards),
and in fact already does so. You may have noticed, for example, that
the text you enter into the Find dialog in Safari then shows up in the
Find dialog in BBEdit; that's because pbs maintains a separate Find
Pasteboard. In fact, pbs maintains five pasteboards, and applications
are free to add others. Thus, if you were the developer of two applications,
you could allow each of them to copy and paste extra data by way of
a sixth pasteboard, which other applications could use too if they knew
about it. At present, however, only one of pbs's pasteboards is the
General Pasteboard, the one that all applications know about and share
during Copy and Paste operations. To implement multiple pasteboards
at system level would be simply a matter of adding more General Pasteboards,
and providing an user interface to them. (Look at BBEdit to see how
such an interface might work.)
Anyway, until Apple wakes up to these possibilities, there are third-party
utilities to provide multiple clipboards on Mac OS X right now, and
this article describes three of them: PTHPasteboard, Keyboard Maestro,
and CopyPaste X.
PTHPasteboard
PTHPasteboard's chief virtues are its simplicity and its price (free!).
It's an ordinary application that runs in the background; it has no
Dock icon, but rather appears as an icon in the rightward part of the
menu bar. Every so often (I believe it's every half-second) behind the
scenes, it polls the clipboard, and if the clipboard's contents have
changed it adds them to a list. Thus, as long as you don't copy too
frequently, all your copied material (up to a user-configurable limit)
finds its way into this list. From here it can be recovered and pasted.
To see the list, you do one of three things. You can click on the PTHPasteboard
icon in the menu bar; you can type a user- configurable hot key combination;
or you can choose from the Services menu, in those applications that
support services. Any of these brings up a floating window listing the
currently saved bits of clipboard data; clicking one pastes it at the
insertion point in the current application, or you can hit the Escape
key to dismiss the window.
PTHPasteboard doesn't work well with Classic applications - it doesn't
paste at all, though it does seem to see copied material correctly,
and it can usually at least alter the contents of the clipboard even
if it can't make them appear in a document. Its menu item in the Services
menu uses the keyboard shortcut Shift-Command-V, and this can't be changed
- a minor point, since it doesn't interfere with any other application's
use of this shortcut, but it does mean that such an application overrides
PTHPasteboard's use of it, and in any case user-configurability would
be nice. Its appearance as an icon in the menu bar is often useless
to me, since typically my real menu items crowd out any extra menu bar
icons, and it's unnecessary because the floating window can be summoned
with a keyboard shortcut instead. (The menu bar icon can be removed,
but then you have to keep the floating window always visible; I don't
see the logic behind this.)
But these are quibbles. PTHPasteboard is robust, it's simple, it has
a small footprint in memory and CPU time, it does the job, and it's
free.
http://www.pth.com/PTHPasteboard/
Keyboard Maestro
Keyboard Maestro, by Michael Kamprath, is actually a sort of macro utility.
It revolves around the notion of attaching a keyboard shortcut to an
action or sequence of actions; such actions can include things like
hiding applications, opening a particular file or folder, running an
AppleScript or Unix script, typing text, and changing sound volume or
screen brightness. It's an application switcher, too. And it also functions
as a multiple clipboard utility, which is why it has found its way into
this article.
Keyboard Maestro's multiple clipboard interface is somewhat similar
to PTHPasteboard's, and is also reminiscent of John V. Holder's QuickScrap,
which I remember using on Mac OS 9 some years ago. It responds to particular
user-configurable keyboard shortcuts for cutting, copying, and pasting.
When you cut or copy with one of these keyboard shortcuts instead of
the standard Command-X or Command-C, Keyboard Maestro puts up a window
with a list of clipboards; here, you choose either to append a new clipboard
to the existing list or to reuse one of the existing clipboards. The
clipboards can be assigned names, and you can get some idea of what's
in them through a tooltip that appears when you hover the mouse over
one of them. Keyboard Maestro performs the cut or copy back in the application
you were originally in, puts it on the normal clipboard and in its own
clipboard list, and returns you to what you were doing. Pasting works
similarly; Keyboard Maestro shows you its list of clipboards, and you
pick the one you wish to paste.
http://www.johnvholder.com/qsdesc.html
Keyboard Maestro has the advantage of being extremely clean and simple.
It's also free, as long as you don't want more than four clipboards
at time (and just $20 to get as many as you like). Plus, of course,
you get Keyboard Maestro's other macro and application-switching features,
which you can use or disable as you please. It doesn't work well with
Classic; in my tests, copying or pasting with Keyboard Maestro in Classic
applications caused the current selection to be changed, so that the
wrong material was copied or replaced in the document. On the other
hand, PTHPasteboard doesn't work well with Classic either, so between
the two of them it comes down largely to a choice between very different
interfaces and overall approaches.
PTHPasteboard doesn't require any special action on your part in order
to remember what you copy; it simply remembers everything that passes
through the system's clipboard. That's great for those times when you
realize after the fact that you need some material copied earlier, but
it also means that everything you copy is remembered whether you like
it or not. Thus, if you set the list size at ten, and you realize that
you need the data from eleven copies ago, you're out of luck because
it's fallen off the end of the list. You get no choice between copying
to PTHPasteboard's list and just copying normally. Keyboard Maestro,
on the other hand, offers exactly this choice. That's good, but now
you face the opposite disadvantage: if you don't remember to copy something
with Keyboard Maestro explicitly, it doesn't go onto the list. Also,
having to pass through a window every time you want to copy to Keyboard
Maestro's list might strike you as helpful or might deter you from using
it at all. It's all a matter of your particular needs and your peculiar
psychological makeup. The best way to see how you feel about the interface
is to try it.
http://www.keyboardmaestro.com/
CopyPaste X
CopyPaste X is the descendant of the Classic extension I reviewed in
TidBITS-364_ from 1997. In Mac OS X, it's an ordinary application, which
means it's more compatible and reliable than ever before. It also means
you don't have to run it all the time; I frequently don't, and then
when I want it I can launch it from anywhere, using a universal contextual
menu item that it optionally installs.
http://db.tidbits.com/getbits.acgi?tbart=00751
Once CopyPaste is running, it provides ten numbered clipboards, accessible
most simply by keyboard shortcuts that work within any application:
Command-C-1, Command-V-1, Command-C-2, Command-V-2, and so forth (the
trick is to hold the Command key while striking first the letter, then
the number). You can turn these shortcuts off, or replace Command with
Control. Furthermore, these ten clipboards constitute a set, and you
can switch among any number of sets, again using a universal contextual
menu, or with CopyPaste's Dock menu, or by means of a floating palette.
Furthermore, every time you copy or cut in the ordinary way, the data
goes onto a Clipboard Recorder list (similar to PTHPasteboard), accessible
in the same three ways.
These features are supposed to work across the Classic boundary, in
cooperation with the Classic CopyPaste extension (version 4.5). When
this cooperation is working, it behaves just as you would expect: what's
copied with Command-C-1 on one side of the X- Classic boundary can be
pasted with Command-V-1 on the other side, and whatever is copied in
the ordinary way on one side ends up in the Clipboard Recorder on the
other. Plus, the CopyPaste X palettes can be used to copy and paste
in Classic applications. My experience, however, is that this cooperation
is rather flaky. You must start up CopyPaste X before you start up Classic,
and the Classic extension loses its ability to list the ten clipboards
hierarchically in the Edit menu. More important, sometimes Classic will
crash, and often CopyPaste X will freeze up and stop working altogether
(and at this point it can even interfere with the ability to do ordinary
copy and paste). For stability, therefore, I find it best to disable
CopyPaste Classic altogether, which is a pity.
CopyPaste also contains a surprisingly full-featured word processor
(the "clipboard editor"), and implements a number of text-munging
functions (changing to lowercase, for example). I regard these features
as unnecessary bloat. Text-munging would be better implemented separately,
as a Service perhaps; properly speaking it has nothing to do with the
clipboard at all. Word processing should be left to the user's choice
of dedicated word processor. Instead of these ancillary features, I'd
prefer to see attention paid to better reliability in the cooperation
between the Mac OS X and Classic versions.
The manual is pretty good, but it requires the built-in word processor,
and has not been always been correctly or completely translated from
the original German. This adds to one's overall sense that many areas
of CopyPaste suffer from a rather amateurish quality. Nonetheless, at
$20 CopyPaste remains a bargain, and its implementation on Mac OS X
is a significant achievement. Personally, I like its interface the best,
in particular the keyboard shortcuts Command-C-1 and Command-V-1 and
so forth, which allow me to communicate with each specific clipboard
numerically by means of the keyboard alone.
http://www.scriptsoftware.com/copypaste/
Picking a Paste Pot
Whatever utility you choose, you owe it to yourself to try multiple
clipboards. You'll wonder how you ever got any serious work done without
them. Having only one clipboard is like being able to use only application
at a time; it's downright primitive, the sort of thing we ought to have
left behind back in the days of System 6. Thanks to these utilities,
you can save your Mac OS X machine from this Dark Ages holdover.
Reprinted
with permission from TidBITS. TidBITS has offered more than ten years
of thoughtful commentary on Macintosh and Internet topics. For free
email subscriptions and access to the entire TidBITS archive, visit
www.tidbits.com.
|
|