Definition of a clipboard manager
For those who don’t know what a clipboard manager is. Imagine the Windows clipboard on steroids. That’s exactly what a clipboard manager is.
An example: You are working on a document and you have these 5 strings, perhaps company names or spare part designations, that repeat all over the document. Sure, you could copy each of them into your clipboard (Ctrl+C) and then just paste them whereever you need (Ctrl+V). But the problem is that you can only store 1 such string. Also, whenever you copy something new into your clipboard, the previous string will be overwritten.
This is not very practical. Wouldn’t it be better if you just had, say, 10 memory banks, where you could store your strings, and leave the Windows clipboard free for your usual business? And then just press a dedicated hotkey or hotkeys to insert those strings stored in your memory banks into your text?
And that’s exactly the idea of a clipboard manager
Of course, during my translation work, I soon realized how useful a clipboard manager could be. So I started looking for a software solution to this problem. But at that time, there was not much I could use – all of the available clipboard managers were very clumsy to use or did occasionally not work, as they collided with other software programs running on my computer. The situation might be better now, but I am just a C# enthusiast, I enjoy programming… and most importantly, I very much enjoy using my own software written to exactly match my needs. It brings me a great deal of inner satisfaction. Also, I don’t want to have a gazillion of small utility programs running in my system – I just want one piece software that would address most of my translation needs.
So, I said to me: Hey, how difficult could it actually be to create a clipboard manager myself? These were my requirements: 1) I want to see what’s stored in my memory banks all the time and 2) I want to be able to very easily store and re-insert my strings by pressing a hotkey
I already knew how to work with the Clipboard class and hotkeys in C# so this was just a real piece of cake. My biggest problem? How to create those semi-transparent boxes on the screen to indicate what’s stored where and how to make them appear and disappear every time I press the Ctrl key. I did not want them to be on the screen all the time, because that would hinder the view on my document I was currently translating. So only show the clipboard manager hints when I press the Ctrl key. When I release the key, make them disappear again.
It took me a couple of hours to tune this up so that these hints would not collide with other windows on the screen and would not steal the keyboard focus from my main application (usually a CAT tool).
You can see those hints on this picture:
How it works
And this is how it works: I can select a portion of text in my CAT tool that I would like to store in one of those memory banks, and I just press Ctrl+Alt+Shift+1…9,0 (so all the way from the key 1 up to 0 on my alphanumeric keyboard) to store it into any of my 10 memory banks. If I wish to re-insert one of those stored strings into my text in my CAT tool, I simply press Ctrl+1…9,0 to re-insert it.
I have tuned it up really nicely, no collisions with other software at all, and it’s nicely animated to gradually appear and disappear every time I press and release the Ctrl key. And the best thing is: it preserves the content of my Windows clipboard so it is free for my usual work.
You can see it in action here: