easyclip v0.2.0

Easy copy and paste for Crystal

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:

  • Wayland: wl-copy / wl-paste, then X11/XWayland fallbacks
  • X11 copy: xsel
  • X11 paste: xclip, then xsel
  • WSL: clip.exe (copy), powershell.exe (paste)
  • Termux: termux-clipboard-set / termux-clipboard-get

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

Repository

easyclip

Owner
Statistic
  • 2
  • 0
  • 1
  • 6
  • 0
  • 9 days ago
  • November 20, 2023
License

MIT License

Links
Synced at

Fri, 19 Jun 2026 00:37:41 GMT

Languages