C++ MIT

clip

Cross-platform C++ library to copy/paste clipboard content

D

dacap

Dernière activité 29 mai 2026
dacap/clip

705

étoiles

109

forks

19

issues ouvertes

clipboardclipboard-formatscpplinuxmacosnspasteboardpasteboardwindowsx11

Ce README est souvent en anglais.

Clip Library

Copyright (c) 2015-2026 David Capello

build MIT Licensed

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;
  std::string str = "Alternative text for value 32";

  clip::lock l;
  l.clear();
  l.set_data(clip::text_format(), str.c_str(), str.size());
  l.set_data(my_format, (const char*)&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-devel package.
    • To copy/paste images you will need libpng-dev/libpng-devel package.

Compilation Flags

  • CLIP_ENABLE_IMAGE: Enables the support to copy/paste images.
  • CLIP_ENABLE_LIST_FORMATS (only for Windows): Enables the clip::lock::list_formats() API function and the list_clip_formats example.
  • CLIP_EXAMPLES: Compile examples.
  • CLIP_TESTS: Compile tests.
  • CLIP_INSTALL: Generate installation rules for CMake.
  • CLIP_X11_WITH_PNG (only for Linux/X11): Enables support to copy/paste images using the libpng library on Linux.

Who is using this library?

Check the wiki to know what projects are using the clip library.

Projets similaires

Clipboard manager with advanced features

C++clipboardclipboard-managercopyq
Hhluk
12,3 k étoiles603

📋 cross-platform clipboard package that supports accessing text and image in Go (macOS/Linux/Windows/Android/iOS)

Goandroidclipboardclipboard-library
Ggolang-design
863 étoiles83

🎉跨平台的剪贴板管理工具 | Cross-platform clipboard management tool

Rustapplicationclipboardclipboard-manager
EEcoPasteHub
7,5 k étoiles392