A slightly smart clipboard tool - leverage the filesystem to persist across machines after shutdown.

Related tags

Command-line clipd
Overview

clipd

A slightly smart clipboard using the filesystem under ~/.clipd to persist after shutdown.

cowsay "clipd is great" | clipd copy
clipd paste
 _________________
< clipd is great! >
 -----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Currently clipd ("clipped") is only implemented for Linux. It can listen to your system clipboard so that you never loose a clipping and since it uses the filesystem it allows you to easily sync your clippings across different machines using something like syncthing.

Installation

Debian

curl -s --compressed "https://Mulac.github.io/ppa/KEY.gpg" | sudo apt-key add -
sudo curl -s --compressed -o /etc/apt/sources.list.d/forbidden.list "https://Mulac.github.io/ppa/forbidden.list"
sudo apt update
sudo apt install clipd

From Source

git clone https://github.com/Mulac/clipd.git
cd clipd
cargo install --path .

This will install 2 binaries: clipd and clipdaemon.

  • clipdaemon will listen to your system clipboard and save everything in "sys" container.
  • clipd is a command line tool to interface with the "~/.clipd" directory, see examples.

Systemd

⚠️ Encryption is not yet implemented - please use with care especially if you are coping sensitive data.

To automatically launch the clipdaemon on login the systemd service manager can be used. Simply setup the user service file for your system or use the make target:

make systemd

Containers

Containers are namespaces used to organize your clippings. In the literal sense, a container is a directory within "~/.clipd" and is where all your clippings are stored.

When no container is provided to clipd, it will use the "default" container.

clipdaemon sends all clippings to the "sys" container.

Examples

Copy from system clipboard (ctrl-c)

clipd copy

clipd c

Paste the last thing you copied

clipd paste

clipd p

clipd

Paste using an index key

clipd c "first thing"
clipd c "second thing"
clipd c "third thing"
clipd 0
clipd 1
clipd 2 

Output:

third thing
second thing
first thing

Use a custom key

clipd phone c "+44789564264" 
clipd phone

Output:

+44789564264

Use custom containers

clipd --container gcp c $PROJECT_ID
clipd --container gcp

Output:

your-project-id

Sneak peek a container

clipd show

Output:

╭───┬──────────┬─────────────┬──────────────╮
│   │    ID    │ Custom Keys │    Value     │
├───┼──────────┼─────────────┼──────────────┤
│ 0 │ b8cb2c17 │  ["phone"]  │ +44789564264 │
│ 1 │ 79c5812b │     []      │ third thing  │
│ 2 │ 8195e95a │     []      │ second thing │
│ 3 │ cd4ab4a3 │     []      │ first thing  │
╰───┴──────────┴─────────────┴──────────────╯

Roadmap

  • Improve clipd show
    • show the container name in the table view
    • only show information about one clipping if a specific key is given
  • Encrypt clippings stored at rest
  • Improve error handling
  • Add support for Windows, OSX and Wayland
You might also like...
🦀 Stupid simple presentation of the number of words, characters and lines on your clipboard.

clipcount: Counting words from the clipboard content Why does this exist? Do you find yourself often needing to count the number of words in a piece o

Run your Rust CLI programs as state machines with persistence and recovery abilities

step-machine Run your CLI programs as state machines with persistence and recovery abilities. When such a program breaks you'll have opportunity to ch

Send files between machines - no installation required!

skicka.pwy.io:99 Skicka (from Swedish send) allows to send files between machines - no installation required! Transmitting a file is as easy as piping

A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.
A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.

Visual Assembly Canvas A highly visual assembly editor, infinite canvas for wiring blocks and machines together, bytecode virtual machine runnable nat

A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.
A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.

Visual Assembly Canvas A highly visual assembly editor, infinite canvas for wiring blocks and machines together, bytecode virtual machine runnable nat

fd is a program to find entries in your filesystem. It is a simple, fast and user-friendly alternative to find
fd is a program to find entries in your filesystem. It is a simple, fast and user-friendly alternative to find

fd is a program to find entries in your filesystem. It is a simple, fast and user-friendly alternative to find. While it does not aim to support all of find's powerful functionality, it provides sensible (opinionated) defaults for a majority of use cases.

This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files
This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

Quickly find all blackhole directories with a huge amount of filesystem entries in a flat structure
Quickly find all blackhole directories with a huge amount of filesystem entries in a flat structure

findlargedir About Findlargedir is a tool specifically written to help quickly identify "black hole" directories on an any filesystem having more than

Provides filesystem access for the Rhai scripting language.

About rhai-fs This crate provides filesystem access for the Rhai scripting language. Usage Cargo.toml [dependencies] rhai-fs = "0.1.2" Rhai script //

Owner
Robots are cool
null
A community fork of a language named after a plant fungus

A community fork of a language named after a plant fungus. All of the memory-safe features you love, now with 100% less bureaucracy!

null 1.9k Apr 20, 2023
A simple TTS tool for Windows that reads directly from the clipboard.

Quick Text-To-Speech A simple TTS tool for Windows that reads directly from the clipboard or from textfiles that are dragged into the window. Screensh

Alexander 3 May 1, 2023
A lightweight terminal tool to manage processes in Unix machines.

TTV v0.0.1 TTV (term-task-viewer) is a lightweight tool to view and manage active processes in Unix machines. It provides an easy interface with vim-l

Caio Ishikawa 9 Aug 29, 2023
Sleek is a CLI tool for formatting SQL. It helps you maintain a consistent style across your SQL code, enhancing readability and productivity.

Sleek: SQL Formatter ✨ Sleek is a CLI tool for formatting SQL. It helps you maintain a consistent style across your SQL code, enhancing readability an

Nick Rempel 40 Apr 20, 2023
Web-based tool that allows browsing and comparing symbol and type information of Microsoft Windows binaries across different versions of the OS.

WinDiff About WinDiff is an open-source web-based tool that allows browsing and comparing symbol and type information of Microsoft Windows binaries ac

Erwan Grelet 208 Jun 15, 2023
Lightweight command line tool to quickly navigate across folders.

slingshot 0.3.0 Slingshot is a lightweight tool to browse files in the terminal. It allows the user to quickly filter through files in any directory,

Caio Ishikawa 40 Sep 17, 2023
A CLI utility to secretly copy secrets to your clipboard. 🦀

seclip ?? ?? A CLI utility to secretly copy secrets to your clipboard. ?? Table of Contents Features Installation Usage Build From Source Contribution

Mufeed VH 34 Dec 27, 2022
Save image from your clipboard 📋 as an image file directly from your command line! 🔥

Clpy ?? Save copied image from clipboard as an image file directly from your command line! Note It works only on windows as of now. I'll be adding sup

Piyush Suthar 13 Nov 28, 2022
Simple cli clipboard manager written in rust

Simple cli clipboard manager written in rust

null 5 Nov 13, 2022
A system clipboard command line tools which inspired by pbcopy & pbpaste but better to use.

rclip A command line tool which supports copy a file contents to the system clipboard or copy the contents of the system clipboard to a file. Install

yahaa 3 May 30, 2022