Skip to content

Clipboard

P3DROVFX edited this page Oct 12, 2026 · 1 revision

Clipboard Manager

A searchable, previewable clipboard history for text, links and images, with pinning, smart per-type actions, automatic retention, and quick paste. It is built on cliphist (the store) and wl-clipboard (the Wayland copy/paste tools); the shell provides the panel, the detectors, the pinning and the retention policy.

Quick start

  • Super + V opens the clipboard panel (inside the launcher: it is the ; panel — Launcher & Search). Type to filter, Enter or double-click to paste.
  • If the shell isn't running, the same bind falls back to a plain fuzzel list, so history stays reachable.
  • Everything you copy is stored automatically by three wl-paste --watch helpers started with the session (text, images, and text/uri-list file copies); each one pokes the shell over IPC (cliphistService update) so the panel and the island know instantly. wl-clip-persist keeps your clipboard alive after the app you copied from closes (optional feature clipboard-persist).

The panel

A two-pane layout (a list on the left, a preview and details on the right):

  • Filter chips — All, Images, Colors, Links, Numbers, JSON, Emails, Phones, Files, Markdown, Text, each with a count, plus a count of items and a Clear button (press again to confirm).
  • Search — fuzzy matching (search.clipboard.enableSloppySearch, off; the Levenshtein algorithm if you selected it for the launcher).
  • Rows show a glyph and a one-line summary: image dimensions, a link's domain, Pinned.
  • Preview — images at a configurable height, text in a chosen font size, hex colours as a swatch, and a metadata panel with type, MIME, size, when it was copied and a hash.
  • Actions — Copy, Paste (copies and sends Ctrl+V to the previous window with wtype, after a short delay so the window has regained focus), Pin / Unpin, Delete, and a context-sensitive smart action depending on what it recognised:
Detected Smart action
Image Open Image
File path Open File
Link Open Link (and the domain as the summary)
Email Send Email
Phone Call Number
JSON Format JSON
Markdown Copy Plain
Number Copy Clean
Long text Read with Teleprompter (Teleprompter)

Pinning

Pinned entries are kept in the shell's own persistent state (not only in cliphist), so they are always preserved — by retention, by "clear unpinned" and by the shutdown wipe. A pinned image that cliphist has purged can't be pasted any more (the shell warns in its log instead of pasting nothing).

Retention and privacy

Settings → Launcher → Clipboard (a sub-page reached from the launcher page; the hidden clipboard page id also deep-links to it):

Option (search.clipboard.*) Default Meaning
autoDelete.enable false Delete unpinned entries older than the retention
autoDelete.retentionDays 30 7, 30 or 90 days. cliphist doesn't expose dates, so counting starts when you enable this — the shell remembers when it first saw each entry
autoDelete.wipeOnShutdown false Remove unpinned entries during a clean Quickshell shutdown
Clear unpinned clipboard history now — A two-press button
panelWidth, listColumnRatio, imageHeight, previewFontSize, showMetadata 860 px, 0.40, 200 px, 12 pt, on Panel layout
detectors.* all on Per-type detection: colour, URL, email, phone, JSON, lines, number, markdown, file path — each gets its own colour and preview

Related: Settings → Privacy & Content → Work Safety & Policies → Hide clipboard images (workSafety.enable.clipboard, off): while you're connected to a network whose name contains one of the configured keywords (cafe, public, school, guest, eduroam…), image entries in the launcher's clipboard search results are blurred when an adjacent entry matches the unsafe-link keywords. The launcher also has /wipeclipboard and /superpaste N (type /superpaste 4, or 4i for the last four images) which pastes your last N clipboard entries in order, one Ctrl+V after another.

Clipboard in the island

A new copy flashes a clipboard notch in the Dynamic Island for 2.5 seconds (dynamicIsland.widgets.clipboard), with a 400 ms cooldown because one copy often reaches cliphist through several MIME watchers. It only reacts to a new entry (an entry with a higher id and different content), not to the list being re-read — so unlocking the session, which re-advertises the selection, doesn't trigger it. A copy made from the phone mirror is labelled as coming from the phone (Phone Integration, which can also sync clipboards in both directions: phone.scrcpy.clipboardSync).

Under the hood

Piece Role
services/Cliphist.qml Store access, classification, copy / paste / superpaste, pinning, retention, cliphistService IPC
modules/ii/overview/ClipboardPanel.qml, overview/clipboard/ The panel and its filter chips
modules/settings/configs/ClipboardConfig.qml Settings (detectors, layout, retention)
dots/.config/hypr/hyprland/execs.lua The wl-paste --watch helpers and wl-clip-persist
modules/ii/dynamicIsland/core/sources/ClipboardSource.qml Island notch

Related pages

← Back to Home

Clone this wiki locally