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

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.0.tar.gz (24.2 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.0-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clipy_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 24.2 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.0.tar.gz
Algorithm Hash digest
SHA256 08e942310f037b8ac9339baa42f03f2d74bbc66dc10915fb3dea658fb3be59ad
MD5 092d67f67d030c02614ef61b1d8763e0
BLAKE2b-256 77792d15faa6e869247471c16004103bbc4e7d010884210914d9266bcf3b6dcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clipy_manager-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 affbe8c3362cad8c098f3f3aced51e9ef27e40c988323badc3feb2d69c8b6638
MD5 c574eef5959122aae2028be59255951a
BLAKE2b-256 ba88e9faf5240f72c516c9c4e2ced04b182847348e73e298b04239a3dad3c8aa

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