Clip Library
Copyright (c) 2015-2020 David Capello
Library to copy/retrieve content to/from the clipboard/pasteboard.
Features
Available features on Windows, macOS, and Linux (X11):
- Copy/paste UTF-8 text.
- Copy/paste user-defined data.
- Copy/paste RGB/RGBA images. This library use non-premultiplied alpha RGB values.
Example
#include "clip.h"
#include <iostream>
int main() {
clip::set_text("Hello World");
std::string value;
clip::get_text(value);
std::cout << value << "\n";
}User-defined clipboard formats
#include "clip.h"
int main() {
clip::format my_format =
clip::register_format("com.appname.FormatName");
int value = 32;
clip::lock l;
l.clear();
l.set_data(clip::text_format(), "Alternative text for value 32");
l.set_data(my_format, &value, sizeof(int));
}Platform specific details
- If two versions of your application (32-bit and 64-bit) can run at
at the same time, remember to avoid storing data types that could
change depending on the platform (e.g.
size_t) in your custom format data. - Windows:
- Linux:
- To be able to copy/paste on Linux you need
libx11-dev/libX11-develpackage. - To copy/paste images you will need
libpng-dev/libpng-develpackage.
- To be able to copy/paste on Linux you need
Who is using this library?
Check the wiki
to know what projects are using the clip library.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
