HaveClip is a peer-to-peer clipboard synchronization tool. Ctrl+C on one computer, Ctrl+V on another.
Clipboard is instantly synchronized across all your devices. It can handle all forms of text, images and even application-specific data.
HaveClip is multiplatform. Copy something in one OS, paste in another. Supports Windows, Linux, Mac OS X and Sailfish OS.
Packages and executables
Mac OS X
Sailfish OS (Jolla)
Available in Harbour.
Build HaveClip from source.
- Qt >= 4.7
- modules core, gui and network
- QCA (Qt Cryptographic Architecture)
- Linux version has additional dependencies
- X11 header files
Debian based distributions
# apt-get install g++ libqt4-dev libqt4-dev-bin libX11-dev make pkg-config libqca2-dev libqca2-plugin-ossl
Fedora and other RPM based distributions
# yum install gcc-c++ qt-devel xorg-x11-proto-devel qca2-devel qca-ossl
Download source code
Released versions available at https://sourceforge.net/projects/haveclip/files/.
- Desktop version at https://github.com/aither64/haveclip-desktop
- Sailfish version at https://github.com/aither64/haveclip-mobile
$ tar -xzf haveclip-desktop-0.13.0-src.tar.gz $ cd haveclip-desktop-0.13.0-src $ qmake (or qmake-qt4) $ make
You should now have executable at bin/haveclip and a library at haveclip-core/bin/libhaveclipcore.so.1.
$ sudo make install
HaveClip runs in the background. There is no window when launched, only tray icon will show up.
Left-click on the tray icon will pop up a menu with clipboard history. Right-click triggers a menu with options. These two menus are merged in one in OS X.
First thing to do is to setup devices where the clipboard will be synced. Right-click on the tray icon and select Settings. Go to tab Pool, click on “Add” button and follow the verification process. See the Example setup.
If the verification process is successful, the clipboard will be synchronized between the two computers.
Please remember, that for HaveClip to work properly, the same kind of encryption has to be used and all computers should have unique private key and certificate, which they will have in default configuration.
Let’s say I have a PC, a notebook and a Jolla. I want to sync clipboards on them in my home network.
The devices have following IP addresses:
Before pairing the devices, check that all of them have:
- set the same encryption (TLS by default),
- own private key and certificate (read here how to get certificate to Jolla),
- same version of HaveClip.
Using HaveClip without the encryption is discouraged.
HaveClip has a simple verification process (device pairing) that makes the configuration easier and safer at the same time.
- Pair PC and notebook (Settings -> Pool -> Add node on the PC)
- Pair PC and Jolla (Settings -> Pool -> Add node on the PC)
- Pair Notebook and Jolla (Settings -> Pool -> Add node on the notebook)
In the node add dialog, you can search your local network and all computers running HaveClip in your network will show up. If that doesn’t work, type in the IP address and port manually.
To discover your IP addresses, on Linux run
ip a or
ifconfig in the terminal.
On Windows or Mac look to network settings. On Jolla, do the same as on Linux if you have developer mode,
or install application from Harbour that can show your IP address.
Sailfish OS (Jolla)
In order to sync clipboard from Sailfish to PC, one must bring HaveClip to foreground after copying text, or else HaveClip will not notice it. Sync from PC to Sailfish works as expected.
For Jolla to be auto-discovered by other devices, it must be active, meaning the screen must be turned on.
It is strongly recommended to use the encryption and have unique private key and certificate on every computer. HaveClip then ensures, that the clipboard will be sent and received only to/from authenticated peers (those listed in Pool with appropriate certificates) and that the transfer will be encrypted.
If one does not use the encryption, literally everyone can change the content of the clipboard or receive it without user’s knowledge.
HaveClip is released under GNU/GPL.