ropy

StudentWeisMIT活跃维护

用 Rust 和 GPUI 写的跨平台轻量剪贴板管理器,帮你保存和快速找回复制过的历史内容。

Cross-platform, lightweight clipboard manager written in Rust and GPUI.

0.6.2发布于 2026-11-07 14:10 UTC205star +2 / 7 天14fork同步于 2026-11-10 12:04 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
brew install --cask studentweis/tap/ropy
git clone https://github.com/StudentWeis/ropy.git
cargo build --release
硬件要求

README 没有说明硬件要求。

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

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本0.6.2
  1. 0.6.20.6.2 - 2026-11-07最新正式版2026-11-07 · 2026-11-07 14:10 UTC

    Release Notes

    🐛 Bug Fixes

    • Use native x11 focus for popup reactivation (#326) by @StudentWeis in #326
    • Resolve repository audit findings (#324) by @StudentWeis in #324

    🚜 Refactor

    • Streamline features and upgrade windows libraries (#320) by @StudentWeis in #320

    Download ropy 0.6.2

    FilePlatformChecksum
    ropy-aarch64-apple-darwin.tar.xzApple Silicon macOSchecksum
    ropy-x86_64-apple-darwin.tar.xzIntel macOSchecksum
    ropy-x86_64-pc-windows-msvc.zipx64 Windowschecksum
    ropy-aarch64-unknown-linux-gnu.tar.xzARM64 Linuxchecksum
    ropy-x86_64-unknown-linux-gnu.tar.xzx64 Linuxchecksum
  2. 0.6.10.6.1 - 2026-11-032026-11-03 · 2026-11-03 03:51 UTC
    查看更新说明

    Release Notes

    🐛 Bug Fixes

    • Remove duplicate idle update label on about page (#314) by @StudentWeis in #314
    • Propagate history count failures (#309) by @StudentWeis in #309
    • Center about page content (#307) by @StudentWeis in #307
    • Resolve hotkey, file uri and updater audit findings (#305) by @StudentWeis in #305
    • Preserve disabled hotkeys and confirmation focus (#303) by @StudentWeis in #303
    • Preserve selection and reconcile automatic startup (#301) by @StudentWeis in #301
    • Resolve repository audit findings (#299) by @StudentWeis in #299
    • Add visible hover feedback to record actions (#297) by @StudentWeis in #297
    • Address history ordering and update audit findings (#295) by @StudentWeis in #295
    • Correct slider state, text previews, and test lifetimes (#289) by @StudentWeis in #289
    • Keep history mutations responsive and virtualize grid (#287) by @StudentWeis in #287
    • Preserve capture order and responsive desktop interactions (#283) by @StudentWeis in #283

    ⚡ Performance

    • Benchmark and optimize history matching (#293) by @StudentWeis in #293

    ⚙️ Miscellaneous Tasks

    • Upgrade gpui-kit to 0.9.0 (#316) by @StudentWeis in #316
    • Upgrade gpui-kit to 0.8.0 (#285) by @StudentWeis in #285

    Download ropy 0.6.1

    FilePlatformChecksum
    ropy-aarch64-apple-darwin.tar.xzApple Silicon macOSchecksum
    ropy-x86_64-apple-darwin.tar.xzIntel macOSchecksum
    ropy-x86_64-pc-windows-msvc.zipx64 Windowschecksum
    ropy-aarch64-unknown-linux-gnu.tar.xzARM64 Linuxchecksum
    ropy-x86_64-unknown-linux-gnu.tar.xzx64 Linuxchecksum
  3. 0.6.00.6.0 - 2026-10-192026-10-19 · 2026-10-19 09:37 UTC
    查看更新说明

    Release Notes

    🚀 Features

    • Toggle popup from the global hotkey (#279) by @StudentWeis in #279
    • Add custom theme editing and previews (#275) by @StudentWeis in #275
    • Show modified shortcuts and locate conflicts (#273) by @StudentWeis in #273
    • Add history shortcut editor (#271) by @StudentWeis in #271
    • Support configurable history shortcuts (#269) by @StudentWeis in #269
    • Keep macos dock hidden throughout startup (#241) by @StudentWeis in #241
    • Follow system appearance with paired themes (#236) by @StudentWeis in #236
    • Support native wayland popup lifecycle (#234) by @StudentWeis in #234
    • Support wayland sessions and hyprland shortcuts (#218) by @StudentWeis in #218
    • Support self-hosted homebrew cask distribution (#221) by @StudentWeis in #221
    • Add a minimal release benchmark baseline (#212) by @StudentWeis in #212

    🐛 Bug Fixes

    • Float hyprland popups before mapping (#277) by @StudentWeis in #277
    • Address repository audit findings (#263) by @StudentWeis in #263
    • Replace linux appindicator tray with ksni (#257) by @StudentWeis in #257
    • Resolve repository audit findings (#255) by @StudentWeis in #255
    • Resolve audit findings and retire legacy size collection (#253) by @StudentWeis in #253
    • Apply consistent opacity and isolate promo presentation (#248) by @StudentWeis in #248
    • Preserve clipboard confirmation lifecycle (#247) by @StudentWeis in #247
    • Align checks and contributor contracts (#249) by @StudentWeis in #249
    • Enable native window dragging on linux (#243) by @StudentWeis in #243
    • Address audit findings and simplify settings state (#231) by @StudentWeis in #231
    • Protect recovery history and report clipboard failures (#228) by @StudentWeis in #228
    • Preserve audited failure and artifact boundaries (#216) by @StudentWeis in #216
    • Clean failed captures and refresh history in background (#208) by @StudentWeis in #208

    🚜 Refactor

    • Unify board actions and shortcut bindings (#267) by @StudentWeis in #267
    • Pin rust 1.99.1 and adopt recent std idioms (#265) by @StudentWeis in #265
    • Remove cargo-machete (#251) by @StudentWeis in #251
    • Replace custom localization with rust-i18n (#238) by @StudentWeis in #238
    • Centralize native popup control (#232) by @StudentWeis in #232
    • Borrow small images for thumbnails (#210) by @StudentWeis in #210
    • Remove repository-local maintenance skills (#206) by @StudentWeis in #206

    📚 Documentation

    • Clarify native wayland support and validation (#235) by @StudentWeis in [#235](https://github.com/
  4. 0.5.70.5.7 - 2026-10-092026-10-09 · 2026-10-09 13:19 UTC
    查看更新说明

    Release Notes

    🚀 Features

    • Decorate screenshots on a transparent canvas (#202) by @StudentWeis in #202
    • Add coordination and health skills (#192) by @StudentWeis in #192
    • Add staged updates and startup recovery (#190) by @StudentWeis in #190
    • Add reproducible promotional screenshots (#188) by @StudentWeis in #188

    🐛 Bug Fixes

    • Preserve settings and expose startup failures (#200) by @StudentWeis in #200
    • Position clipboard scrollbar in trailing gutter (#196) by @StudentWeis in #196
    • Preserve clipboard data and enforce health checks (#194) by @StudentWeis in #194

    🚜 Refactor

    • Split desktop and core into a cargo workspace (#204) by @StudentWeis in #204
    • Trim unused dependency features (#198) by @StudentWeis in #198

    Download ropy 0.5.7

    FilePlatformChecksum
    ropy-aarch64-apple-darwin.tar.xzApple Silicon macOSchecksum
    ropy-x86_64-apple-darwin.tar.xzIntel macOSchecksum
    ropy-x86_64-pc-windows-msvc.zipx64 Windowschecksum
    ropy-aarch64-unknown-linux-gnu.tar.xzARM64 Linuxchecksum
    ropy-x86_64-unknown-linux-gnu.tar.xzx64 Linuxchecksum
  5. 0.5.60.5.6 - 2026-10-082026-10-08 · 2026-10-08 10:46 UTC
    查看更新说明

    Release Notes

    🚀 Features

    • Add code quality review skill (#156) by @StudentWeis in #156

    🐛 Bug Fixes

    • Recover history and hotkeys after failed operations (#168) by @StudentWeis in #168
    • Resolve repository quality audit findings (#158) by @StudentWeis in #158
    • Open history from tray left-click (#154) by @StudentWeis in #154

    💼 Other

    • Add development makefile (#176) by @StudentWeis in #176

    🚜 Refactor

    • Parallelize checks and restore dist release ownership (#182) by @StudentWeis in #182
    • Adopt and apply official gpui kit guidance (#178) by @StudentWeis in #178
    • Replace prek with hk (#180) by @StudentWeis in #180
    • Migrate to gpui kit 0.7.1 (#174) by @StudentWeis in #174
    • Upgrade to rust 1.99 and improve test diagnostics (#172) by @StudentWeis in #172

    🧪 Testing

    • Document cross-platform gui workflow (#160) by @StudentWeis in #160

    ⚙️ Miscellaneous Tasks

    • Ignore local Codex MCP credentials (#166) by @StudentWeis in #166
    • Remove obsolete CLAUDE files by @StudentWeis

    Download ropy 0.5.6

    FilePlatformChecksum
    ropy-aarch64-apple-darwin.tar.xzApple Silicon macOSchecksum
    ropy-x86_64-apple-darwin.tar.xzIntel macOSchecksum
    ropy-x86_64-pc-windows-msvc.zipx64 Windowschecksum
    ropy-aarch64-unknown-linux-gnu.tar.xzARM64 Linuxchecksum
    ropy-x86_64-unknown-linux-gnu.tar.xzx64 Linuxchecksum

用户点评

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

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

    README 原文

    未翻译

    Features

    • Native desktop application built with Zed's GPUI.
    • Cross-platform support for Windows, macOS, and Linux (X11 and native Wayland), with compositor-dependent clipboard and shortcut capabilities.
    • Tracks text, rich text (HTML/RTF), image, and file path clipboard history with content-based deduplication.
    • Switchable list and grid layout modes for browsing history.
    • Search the loaded history with case-sensitive and whole-word options.
    • Favorite and pin records; automatic cleanup preserves pinned and favorited items.
    • Preview text and images via configurable hover delay or by holding Space.
    • Configurable global hotkey, theme, language, autostart, and confirm mode.
    • System tray integration plus in-app update check, download, and install flow.

    Installation

    Pre-built Binaries

    Download the latest binaries from the Releases page.

    macOS

    Install from the self-hosted Homebrew tap:

    brew install --cask studentweis/tap/ropy
    

    Upgrade with brew upgrade --cask ropy. In-app update checks remain available; installation is managed by Homebrew. For the current unsigned release, this self-hosted Cask automatically removes com.apple.quarantine from the installed Ropy.app. It preserves other extended attributes and does not sign or notarize the app. A cleanup failure stops installation and prints an error. If macOS still blocks launch, review and allow Ropy in System Settings → Privacy & Security.

    After downloading the .dmg file and dragging Ropy.app to the Applications folder, you may need to remove the quarantine attribute to run the application without issues. Open Terminal and run the following commands:

    xattr -r -d com.apple.quarantine /Applications/Ropy.app
    

    If the command reports a permission error, repeat it with sudo.

    Windows

    You can install Ropy using Scoop:

    scoop bucket add extras
    scoop install ropy
    

    [!NOTE] Ropy detects standard Scoop installations and leaves installation to Scoop. Use scoop update ropy; in-app update checks remain available.

    Linux (X11 and Wayland)

    Arch Linux users can build the ropy-bin package using the AUR packaging instructions. The recipe installs official release binaries; check those instructions for publishing and validation steps before assuming AUR availability.

    The current source supports native Wayland windows without XWayland or DISPLAY. This support was added in PR #234; check your release's notes when using a pre-built binary.

    Run ropy --show to open the history window. On Wayland, use the desktop-approved GlobalShortcuts portal, the supported Hyprland integration, or bind ropy --show in your compositor. Tiling compositors may need a floating rule.

    Clipboard capture requires data-control support; automatic paste additionally requires virtual-keyboard support. Native Sway has been tested; GNOME, KDE and Niri have not been individually validated. See the Wayland guide for setup, fallback activation and capability limits.

    Build from source

    Ensure you have Rust installed (via rustup). Then:

    git clone https://github.com/StudentWeis/ropy.git
    cd ropy
    cargo build --release
    ./target/release/ropy
    

    Development commands

    With GNU Make, Bash and awk installed (on Windows, use a compatible shell such as MSYS2), run make or make help to list the development commands. Cargo, rustfmt and Clippy use the stable Rust version and components declared in rust-toolchain.toml; run rustup show active-toolchain to install them.

    make build          # Debug build
    make build-release  # Optimized build
    make run            # Launch the debug application
    make test           # Run tests
    make fmt-check      # Verify Rust formatting
    make precheck       # Format code and run the complete pre-commit gate
    

    Other targets include check, clippy, fmt, doc and clean. make setup runs scripts/init.sh to install development tools and hk Git hooks (hk 2.5+). Install uv first; YAML, TOML and JSON checks use uvx to run pinned parsers. Setup replaces the existing pre-commit hook. Run hk check --all to check files or hk fix --all to fix them. If a commit hook fixes files, review and stage the changes before committing again. The precheck script requires Python 3.11+ and Clippy (rustup component add clippy). Direct Cargo targets support overrides such as make build CARGO="rtk cargo"; script targets use their existing command selection.

    Usage

    • Launch Ropy — it starts hidden in the system tray and begins recording clipboard history.
    • Use the global hotkey or the tray icon to open the history window.
    • Press / to focus search, then refine results with case-sensitive, whole-word, and type filters.
    • Use Up/Down or J/K to move through items, and Enter or 1-5 to confirm a selection.
    • Press Shift+Enter to paste as plain text when a rich-text record is selected.
    • In grid mode, use H/L to move between columns.
    • Hold Space to preview the selected record, press F to favorite it, and Delete or D to remove it.
    • Use row actions to pin records so they are excluded from storage cleanup.
    • Choose between copy_to_clipboard and paste_immediately confirm modes in Settings.

    History shortcuts can be customized in Settings or Help, including disabling individual aliases such as D for deletion.

    Limitations (Not planned)

    • The system clipboard does not expose the original application source for copied items.
    • Plugin/extension system: no current plans — Ropy focuses on simplicity and small footprint.
    • Cloud sync: not supported at this time.
    • Full command-line history management: Ropy is primarily a GUI application; Linux ropy --show opens that GUI.

    Acknowledgements

    • Inspired by clipboard managers such as Ditto, Maccy and CopyQ.
    • Thanks to the Rust community and all upstream projects used by Ropy: GPUI Kit, clipboard-rs, redb and others.

    Star History