Skip to content

Kohei-Wada/fclip

Repository files navigation

fclip

A fast, keyboard-driven clipboard manager for Windows built with Tauri (Rust + React). Designed to replace bloated clipboard tools with a minimal, fzf-style experience.

fclip screenshot

fclip demo

Overview

fclip runs in the system tray and silently monitors your clipboard. Press a hotkey to instantly summon a fuzzy-search popup — type a few characters, hit Enter, and the selected item is copied to your clipboard. No mouse required.

Features

  • Fuzzy search across full clipboard history (fzf algorithm)
  • Keyboard-only workflow (hotkey → search → Enter to select)
  • Pin entries with labels to keep them from being pruned
  • Configurable hotkey and keybindings
  • Light/dark theme support (with OS theme detection)
  • Persistent history across restarts (SQLite)
  • Event-driven clipboard monitoring (no polling)
  • Skips clipboard content larger than 100KB
  • System tray with double-click to toggle

Tech Stack

Layer Technology
Frontend React + TypeScript (Vite)
Backend Rust (Tauri v2)
Clipboard monitoring clipboard-master (WM_CLIPBOARDUPDATE events)
Clipboard read/write clipboard-win
Fuzzy search fuzzy-matcher
Storage SQLite via rusqlite (WAL mode, optimized PRAGMAs)
Config TOML (%APPDATA%\fclip\config.toml)

Getting Started

Prerequisites

Development

npm install
npm run dev

Build

npm run build

Other Commands

npm test          # Run Rust tests
npm run check     # Compile check only
npm run lint      # Run clippy + tsc
npm run clean     # Remove build artifacts

Usage

  1. fclip starts in the system tray
  2. Press Ctrl+Shift+V (default) to open the search window
  3. Type to fuzzy-search your clipboard history
  4. Press Enter to copy the selected item to clipboard
  5. Double-click the tray icon to toggle the window

Default Keybindings

Key Action
Enter Select item (copy to clipboard)
Escape Close window
Ctrl+n / Ctrl+j Next item
Ctrl+p / Ctrl+k Previous item
Ctrl+d Delete item
Ctrl+f Pin/unpin item (with label)
Ctrl+h Backspace in search
Ctrl+t Toggle light/dark theme
Ctrl+e Open config file
Ctrl+? Toggle help overlay

Configuration

Create %APPDATA%\fclip\config.toml to customize (see examples/config.toml):

[hotkey]
open = "Ctrl+Shift+V"

[behavior]
max_history = 1000

[theme]
mode = "system"              # "dark", "light", or "system" (follows OS)

[keybindings]
select = "Enter"
close = "Escape"
delete = "Ctrl+d"
next = "Ctrl+n,Ctrl+j"      # comma-separated for multiple bindings
prev = "Ctrl+p,Ctrl+k"
backspace = "Ctrl+h"
clear = "Ctrl+u"
toggle_theme = "Ctrl+t"
help = "Ctrl+?"
open_config = "Ctrl+e"

Architecture

OS Clipboard
    ↓ WM_CLIPBOARDUPDATE event
Rust backend — clipboard-master → dedup (SHA-256) → SQLite (WAL)
    ↓ Tauri IPC
React frontend — fuzzy-matcher → ranked list → select on Enter

License

MIT

About

A keyboard-first clipboard manager for Windows with an fzf-style interface, designed for Vim users.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors