Skip to content

Repository files navigation

Clippy Logo

Clippy

A native clipboard manager for GNOME Linux

License: MIT Built with Rust GTK4 libadwaita

Clippy is a lightweight clipboard history manager built natively in Rust using GTK4 and libadwaita. It follows the GNOME Human Interface Guidelines, stores everything locally, and runs quietly in the background.


Features

Feature Description
Clipboard history Captures text and images as you copy, stored locally in SQLite
Live search Filters clipboard history in real time as you type
Pin items Pinned entries survive "Clear All"
Image support Captures and previews images alongside text entries
Global hotkey Configurable system-wide shortcut to toggle the window (default: Super+V)
Drag and drop Drag a clipboard entry directly into another app
Deletion with undo panel Slide-out confirmation before removing an entry
Always on top Optional window pin to keep Clippy above other windows
Theme aware Follows your GNOME light/dark color scheme automatically
Settings panel Configure history limit, hotkey, and autostart from within the app
Autostart Optionally starts with your GNOME session
Local only No cloud, no sync, no telemetry

Screenshots

Clippy – Dark Theme
Dark Theme
Clippy – Light Theme
Light Theme

Tech Stack

Layer Technology
Language Rust
UI toolkit GTK4 via gtk4-rs
Design system libadwaita
Database SQLite via rusqlite
Clipboard access arboard
Image handling image
Hashing sha2
Timestamps chrono
Global shortcut GNOME custom-keybinding gsettings schema

Installation

Prerequisites

Ubuntu / Debian:

sudo apt install libgtk-4-dev libadwaita-1-dev pkg-config build-essential

Fedora:

sudo dnf install gtk4-devel libadwaita-devel pkg-config

Install from Source

git clone https://github.com/CharanMunur/Clippy.git
cd Clippy
./install.sh

This builds a release binary, installs it to ~/.local/bin, and registers the app icon and .desktop launcher. To skip autostart:

./install.sh --no-autostart

To uninstall the source installation:

./uninstall.sh

Debian / Ubuntu (.deb) Package

Download the .deb package from the Releases page, or pull it directly from the terminal using wget:

wget https://github.com/CharanMunur/Clippy/releases/download/v0.1.0/clippy_0.1.0_amd64.deb
sudo apt install ./clippy_0.1.0_amd64.deb
rm clippy_0.1.0_amd64.deb

To uninstall:

sudo apt remove clippy

Fedora / RHEL (.rpm) Package

Download the .rpm package from the Releases page, or pull it directly from the terminal using wget:

wget https://github.com/CharanMunur/Clippy/releases/download/v0.1.0/clippy-0.1.0-1.x86_64.rpm
sudo dnf install ./clippy-0.1.0-1.x86_64.rpm
rm clippy-0.1.0-1.x86_64.rpm

To uninstall:

sudo dnf remove clippy

Running Locally (Development)

cargo run

Run as a background process with no window:

cargo run -- --background

Toggle the window from a terminal or custom shortcut:

cargo run -- --toggle

Project Structure

clippy/
├── src/
│   ├── main.rs       # App entry point, window builder, CSS, menu actions
│   ├── ui.rs         # Row layout, clipboard operations, list rendering
│   ├── settings.rs   # Settings view, autostart toggle, hotkey config
│   ├── hotkey.rs     # GNOME gsettings custom keybinding writer
│   ├── poller.rs     # Background clipboard polling thread
│   └── db.rs         # SQLite schema, CRUD, config store
├── icons/            # Custom symbolic SVG icons
├── assets/           # App icon
├── install.sh
├── uninstall.sh
└── clippy.desktop

Keyboard Shortcuts

Action Shortcut
Toggle Clippy window Super + J (configurable in Settings)
Copy item Left-click on an entry
Pin / unpin item Click the pin icon on an entry
Open item actions Click the menu icon on an entry
Delete item Open actions, then click delete

Configuration

Configuration is stored in the local SQLite database at ~/.local/share/clippy/clippy.db, under a config table. From the Settings panel inside the app you can change:

  • Global hotkey
  • History limit
  • Autostart on login

License

Available under the MIT License.

About

A native clipboard manager for GNOME/Ubuntu, built with Rust, GTK4, and libadwaita. Pin, search, and manage your clipboard history with a fast, system-integrated UI.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages