I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

Jan 21, 2008

Reinventing the Clipboard

Over time, I've become something of a desktop mimimalist. Sure, I'll change a few settings to my liking, but I no longer spend a lot of time customizing my desktop configuration. I've learned that if the defaults aren't reasonably close to correct out of the box, then the software is probably doomed anyway. For most users the default settings are the only settings.

One of the things I always have to change, much to my chagrin, is the default clipboard behavior. I originally wrote about this in 2005:

In this era of 3 GHz processors, 1 GB memory, and 500 GB hard drives, why is the Windows clipboard only capable of holding a single item? Sure, you have fancy multi-level undo and redo in applications like Microsoft Word and Visual Studio. But not the clipboard. It holds exactly one item. Copy another item to the clipboard and your previous clipboard item is irrevocably lost.

The only improvement since then, sadly, is in the PC specifications. Three years later, we're stuck with the same old single-item clipboard model. The clipboard isn't some obscure operating system feature, either. People use it all the time. There's actually hard data to back this up, at least for Word 2003:

Top 5 Most-Used Commands in Microsoft Word 2003

  1. Paste
  2. Save
  3. Copy
  4. Undo
  5. Bold

Together, these five commands account for around 32% of the total command use in Word 2003. Paste itself accounts for more than 11% of all commands used, and has more than twice as much usage as the #2 entry on the list, Save.

Granted, we're talking about a word processing program here, but we live in a copypasta culture. I find that even when I'm not writing, per se, I rely on my clipboard throughout the day. The clipboard is so important that Walter Mossberg specifically mentioned it as a negative in his iPhone review:

There's also no way to cut, copy, or paste text.

This is on a phone, mind you. I'm totally with Walt on this one; it applies to all smartphones. I was surprised how quickly I ran into situations where I wanted to copy and paste something on my Windows Mobile phone, but I couldn't figure out how to. It's not a crippling limitation, but it does illustrate how fundamental the clipboard is, even for the smallest of computers.

It always seemed strange to me that applications had to implement their own oddball per-app clipboard queues to spackle over deficiencies in the operating system's braindead "I can only remember one thing at a time" clipboard implementation. We've long since left the days of applications writing their own quirky little file open dialog behind, but it's somehow OK to implement your own wacky clipboard behaviors in Visual Studio, or Office?

If, like me, you'd prefer operating system level improvements in the clipboard, there are quite a few options out there. I've been quite happy with ClipX. After installing this lightweight little app, instead of pressing

Ctrl + V

to paste a single item, you can opt to press

Ctrl + Shift + V

whereupon you're presented with a menu of recent clipboard items, in a nice visual menu browser format:

ClipX screenshot

Your clipboard history is dynamically saved to disk and will survive a reboot, so you can begin to rely on your clipboard as a sort of quick and dirty digital scrapbook. Isn't that how it should have been all along?

I've become terribly reliant on this improved clipboard behavior, so I always install ClipX on any machine I'm working on. It has some additional default clipboard functions that I've also found quite useful:

Ctrl + Shift + G

perform a Google search using the contents of the clipboard.

Ctrl + Shift + N

open a browser and navigate to the address in the clipboard.

It doesn't matter whether you specifically choose ClipX. It's these three key improvements in the operating system clipboard that I think are important:

  1. history
  2. persistence
  3. visual browser

It's a mystery to me why none of the major operating systems have bothered improving the clipboard. It seems entirely possible to add these enhancements without breaking the simple clipboard paradigms that have been around since the days of Xerox PARC.

Posted by Jeff Atwood    View blog reactions
« The Sesame Street Presentation Rule
Getting the Interview Phone Screen Right »
Comments

www.Clipmate.com

This program is so awesome that I can safely say it gives me an edge over other developers (I'm a freelancer) that don't use it.

It helps me remeber what I was working on this morngin, shows screenshot, has shortcuts and is very stable.

Regards, Tom

buckley on January 22, 2008 1:07 AM

SDIZ,

"The problem is -- clipboard seldom really store those data, but only store a reference to those data. In this way, the client can request for alternative formats of the copied data.

if you don't know what i means, try to copy something from excel and parse to notepad, excel and word..... all shown in different formats."

The clipboard can contain multiple formats of the same data at the same time. They have to be put on the clipboard as part of the same operation, and there can only be 1 item of each clipboard format. The program doing the paste can look at the formats available, and pick one or give the user a choice.

As to why anyone would want multiple items on the clipboard, I use this on a daily basis, especially when I'm adding new functionality across an entire code base and have 3 or 4 different strings that I'm going to be using repeatedly.

GregM on January 22, 2008 1:26 AM

("The other mysteriously missing should-be-standard clipboard feature is "Paste as unformatted text" (which some apps support through "paste special", but not all). I've come to rely on PureText to provide this feature, and I use it often.")

Yes. MS Word's Paste *always* does such insane things with formats that I expect to open up the monitor and find, Flintstones-style, a pack of miniature blind rabid monkeys pushing the letters into place. Word should default to unformatted paste. There's not even a direct keystroke assignable to it. However, you can write a macro and assign a keystroke to that:

Sub PasteUnformatted()
Selection.PasteSpecial Link:=False, DataType:=wdPasteText
End Sub

Kurumi on January 22, 2008 1:38 AM

Sounds like you need to try out Linux. I used to be a Windows power user and installed all those apps, trying to make Windows do what Microsoft refused to include by default. After switching to Kubuntu about 1.5 years ago, it's been nothing but bliss. If I ever need a Windows app, VirtualBox's seamless mode has served me amazingly well ( http://www.fsckin.com/2007/10/29/how-to-run-microsoft-outlook-natively-on-linux-using-virtualbox/ ).

kgr on January 22, 2008 2:23 AM

This has been in KDE ... since ... well maybe it doesn't qualify in your "none of the major operating systems have bothered improving the clipboard" statement.

jwickers on January 22, 2008 2:29 AM

Emacs has a clipboard history, as well as named clipboards (called registers). If that isn't enough you can define and name keyboard macros to enter the text you wish to insert.

Does Emacs count as a major operating system?

Steve on January 22, 2008 2:51 AM

Yeah, I'll second the above statement for KDE and it's also been in Gnome for years (another Linux desktop).

Personally, I'd consider the major operating systems to include Windows, Mac OS X and Linux. However, I'm aware the last one isn't top of everyone's list.

Rich Mehta on January 22, 2008 2:57 AM

Interestingly I've been using the well-known Autohotkey script langauge to utilize the same short-cuts you mentioned in your blog post. Example: WinKey+G searches Google with the contents of the clipboard, WinKey+I searches Google images. WinKey+W opens a webstie in IE, +F opens it in Firefox, +O starts Outlook, WinKey+M mutes the sound. It goes on and on. I'm also using B,N,F,P,K,L,A,S,X,C,V for shortcuts and I am running out of letters.
Honestly, I don't know how in the world I can remember all these shortcuts, but they have become so vital for my productivity that they are keeping me from moving to Vista, because the script doesn't work in Vista...

John on January 22, 2008 3:00 AM

What I dislike the most, about the clipboard, is the really bad behaviour in VS. Say you cut something, then you try to past it elswehere but you hit the C instead of the V (without any text selected) and bravo, you've lost your clipboard content! You now have to undo 3 or 4 times to re-start the manipulation. This is anti-productive at the most.

Fabian on January 22, 2008 3:01 AM

For those of us who like DOS boxes, or UNIX enthusiasts of the command line, copy/paste is mind-dead in yet another way. It is very common in Unix to copy something and paste it to the command line. There ought to be a single command to do this, but you have to paste separately. In a DOS box in windows, the paste operation was designed by a moron who never used it, I think.
-tobias d. robison

tobias d. robison on January 22, 2008 3:03 AM

Fabian: That one gets me too, but the good news is that you can turn off that behaviour in Visual Studio.

Go to Tools-Options...-Text Editor-All Languages-General and untick "Apply Cut Copy commands to blank lines when there is no selection"

(I guess this goes towards what Jeff was saying about software having reasonable defaults).

GrahamStw on January 22, 2008 3:10 AM

On my windows phone you just hold the stylus down over highlighted text, get a little circle thingy and then it lets you cut, copy n paste. Shame there isn't a button for it but it does let you move address and phone numbers round.

J on January 22, 2008 3:11 AM

I've been hooked on CTRL+SHIFT+V because of IntelliJ IDEA and I was looking for something system-wide.Thanks!

Bogdan on January 22, 2008 3:16 AM

Fabian, don't you think it's due to the very thing Jeff enlights here : the fact the the clipboard has not changed since (at least) Win95 ?
I fully agree with you, Jeff, on clipboard limits (altough I use another replacement - CLCL - since it's the only one that support copy-paste with Java application - namely Eclipse). The main question is : why has it never be included in major desktop OSes (sorry for linux ealots, ut in terms of UI, the open-source OS has never been a champion) ?
To my mind, the reply is to look up somewhere in the divide between educated computers users (and productivity fans) and "casual" users, for which copy/paste is a somewhat weird operation.

Nicolas Delsaux on January 22, 2008 3:17 AM

I think the reason you don't find the Clipboard functionality in the Linux Operating System is that a clipboard is not a operating system function! It makes no more sense to put a clipboard in an operating system than it does to put shell history in the operating system. This kind of user-specific functionality should be belong to part of the user presentation (Windows Manager, shell, etc). In Linux, this functionality is found in Windows Manager (KDE, etc) -- which is where it should belong (and where it has been for years).

Microsoft Windows tends to blur the distinction between the operating system and user presentation; but that doesn't mean we who know better have to buy into their sloppy thinking. This is, afterall, the same company that vehemently argued in court during the anti-trust suit that Internet Explorer was a necessary and indepensible component of the Windows operating system.

jmb on January 22, 2008 3:17 AM

GrahamStw, thanks for the tips. But I can't understand why this option exists at all...

Fabian on January 22, 2008 3:22 AM

I use an autohotkey script that keeps adding to the clipboard via the normal Ctrl+C, the pasting is done via Winkey+1, 2, 3, etc. Yes you'd have to remember what you copied and in what order, but I do, so it works well for me.

John on January 22, 2008 3:23 AM

The thing that annoys me is that Excel, in versions up to 2003 at least, loses what's on the clipboard if you do anything apart from moving around the spreadsheet. How arcane is that?

Paul Morriss on January 22, 2008 3:25 AM

@Fabian GrahamStw:
I would say that when you can't hit the keys you want then don't blame the software ;)
I do like this feature, it's a logical quick shortcut to copy the actual row without the burden to select it first.
You could say the same if you selected something and want to replace it with your clipboard content - and accidentally hit copy instead of paste. Stupid program, eh? :P

I think starting with Office XP there was a multi item clipboard in office, but I didn't like the implementation, especially that when closing office you were asked if you want to keep the clipboard content. ARGH!
Maybe this was a case study and (due to its stupid implementation) wasn't much accepted, so MS decided to not change anything about the clipboard?

Also I think that VS supports multiple clipboard items, too...

Qma on January 22, 2008 3:26 AM

I like Ditto (http://ditto-cp.sourceforge.net/) :) Has a better history browser.

But true. This problem should be solved by the OS, not third party applications :P

Aditya on January 22, 2008 3:36 AM

Perhaps a stack model could be added on top on clipboard's default behavior.

Ctrl + C : copy - default behavior
Ctrl + V : paste - default behavior
Ctrl + Shift + C : copy - put on the clipboard stack
Ctrl + Shift + V : paste - pop from the clipboard stack

The only problem is that people aren't generally familiar with the abstraction of stacking. This could be solved by adding a visual hint at the cost of cut/paste speed.

Christophe on January 22, 2008 3:37 AM

Other Fabian and GrahamStw - like Qma, I find that full-line copy/cut feature _extremely_ helpful. And due to the clipboard ring feature of Visual Studio, if you ever hit Ctrl-C inadvertently, just press Ctrl-Shift-V to get back the item you copied before.

(I wonder why Microsoft removed the clipboard ring display in VS 2005.)

Fabian Schmied on January 22, 2008 3:55 AM

Most disturbing to me is that "Save" is the #2 most-used command. In 2003, it shouldn't be necessary to manually save your work, because what you write should be saved as you enter it, so your work can never be lost. Typing at 30WPM generates only *3 bytes* per second; any 21st-century computer (including phones and watches) can handle recording that.

Vincent Gable on January 22, 2008 3:59 AM

Perhaps there's more to be learned from the command line history function.

I'm not saying that as some UNIX neckbeard or a Linux zealot - _really_ - look at how command shell history functions have solved one part of this problem - repeating stuff you've done before vs capturing interesting stuff you've found in output.

Bob on January 22, 2008 4:08 AM

I remember using CygnusEd (CED) for development back in the Amiga days - it had multiple clipboards (yeah, I know I'm talking text here and it's not at the OS level), multiple open documents, macros launced external programs (compilers)

This was 15 years ago?? (20 according to Wikipedia!)

I was mightily disappointed...When I started using text editors in DOS/Windows 3.1

I would love it if I could use all those function keys I hardly ever use for clipboards. e.g. Left Windows+F1 to cut, Right Windows+F1 to paste

Alex on January 22, 2008 4:08 AM

I like Clipx I also like ArsClip, however when I want to cut some text in word I press ctrl-X and word exits!... anyway I use clipx continually.. In arsclip you can save some permanent items which is also good...

regards

Jorge Diaz Tambley on January 22, 2008 4:12 AM

Vincent, I'm rather surprised it's not #1!
I've got a long time habit of pressing ctrl-s after every second or third line born out of some very painful moments where an application crashed and the last save was half an hour ago.

Once I've worked on a small fun project with a friend together and we both had the same project on a network share opened in VS. After about 10 minutes we were both sick of VS reloading some files every 30 seconds or so (he has the same habit) that we quickly decided to set up a sourcesafe DB, even if its only for some hours...

Qma on January 22, 2008 4:16 AM

The real problem is the lack of a standard for UI. If there were a standard someone would just say: "Hey, let's improve it" and it would get done.
One of the reasons I do not like linux for desktop is all the problem with KDE vs GTK, it's like redundancy (not the good database redundancy). I got 2 librarys that to the exact same thing but slight different, so I pay 30 mb of memmory for each one and slow my boot process to load both (or even wrost, load one at boot and the other when some app starts and it hangs there until the library loads). At least in windows we have a single and consistent UI that do not change ever couple months (but still do in the long run).

Hoffmann on January 22, 2008 4:30 AM

KDE 4 is out and about.

David Ginger on January 22, 2008 4:37 AM


Windows (with MS Office) has had a multi-entry clipboard feature for several versions. However, it breaks any other apps that rely on the clipboard so I always have to turn it off. As for copy/paste to the command line, you can configure the dos window to select text with a mouse drag, then copy to clipboard with right-click or enter key, then paste to command line with a right-click.

Of course with all that being said, I would find Windows very unpleasant if I didn't have access to my favorite unix shell environment (complete with command-line -- STDIN clipboard commands) installed on my windows box.

Matt G on January 22, 2008 4:37 AM

Microsoft Office from version 2000 (I think) onwards has the multiple clip history enabled - and I absolutely despise it. My main gripe is that the damn thing maxes out at ten items, and doesn't remove the oldest.

I've only encountered one situation where I'd really like to have multiple items in my clipboard, but it's hardly a daily occurrance.

Microsoft: Please leave the clipboard alone, or let me use it just like it currently works (read: simple, but fast).

I'm usually the first to go "Lets try this new cool way of doing things", but this is one situation where I'd really love the status quo to be maintained.

Will Hughes on January 22, 2008 4:42 AM

why is the Windows clipboard only capable of holding a single item

Possibly because non-geeks prefer it that way? When I set up machines for family and friends one of the first things I have to do is turn off Word's *#$#*!( multi-entry clipboard (or if I don't I get a call back a few days later to complain that "the clipboard on the Windows [sic] is broken"). I'm guessing that Microsoft's user testing revealed the same thing, that the masses just don't want multi-entry clipboards. Heck, I'm a pretty hardcode geek and even I hate them, I don't want to have to go fishing in a menu just to cut and paste a line of text.

Dave on January 22, 2008 4:46 AM

Dear Jeff,

I read your posts with much interest. I rarely have a comment because you've covered a subject well, and I can often only agree with your reasoning and observations, or you're writing about a subject I don't know much about. I have commented though and as far as I can remember all my comments revolve around 1 thing. I promise that this is the last time.

You've written about browsers and I've pointed you to Konqueror. Now you write about copy / paste behaviour and others have mentioned KDE's Klipper already. I know you're well locked-in to Windows and that's fine but it seems to me you've got a few reasons to have a look at KDE. Not as a competition between window managers or browsers, that's a bit pointless but as a reference for improvement: you only have to look for things that are done different and better. So if you have an old machine lying around you're not currently using, install a Linux distro somewhere in a corner of the harddisk and try KDE out for a while, it won't hurt.

Caesar Tjalbo on January 22, 2008 4:52 AM

Jeff, I agree completely. Moreover, the thing that has really gotten me over the past few years is apparently caused by an MS security patch around the clipboard (I am guessing). The following behavior does not always work reliably any more, and it used to:

1) Highlight and copy some text in running App 1.

2) Start App 2.

3) Once App2 has started, paste text into App 2.

Often times now #3 either brings in some PRIOR clipboard contents before the last cut/copy (the most likely scenario) or nothing at all. Odd and frustrating and happens across multiple machines and versions of Windows (at least XP and 2003). This still bites me almost every day, and the behavior's been broken (or randomized as to success) for at least a year or more now.

Steve, your comment on emacs reminded me of one of my favorite jokes - "emacs - a nice operating system, but it could use an editor." :-)

Jim on January 22, 2008 4:57 AM

Nice graphic on the clipboard stack!

Ned Batchelder on January 22, 2008 5:01 AM

Jeff, that's one great tool you recommend there. Installed it and already lovin' it.

Magnus on January 22, 2008 5:05 AM

You are all spoiled brats:)

I consider myself a (absolute!) power user and I never needed multiple clipboard items. Your beloved Word approach always annoyed me...

And why sacrifice the speed and non-graphical modus operandi of the current clipboard for multiple items support?

Q on January 22, 2008 5:07 AM

I thought you might find it interesting to know that on any given Windows error message, you can hit Ctrl + C (Copy, obviously) and it will directly copy the contents of the error message to your clipboard...just a fun fact that may serve everyone as a usefull hint.

Corey Ellis on January 22, 2008 5:18 AM

I see your point Jeff and as you know MS Office ships with similar feature.

Problem is simple managing data in your head, instead of managing several data and keep them in brain while trying to do something else is just an extra hassle (at least for me, blame my low IQ!). Maybe up to 2 but not 5 or something like that. That'd be crazy.

That's the only reason I don't go for this solution.

Ctrl + Shift + V for previous copied item is not a bad idea though I can remember 2 data in my stack :)

John Ther on January 22, 2008 5:20 AM

Will check this out, FYI a couple of engines on VirusTotal have identified the setup file on the website as suspicious?

http://www.virustotal.com/analisis/baacc1f516d4460121f66eabbdf45072

I doubt it's anything, but still!

I think the clipboard is simply not good enough in its current state. MS have clearly identified this by creating the Office Clipboard. Why the hell didn't they design it to plug into the OS as an update?! It works fine! (obviously remapping the shortcut keys).

Rob on January 22, 2008 5:21 AM

I prefer the clipboard to hold one thing. That's the whole point of the clipboard!

Asmor on January 22, 2008 5:22 AM

OK, I've just installed to give it a shot and I like the implementation, it's clever and kind of solving remembering stuff problem + very good visual indicator.

John Ther on January 22, 2008 5:24 AM

The multi-clipboard that comes with Office is one of the things that I turn *off*, I find it amazingly annoying that something that should be invisible and "Just work" suddenly starts clogging up my screen space and using memory keeping things I no longer want ...?

I suspect this is another one of those Marmite thing that either you hate and don't understand the point of, or love and don't know how you did without it ...?

Jaster on January 22, 2008 5:44 AM

The multiple-clipboard feature was already there in MS Office since Office 97. I think what MS need to do is to provide such feature in OS level.

Andy Wong on January 22, 2008 5:51 AM

Maybe it's just me but Clipx doesn't seem to actually capture any copies. I highlight something in firefox, hit ctrl-c, then ctrl-shift-v and nothing. I wouldn't think it would be so hard.

Jim on January 22, 2008 6:00 AM

I think that Copy and Paste's presence in the Top 5 List is actually BECAUSE OF the single-item clipboard. I think, in short, that the single-item clipboard is a feature and not a bug.

Software is too fucking complicated. Features that make us think, that burden our minds, that demand our participation: they have a cost, and a cost that is widely unrecognized and underappreciated. Paste does not suffer from this problem. When I Paste, what gets Pasted? Why, whatever I just Copied, of course. I Copied it so that I could Paste it. Now. I didn't Copy it so that later on, if it so happened that I wanted to, I could select it from a list of other things I thought I might someday want to Paste, to Paste. I'm not gathering things speculatively; I'm Copying THIS, from HERE to THERE. That's a very simple concept and it allows for a very simple interface, and simple interfaces don't scare away users and, if they're interfaces to useful features, they get used.

Carl Manaster on January 22, 2008 6:03 AM

Has anyone tried these clipboard history programs with Keepass Password Safe? They look useful but I fear they'll conflict with its useful option to automatically clear the clipboard after the first paste of the password.

I wonder how clipboard monitors work in general when programs put "application rendered" data on the clipboard. That's usually done when generating the data would use a lot of time and/or memory and when pasting the data within the same application can take a shortcut to avoid converting the data into a more generic format and back again. Presumably the clipboard history programs trigger instant rendering of any such data put on the clipboard (else they can't store it it for later reuse), which could be bad. Then again computers are pretty fast and full of memory these days, so maybe that mechanism is an anachronism. (I imagine it's still useful for massive image copy pastes within graphics packages, though.)

Leo Davidson on January 22, 2008 6:07 AM

The Nokia S60 v3 Symbian phones do copy-paste, too.

Edward on January 22, 2008 6:21 AM

I knew a guy once who (in 1988) printed 3 Excel spreadsheet fragments, used scissors to cut and then tape them to 1 sheet of paper. While doing this the phrase "cut and paste" popped into his mind, and he felt a bit embarrassed.

True story, and no, it's not about me.

Steve on January 22, 2008 6:30 AM

The clipboard behaviour in Microsoft Word is unbelievably frustrating. Little boxes popping up all over the place asking if I want to choose one of the many things I've copied. NO. I want to paste the last thing I copied and don't want to be annoyed with a dialog.

I like the idea of clipx, a similar function to utilise a multi-clipboard. As for default, I want it to do exactly what it's done since I've been using a computer.

Maybe I've been brainwashed, but it's what I'm used to and I don't want it changed. Although upgraded functioins with different key bindings sounds mighty useful.

Rah on January 22, 2008 6:31 AM

Dude! Your definition of "major operating systems" could use some tuning. If you mean WINDOWS, just go ahead and write that. Please.

Besser Wisser on January 22, 2008 6:31 AM

Leo Davidson wrote:

I wonder how clipboard monitors work in general when programs
put "application rendered" data on the clipboard.

What? I've never seen a program that fiddles with the clipboard. That coullll.l.lo - sorry, got some COOKIE CRUMBS stuck in my keyboard - could be catastrophic. Imagine if you're executing a copy/paste loop in a terminal window, and ApplicationX suddenly (if only for a moment) changes the clipboard contents.

I'm going to go ahead and assume you're talking about (or out of) something else.

Besser Wisser on January 22, 2008 6:35 AM

+1 to Carl Manaster - bang on.

And... as if we don't have enough complicated problems - to Carl's 2nd paragraph, first line - Hallelujah man!

Mitch Barnett on January 22, 2008 6:36 AM

Yep! Been saying the same thing for years. Before XP I was using this little thing called ClipAid but it got quirky after XP came out so I stopped. I'll give ClipX a try though - seems great.

Remember when windows FINALLY started showing thumbnails of stuff? Took years. I was using ThumbsPlus forever before that. Similar situation.

Thanks!

T-bone on January 22, 2008 6:39 AM

Jeff Atwood wrote:

The clipboard is so important that Walter Mossberg specifically
mentioned it as a negative in his iPhone review:

Not to belittle Walter Mossberg, whoever he is, assuming he in fact exists, but certainly there are stronger attributions to the importance of the clipboard than an iPhone review?

Besser Wisser on January 22, 2008 6:40 AM

I used to use ArsClip before I moved to Linux (Jorge beat to it). Besides saving permanent items, ArsClip doesn't need to be setup, so you don't have to run through the whole "Next, Next, Next, Finish" process, just drop the an exe with an ini file in %windir% or somewhere in your path and you're all set.

My history context menu was bound to (Win+`), which is as accessible, and as uncommon, as Alt+Esc.

Rami Kayyali on January 22, 2008 6:49 AM

IIRC Windows 95 had an optional accessory on the install disc called the 'Clipbook viewer' which added multiple copy/paste selections to that system.

I seem to recall it being somewhat of a pain to use, but I am quite certain it was there.

Of course, X11 has had two clipboard buffers since the beginning (and IMO the X11 selection and middle click to paste is the single most useful thing about that system), and xclipboard is a rather old utility that adds multiple level cut and paste capability. I don't know how old it is though.

Adam D. Ruppe on January 22, 2008 6:49 AM

It's not true that smartphones don't have clipboards. I'm actually typing this on a Nokia E90, which allows me to copy/paste just fine. which allows me to copy/paste just fine. See?
Too bad there doens't seem to be a way to copy stuff off a web page.

Flaky on January 22, 2008 6:53 AM

funny, this post comes in together with [http://www.kdedevelopers.org/node/3221] in my feeds.

hdh on January 22, 2008 7:02 AM

Windows Mobile Professional has a clipboard, and 6.1 Standard too. I also use it a lot on my phone, which uses Linux.

Ricardo on January 22, 2008 7:03 AM

My plain old $40 a month Nokia phone doesn't have a camera, keyboard, internet access, maps, a bottle opener, or a slinky built in. But it has copy and paste.

Brett on January 22, 2008 7:06 AM

AutoHotKey all the way!

Really, I believe most of the commentors here already know how to program no?

chakrit on January 22, 2008 7:38 AM

I've been using a small program called ClipDiary - http://softvoile.com/clipdiary/

I always wanted a clipboard log, but since installing it months ago, I've only used it a couple times.

David on January 22, 2008 7:43 AM

Someone may have said this but... on my Windows Mobile phone, there is an on screen keyboard that has a Ctrl key so I can cut, copy and paste. It would drive me nuts if I could not.

Brian on January 22, 2008 7:48 AM

I'm guessing the real reason the clipboard contains one item is that the vast majority of users want it to be simple. As a "power user" you can enhance the clipboard with 3rd party add-ons, but I'm sure most users would be confused with a clipboard history popup dialog box when they select Edit-Paste

Chris V on January 22, 2008 7:55 AM

The problem is -- clipboard seldom really store those data, but only store a reference to those data. In this way, the client can request for alternative formats of the copied data. That is also why some application ask if you want to keep the clipboard data on close.

if you don't know what i means, try to copy something from excel and parse to notepad, excel and word..... all shown in different formats.

Same problem can be see for linux, see mozilla Bug 289897.

SDiZ on January 22, 2008 8:15 AM

Hey Now Jeff,
Great info, I never used this tool before it sounds really good.
Coding Horror Fan,
Catto

Catto on January 22, 2008 8:17 AM

I used to use apps like this all of the time. I was using Clipmate back in 2000, which had the same clipboard history ability. It improved my productivity tenfold, but I seem to have forgotten what that was like and relegated myself to the standard clipboard. Now I have to go find one that costs money to use at work. Yep, that's right, they won't let me use one unless it costs money.

+1 to Visual Studio for the Ctrl+Click feature that selects whole words, I love that.

Mattkins on January 22, 2008 8:34 AM

I can't really see adding the ability to store multiple clipboard items to the OS as an improvement of the situation.

Besides having to re-write apps to take advantage of any new OS clipboard features, backwards-compatibility would be a nightmare. The current clipboard functionality is well-worn and works flawlessly. If they tried to change it and did something wrong, all kinds of Windows apps would suddenly have problems. There are too many programs out there that depend on how it currently works, and not all of those are passing text back and forth. It might have been necessary to keep the base implementation simple in order to be able to pass any kind of data from one program to another.

I have to agree with Jon, the clipboard was meant to be transient. Plus those of us who have been using Windows for a really long time have gotten quite used to how it currently works.

Chris Tybur on January 22, 2008 8:35 AM

A long time ago I bought Clipmate (http://www.thornsoft.com/) and was happy with it for a couple of years. But then, after some Windows service packs it developed stability issues, and I gave up on it.

Deadprogrammer on January 22, 2008 8:42 AM

the one thing that kills me is trying to cutting and paste from multiple virtual machines.

complete pain in the ass sometimes.

engtech on January 22, 2008 9:03 AM

Deadprogrammer - I'm still using that app, they've updated it frequently and it works great with XP SP2. Not sure about Vista, though. Quite indispensable.

Patrick on January 22, 2008 9:05 AM

I'm Copying THIS, from HERE to THERE. That's a very simple concept and it allows for a very simple interface

As I said in my post, this simple behavior is be retained with no modification-- CTRL+C and CTRL+V work the same as before. With an enhancement like ClipX, you can opt to press CTRL+SHIFT+V and get access to your clipboard history.

I'm certainly not lobbying for anything like the annoying Office clipboard "manager" which pops up every time you copy something to the clipboard, until it is invariably turned off. ClipX behavior is completely invisible and automatic until you press CTRL+SHIFT+V.

Jeff Atwood on January 22, 2008 9:09 AM

You point out the value of copy/paste in our culture, and how it's almost impossible to live without it. I completely agree.

However, copy/paste is exactly what the MPAA/RIAA is trying to get rid of. Under US copyright law, we have permission to copy/paste materials under the banner of fair use. These companies (and others like Adobe and Microsoft) are pushing the use of DRM, which completely removes this right.

Fight against DRM for your right to copy/paste, http://www.eff.org/

Jeffrey S on January 22, 2008 9:12 AM

I have been a ClipX fan for a few years, but never liked the default three-key shortcuts (it's a bit awkward to press three keys with one hand). My favorite shortcut for Paste is ALT+C (a carry-over from CLCL, another clipboard manager). It's impossible to set this shortcut directly in the the ClipX settings, but I found a workaround. If interested, please see a short post here: http://alekdavis.blogspot.com/2007/05/clipx-fix.html

Alek Davis on January 22, 2008 9:17 AM

One more for Klipper and KDE...

Just because Windows is stuck in 1997, doesn't mean the rest of us are medieval too... ;-)

shash on January 22, 2008 9:21 AM

I thought MS Office supported multi-clip? I haven't used it in awhile (not since my previous job), but I remember it being an option there, and I didn't install any add-ons. I remember it was quite annoying because I'd get popups bugging me about which thing I wanted to copy/paste, when I always wanted to do the last one...

Brian Knoblauch on January 22, 2008 9:48 AM

Yankee Clipper (http://www.intelexual.com/products/) has been my choice for years. I agree, I can't work on a machine without it being installed.

Mark Elder on January 22, 2008 9:52 AM

Aditya said:

I like Ditto (a href="http://ditto-cp.sourceforge.net/"http://ditto-cp.sourceforge.net//a) :) Has a better history browser.

I second Ditto. I use it as well (on Win XP Pro), and it's been very solid and convenient for me. Uses SQLite as its back-end.

The one time I emailed the developer for help, he was very responsive. And yes, I subsequently sent him a contribution.

Development appears to have dropped off (it's been at v 3.9 for some time), but the product is still very solid, configurable, and easy to use. Maybe if there's an uptick in use, the development will accelerate again.


Someone else said:

Has anyone tried these clipboard history programs with Keepass Password Safe? They look useful but I fear they'll conflict with its useful option to automatically clear the clipboard after the first paste of the password.

That's been a concern of mine, as well. I don't use the Keepass copy to clipboard feature (with automatic wipe of clipboard after x seconds or paste or whatever), partly as a result. Recent versions of Keepass (if I recall correctly) mention using some sort of protocol to let clipboard management programs know not to record/save the password that Keepass is writing to the clipboard. But I don't know what clipboard management programs acknowledge/respect that protocol. Maybe Clipmate and/or some other bigger name commercial products. If/When Ditto development continues, such support would be a nice feature.


Paul B on January 22, 2008 9:59 AM

The other mysteriously missing should-be-standard clipboard feature is "Paste as unformatted text" (which some apps support through "paste special", but not all). I've come to rely on PureText to provide this feature, and I use it often.

Kevin Dente on January 22, 2008 10:01 AM

Just had a look at the Ditto site -- hadn't done that in a while. There've been updates! Most recent:

Version 3.15.4.0
On 01-16-08

Yay!

Paul B on January 22, 2008 10:03 AM

Great post, good point... Never thought about the clipboard in that way before... very insightful.

thanks

Arnr on January 22, 2008 10:04 AM

The other mysteriously missing should-be-standard clipboard feature is "Paste as unformatted text"

Ditto does this. Pop its list (default key combo is Control ` -- becomes very natural to use) and when the desired item is highlighted (most recent by default, and older can be reached quicly by keyboard -- no mouse necessary), press Shift-Enter to get a plain text version.

Note, too, that Ditto has a very convenient search feature. Just start typing, and the list is immediately reduced to items containing what you've typed. This includes basic wildcarding.

At this point, I guess I should say that I have NO affiliation with Ditto. But I use it day in and day out, and I'd hate to be without it.

Paul B on January 22, 2008 10:09 AM

I've been using ClipX for ages. It also lets you install a Stickies plug-in, which lets you create clipboard text that will "stick" forever. When you press your ClipX paste shortcut (which can be changed from CTRL+SHIFT+V), it shows the sticky items at the bottom of the list with alphabetic shortcuts (A, B, ...). (Unfortunately, there's a bug where often the alphabetic shortcuts don't work and you have to manually select the item. But it's still a time-saver.)

Stefan on January 22, 2008 10:15 AM

i see your points, I haven't used ClipX, but from your article the only thing I would change would be to still utilze some form of key combo that pastes the lastest thing on the clipboard "stack" instead of having to select from a menu, because I am more often than not just moving something from one place to another quickly and dont need to choose from my last 10 copies

matt on January 22, 2008 10:25 AM

I'm sure Microsoft considered including this extra feature with Windows, but didn't want to get sued over it like they did with Internet Explorer, Windows Media Player, etc... If notepad, paint, and calculator weren't also so primitive they would get sued over those as well.

Billkamm on January 22, 2008 10:31 AM

What's scary about Microsoft is that they've known for YEARS that paste is the most used function yet it handles horribly in all of the Microsoft products I've used.

"Want me to paste this text in, even though it clearly doesn't have ANY resemblance to the rest of the file in terms of its style? Noooo problem!"

"So you want me to paste this image in, eh? Howabout I just put it, umm, wherever I want! Sounds good to me!"

Shmork on January 22, 2008 10:56 AM

Try ClipBoard Diary utility.
It maintains a history of each and every thing you have copied into clipboard starting from the time you install the software

Saurabh on January 22, 2008 10:58 AM

Windows Mobile supports copy/paste, of course. This is why many reviewers are missing it from the iPhone

If it's Mobile Pro (which has a touch-screen), hold the stylus down for a second to get the context menu for copy/paste..

p.s.: why would IE allow selecting text if you couldn't copy/paste..

btw, multiple clipboard is the first thing I disable in Office. No one needs this except engineer used to programmer editors. People prefer using a small set of simple tools, or repeating simple tasks, to do what they need.

ulric on January 22, 2008 11:26 AM

What I don't understand is: Why force your left hand in the awkward position for ctrl+c and it's relatives?

It just exists that way because Macs already had command+c. DOS had (and all the versions of Windows I tried still have) a much better keyboard combination for copy/paste (ctrl+insert and shift+insert) that doesn't hurt your hand. Not even after threehundredthousandeightmillionandtwentysix successive copies and pastes.

P.S. 1 : I agree with the folks saying we don't need fancy multi clipboards making a simple operation less simple, but it's a good thing for power users that we have the choice.

P.S. 2: For Visual Studio copying anything while there's no selection? that's just a really dumb exception to the way the clipboard works, you copy the selection. it makes no sense whatsoever to copy anything if it's not selected! The option may make life easier for some but someone needs to be severly cut on his/her bonus for making it the default setting to copy an the current line when there's no selection.

kris on January 22, 2008 11:26 AM

A friend of mine made a stack clipboard called stackboard.
I cannot live without it now!

double CTRL+C will open the url to the browser if it's an url (sooo useful)
ALT-Z open the stack clipboard window to switch to an old clipboard

If you want to see it, it's free, no install:

http://www.ploki.info/dl/stackboard.exe

acemtp on January 22, 2008 11:27 AM


On OS X I use PTHPasteboard. http://pth.com/products/pthpasteboard/ I have Command-Alt-Shift-V mapped to bring up the clipboard window, which then allows 0-9 keys to paste any of the past 10 items in. Holding "Command" down when hitting the number (ex, Cmd-Alt-Shift-V, Cmd-2) will paste the given item in plain text instead of formatted, which is an absolute KILLER feature (pasting formatted text didn't seem to bother me as much on Windows; I'm not sure why).

I paid for the Pro version, which adds in keyboard syncing across the network. This is a real workflow-changer.

IMHO, well worth the money (free if you don't want network syncing and user-defined on-the-fly text filter).

Doesn't persist clippings across reboots, but honestly I can't see a reason for such a thing. If I want my clipboard persisted across reboots, I'll past the clipping into a Stickie or TextEdit document before rebooting! I certainly wouldn't want this as a matter of course.

Tom Dibble on January 22, 2008 11:32 AM

For those on OS X, iSnip (http://www.davedelong.com/isnip2/) provides functionality similar to ClipX, though I believe it only handles text.

Eric Meyer on January 22, 2008 11:39 AM

PowerPro has been having clipboard history (and many other clipboard functions) for ages.

Regarding PDA, Palm always had copy-paste. It's so basic and so primitive, can't imagine there exist devices without it.

d0011 on January 22, 2008 11:41 AM

Wow, Kris - I must have banana hands...

:P

or at least abnormally large hands for a female...ctrl + c and ctrl + v don't hurt me at all...

mari on January 22, 2008 11:48 AM

Of COURSE I can't use less than and greater than in comments...duh.

That's: "or at least abnormally large hands for a female... ctrl +c and ctrl + v don't hurt me at all..."

I actually just used both when copying from my earlier comment and pasting into this one.

mari on January 22, 2008 11:50 AM

This has been part of the X Windows System for decades. There's a horrible discoverability issue around it but recent developments (like Klipper, already mentioned) have improved that situation.

m on January 22, 2008 11:51 AM

Good functions of this small app.

Juan Manuel on January 22, 2008 11:59 AM

I would apply your 'Don't make me think!' argument. You are taking a simple concept and making it complicated. Now I need to choose which item I want pasted (ok, not really, since the Ctrl-C/Ctrl-V still work as expected; you have another key combo to use to select). Does it allow you to select what to paste if you use the Paste menu option? Can I set it up to be a round-robin (FIFO) instead of a stack (FILO)? Can it maintain formats for Notepad or Paint?

As mentioned, Microsoft put into Word. I thought it was a good idea, but as I think about it now I fell very quickly back into the habit of thinking that the clipboard only held one item, and almost never used it. It's not something that would be used.

Off topic, Excel's copy/paste drives me nuts.

Tim on January 22, 2008 12:03 PM

"What? I've never seen a program that fiddles with the clipboard. That could be catastrophic. Imagine if you're executing a copy/paste loop in a terminal window, and ApplicationX suddenly (if only for a moment) changes the clipboard contents."

I wrote a program that did that. It would insert "MY NAME is awesome!" into the clipboard every time the clipboard changed. So the clipboard would always contain that string. Then I installed it on my bosses computer. Hilarity ensued.

BMS on January 22, 2008 12:16 PM

More comments»

The comments to this entry are closed.

Content (c) 2012 . Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.