/Clipboard

📋 Cut, copy, and paste anything, anywhere, all from the terminal. Quick, easy, and pretty.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Clipboard Banner

Clipboard is a power tool that saves you time and effort. Previously, you've always had to think about where exactly you want to move text and files. This increases your mental workload and makes some scenarios simply impractical. Now, you can have a unified clipboard to use anywhere in the command line, just as if you were using a GUI.

  • Quick. Zero configuration needed to use.
  • Easy. Friendly to newbies and power users alike.
  • Compatible. Works on any system that supports C++20. Really!
  • Unified. Functions exactly the same everywhere.
  • Universal. Supports English, Spanish, Portuguese, and Turkish.
  • Integrated. Connects with many native GUI clipboards.
  • Tiny. Mere tens of kilobytes in size.

Clipboard Demo Image Quick Installation

All Except Windows

curl -sSL https://github.com/Slackadays/Clipboard/raw/main/src/install.sh | bash

Windows

Invoke-WebRequest -UseBasicParsing https://github.com/Slackadays/Clipboard/raw/main/src/install.ps1 | powershell

Install Manually

Get the latest release instead by adding --branch 0.2.1r2 right after git clone.... Change the installation prefix by adding -DINSTALL_PREFIX=/CUSTOM/PREFIX to cmake ...

git clone https://github.com/slackadays/Clipboard 
cd Clipboard/build
cmake -DCMAKE_BUILD_TYPE=MinSizeRel ..
cmake --build .
cmake --install .

Uninstall

Remove all the files in install_manifest.txt. If you're not using Windows, you can also do xargs rm < install_manifest.txt.


Premade Builds

Packaging status

You can also download Clipboard directly from GitHub Actions.

How To Use

In all commands, you can substitute cb for clipboard. Add a number to the end of the action to choose which clipboard you want to use (the default is 0) or _ to use a persistent clipboard.


Copy   clipboard ([--]copy|[-]cp)[(num)|_(id)] (file) [files]


Cut   clipboard ([--]cut|[-]ct)[(num)|_(id)] (file) [files]


Paste   clipboard ([--]paste|[-]p)[(num)|_(id)]


Pipe In   (something) | clipboard [([--]copy|[-]cp)][(num)|_(id)]


Pipe Out   clipboard [([--]paste|[-]p][(num)|_(id)] | (something) or clipboard [([--]paste|[-]p)][(num)|_(id)] > (some file)


Show Contents   clipboard ([--]show|[-]sh)[(num)|_(id)]


Clear Contents   clipboard ([--]clear|[-]clr)[(num)|_(id)]


Examples

cb copy foo.txt launchcodes.doc
clipboard cut1 MyDirectory
cb cp800 bar.conf AnotherDirectory baz.txt

Simple Configuration

Environment Variables

CI   Set this to make Clipboard overwrite existing items without a user prompt when pasting. This variable is intended for Continuous Integration scripts where a live human is not present to make decisions.


FORCE_COLOR   Set this to make Clipboard always show color regardless of what you set NO_COLOR to.


TMPDIR   Set this to the directory that Clipboard will use to hold the items you cut or copy into a temporary directory. Other programs use TMPDIR as well, so be careful about changing this.


CLIPBOARD_TMPDIR   Set this to the directory that only Clipboard will use to hold the items you cut or copy into a temporary directory.


CLIPBOARD_PERSISTDIR   Set this to the directory that only Clipboard will use to hold the items you cut or copy into a persistent directory.


CLIPBOARD_ALWAYS_PERSIST   Set this to make Clipboard always use persistent clipboards.


CLIPBOARD_NOGUI   Set this to disable integration with GUI clipboards.


NO_COLOR   Set this to make Clipboard not show any colors.


Flags

--fast-copy, -fc   Add this to use links when copying, cutting, or pasting. If you modify the items that you used with this flag, then the items you paste will have the same changes.

Need More Help?

Go to the Clipboard Wiki for more information, or join our Discord group! Discord Support