Clipboard history manager with retro visual (style-like Windows 3.1/95), wrote in C++ with Dear ImGui
- SDL2 + OpenGL.
- Monitors the system clipboard using each operating system's native event system, without constantly polling for changes. As soon as something is copied, the application is notified immediately.
- Windows: uses the operating system's native clipboard events.
- Linux: uses the X11/XFixes event system, working on both X11 and Wayland through XWayland.
- Automatically stores text and images copied to the clipboard. If you copy a screenshot, an image from a website, or any other graphical content, it will appear in the history with a thumbnail preview.
- Simply click any item to copy it back to the clipboard. This works for both text and images, allowing you to paste them into any application as usual.
- Lets you reorder the history by dragging and dropping items with the mouse.
- Items can also be moved using the Up (
^) and Down (v) buttons. - Each entry includes an
Xbutton to remove only that specific item (and its associated image, if applicable). - The CLEAR ALL button removes the entire history after confirmation.
- The complete history, including both text and images, is automatically saved to disk, so nothing is lost when the application is closed.
- Linux:
~/.local/share/clipper/ - Windows:
%APPDATA%\ClipboardRetro\
- Linux:
sudo apt update
sudo apt install -y build-essential cmake git \
libsdl2-dev libgl1-mesa-dev \
libx11-dev libxfixes-dev libxext-dev \
mingw-w64cd clipper
# Dear ImGui (graphical interface)
git clone --depth 1 --branch v1.90.9 https://github.com/ocornut/imgui.git third_party/imgui
# stb_image / stb_image_write (read/write PNG)
mkdir -p third_party/stb
curl -sL -o third_party/stb/stb_image.h \
https://raw.githubusercontent.com/nothings/stb/master/stb_image.h
curl -sL -o third_party/stb/stb_image_write.h \
https://raw.githubusercontent.com/nothings/stb/master/stb_image_write.hcd clipper
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)./clipboard_retrocd clipper
curl -L -o /tmp/sdl2mingw.tar.gz \
https://github.com/libsdl-org/SDL/releases/download/release-2.30.9/SDL2-devel-2.30.9-mingw.tar.gz
mkdir -p mingw-sdl2
tar xzf /tmp/sdl2mingw.tar.gz -C /tmp
cp -r /tmp/SDL2-2.30.9/x86_64-w64-mingw32/* mingw-sdl2/Now, using Minggw toolchain already included in the project:
(mingw-toolchain.cmake):
mkdir build-win && cd build-win
cmake .. -DCMAKE_TOOLCHAIN_FILE=../mingw-toolchain.cmake \
-DSDL2_DIR=../mingw-sdl2/lib/cmake/SDL2 \
-DCMAKE_BUILD_TYPE=Release
make -j$(nproc)Check the LICENSE file.