Skip to main content

A lightweight clipboard manager for Wayland and X11

Project description

Clipy - Python Clipboard Manager

Clipy is a simple clipboard manager written in Python that is designed to be piped into rofi, dmenu, or fzf.

Dependencies

  • Python 3
  • Wayland: wl-clipboard
  • X11: xclip

Features

  • Wayland Support: Uses wl-paste --watch for efficient monitoring.
  • X11 Support: Uses polling with xclip.
  • Image Support: Automatically detects and caches images.
  • Database: Stores history in ~/.local/share/clipy/clipy.db.

Installation

git clone https://github.com/andriy-git/clipy
cd clipy
./setup.sh

This will install the clipy command to ~/.local/bin. Ensure ~/.local/bin is in your $PATH.

Alternatively, install as a Python package:

pip install .

This will provide the clipy command directly.

Usage

1. Start the Daemon

Run the daemon in the background to watch for clipboard changes.

clipy daemon &

Add this to your startup script (e.g., ~/.config/sway/config or ~/.xinitrc).

Systemd Service

You can also run Clipy as a user systemd service. Create ~/.config/systemd/user/clipy-daemon.service:

[Unit]
Description=Clipboard history daemon

[Service]
ExecStart=%h/.local/bin/clipy daemon
Restart=on-failure

[Install]
WantedBy=default.target

Then enable and start it:

systemctl --user daemon-reload
systemctl --user enable --now clipy-daemon.service

2. Status & Management

clipy status
clipy clear        # Clear all history
clipy clear '^.{1,3}$'  # Clear entries between 1-3 characters

3. Integrated Pickers

Clipy comes with built-in support for popular search tools. You can run them directly:

  • fzf: clipy fzf (Supports live search, delete with Ctrl+d, and outputs selection to stdout)
  • Rofi: clipy rofi (Supports select and delete with Ctrl+d, restores to clipboard)
  • dmenu: clipy dmenu (Restores to clipboard)

[!TIP] You can use clipy fzf in command substitutions, e.g., $(clipy fzf) to execute or capture the selection.

4. Neovim Integration (Telescope)

The Telescope integration is available as a Lua script in the scripts/ directory.

To use it, run clipy telescope for setup instructions or add this to your Neovim config:

local clipy = require('clipy-telescope') -- Or path in subfolder
clipy.setup({ clipy_path = "clipy" }) -- Path to the clipy command
vim.keymap.set('n', '<leader>c', clipy.clipboard_history, { desc = "Clipy Clipboard History" })

[!NOTE] You must add the scripts/ directory to your Neovim runtimepath or copy clipy-telescope.lua to your lua folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipy_manager-0.1.1.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clipy_manager-0.1.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file clipy_manager-0.1.1.tar.gz.

File metadata

  • Download URL: clipy_manager-0.1.1.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for clipy_manager-0.1.1.tar.gz
Algorithm Hash digest
SHA256 83b36d5504123bd5ae799ed0dc3de1a733949a0f8a214b8cabb7f8a53ec1205c
MD5 472db3c20fed18b6073ef379be9174b8
BLAKE2b-256 c8f7847f37e58c76230a6a8f6118de9151aba5ee6ca6b91f76fd9efdff5ec329

See more details on using hashes here.

File details

Details for the file clipy_manager-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: clipy_manager-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for clipy_manager-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c28bbfb8a5de936d509faeec48f9f79e1d08f9eaf67e7ac8676bae94b43dbe3f
MD5 b96b841b752e62ae241e9569e6b1effc
BLAKE2b-256 83b2188e9d2d7c545cb453da7e84710ad48fef3e5af7491ba2f96d1ec610a596

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page