clipmenu

cdownMIT更新放缓

用 dmenu 管理剪贴板历史的小工具,C 语言编写,轻量简洁,适合喜欢 suckless 风格、想快速翻找和粘贴历史内容的用户。

Clipboard management using dmenu

暂无版本1,257star93fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
make install
硬件要求按 README 说明

README 未说明;运行于 X11 环境,需已安装 dmenu、rofi 或 fzf 之一作为选择界面。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 dmenu/rofi 选历史剪贴板条目的轻量 X11 剪贴板管理器

用 dmenu 管理剪贴板历史的小工具,C 语言编写,轻量简洁,适合喜欢 suckless 风格、想快速翻找和粘贴历史内容的用户。

核心能力

  • 用 XFixes 被动监听 PRIMARY/CLIPBOARD/SECONDARY 变化,不轮询
  • 按哈希命名存储并索引剪贴记录,默认保留 1000 条
  • 支持 dmenu、rofi、fzf 等 dmenu 兼容启动器
  • 可配置去重、忽略密码管理器等应用的复制内容
  • 提供 clipdel/clipdelmenu 删除与 clipctl 开关监控

容易踩的坑

需先启动 clipmenud 守护进程,否则 clipmenu 无历史可选;用 startx/xinit 配合 systemd 用户服务时需确保 $DISPLAY 已导入,否则 clipmenud 找不到 X server;clipmenu 会把参数透传给 dmenu,自定义启动器时可能需在 clipmenu.conf 中设 launcher_pass_dmenu_args 为 0。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    clipmenu is a simple clipboard manager using dmenu, rofi or similar.

    Demo

    Demo

    Usage

    clipmenud

    Start clipmenud, then run clipmenu to select something to put on the clipboard. For systemd users, a user service called clipmenud is packaged as part of the project.

    If you start X via startx/xinit and use the systemd user service, make sure $DISPLAY is set so clipmenud knows which X server to use. Most distributions include scripts in /etc/X11/xinit/xinitrc.d/ for this, so if they are present you can usually just source them in your ~/.xinitrc. Alternatively, before launching the clipmenud service, run:

    systemctl --user import-environment DISPLAY
    

    clipmenu

    You may wish to bind a shortcut in your window manager to launch clipmenu.

    All args passed to clipmenu are transparently dispatched to dmenu. That is, if you usually call dmenu with args to set colours and other properties, you can invoke clipmenu in exactly the same way to get the same effect, like so:

    clipmenu -i -fn Terminus:size=8 -nb '#002b36' -nf '#839496' -sb '#073642' -sf '#93a1a1'
    

    By default, clipmenu also adds dmenu-compatible defaults such as -p and -l. If that gets in the way for a custom launcher, set launcher_pass_dmenu_args to 0 in clipmenu.conf.

    For a full list of configuration options (and their environment variable equivalents), please see man clipmenu.conf.

    There is also clipdel to delete clips, clipdelmenu for interactive deletion, and clipctl to enable or disable clipboard monitoring.

    Features

    The behaviour of clipmenud can be customised through a config file. As some examples of things you can change:

    • Customising the maximum number of clips stored (default 1000)
    • Disabling clip collection temporarily with clipctl disable, reenabling with clipctl enable
    • Deduplicating repeated clips so only the newest remains
    • Not storing clipboard changes from certain applications, like password managers
    • Taking direct ownership of the clipboard
    • ...and much more.

    See man clipmenu.conf to view all possible configuration variables and what they do.

    Supported launchers

    Any dmenu-compliant application will work, but here are CM_LAUNCHER configurations that are known to work:

    • dmenu (the default)
    • fzf
    • rofi

    Installation

    Several distributions, including Arch and Nix, provide clipmenu as an official package called clipmenu.

    Manual installation

    If your distribution doesn't provide a package, you can manually install using make install (or better yet, create a package for your distribution!).

    How does it work?

    clipmenud

    1. clipmenud passively monitors X11 clipboard selections (PRIMARY, CLIPBOARD, and SECONDARY) for changes using XFixes (no polling).
    2. If clipmenud detects changes to the clipboard contents, it writes them out to storage and indexes using a hash as the filename.

    clipmenu

    1. clipmenu reads the index to find all available clips.
    2. dmenu (or another configured launcher) is executed to allow the user to select a clip.
    3. After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.