SUPERCILEX / clipboard-history

Ringboard—the clipboard manager for Linux
Apache License 2.0
164 stars 5 forks source link
cli clipboard clipboard-history clipboard-manager gui linux ringboard rust tui wayland x11

Ringboard

Ringboard is a fast, efficient, and composable clipboard manager for Linux.

Basic features:

Differentiators:

A detailed technical breakdown of the project is available at https://alexsaveau.dev/blog/ringboard.

Demo

A screenshot demo-ing the various clients.

Installation instructions

Note: Ringboard is Linux-only and requires a relatively recent Kernel (6+).

The easiest way to get going is to install cargo with nightly and then run the installation script for systemd:

rustup install nightly # If not already installed
curl -s https://raw.githubusercontent.com/SUPERCILEX/clipboard-history/master/install-with-cargo-systemd.sh | bash

Additionally, consider using https://github.com/nabijaczleweli/cargo-update to update your cargo apps or re-run the installation script whenever you need to update.

Manual installation

Common core

You'll need the server, an X11 or Wayland clipboard watcher, and a way to view your clipboard:

  1. Install the server from source with cargo install clipboard-history-server --no-default-features --features systemd or download a prebuilt binary.
  2. Determine whether you are using Wayland or X11 with bash -c 'echo $XDG_SESSION_TYPE':
    1. If on Wayland, install from source with cargo install clipboard-history-wayland --no-default-features (prebuild binaries are also available as before).
    2. If on X11, install from source with cargo install clipboard-history-x11 --no-default-features.
  3. Install a client of your choice:
    • egui: cargo install clipboard-history-egui --no-default-features --features wayland/x11
    • ratatui: cargo install clipboard-history-tui
    • CLI: cargo install clipboard-history
  4. Add a custom shortcut to start your GUI. See the egui docs for example.

For systemd

Install the server and X11 or Wayland services into ~/.config/systemd/user and enable them: systemctl --user enable ringboard-{wayland,x11}.

For framework-less systems

You'll need to start the Ringboard server and X11/Wayland clipboard watcher on boot.

Migrating from existing clipboard managers

Tooling is provided to migrate from other clipboard managers. Run:

Project breakdown

Each submodule contains its own README with details on the submodule.