EasyClip

test Lines of Code

Crystal module for clipboard interaction.

Installation

Add to shard.yml:

dependencies:
  easyclip:
    github: kojix2/easyclip

Run shards install

Usage

require "easyclip"

# Copy 'text' to clipboard
EasyClip.copy("text")

# Paste text from the clipboard
str = EasyClip.paste

Linux

Detects the current session and available tools at runtime:

Install what fits your session, e.g. sudo apt install wl-clipboard xclip xsel.

Commands come from a fixed allowlist, run without a shell, and receive text via stdin.

macOS

Uses the native NSPasteboard API directly. It does not spawn pbcopy or pbpaste.

Windows

Uses the native Win32 clipboard API (CF_UNICODETEXT): no child process, no trailing-newline quirk. WSL runs as a Linux binary and uses the Linux fallbacks above instead.

Contributing

  1. Fork (https://github.com/kojix2/easyclip/fork)
  2. Feature branch (git checkout -b new-feature)
  3. Commit (git commit -am 'Add feature')
  4. Push (git push origin new-feature)
  5. Pull request

License

MIT