Skip to content
jokayePublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

PasteV app icon

PasteV

Instantly open your clipboard history and paste any previous item with a shortcut.

English · 简体中文

macOS 13 or later Swift 5.9 SwiftUI and AppKit MIT License

PasteV clipboard history drawer

PasteV is a fast clipboard-history tool for macOS. Press Command + Shift + V to bring up recent clipboard entries beside the pointer, then choose and paste any item with the keyboard or mouse.

Note

PasteV is currently an early preview. The repository does not yet publish a Developer ID-signed and notarized release.

Features

  • Keyboard first — open PasteV globally with ⌘⇧V, navigate with the arrow keys, and paste with Return or ⌘1–⌘9.
  • Text, images, and audio — retain and restore the clipboard formats used most often in everyday work.
  • Native floating UI — a compact SwiftUI and AppKit drawer opens beside the pointer and stays out of the Dock.
  • Readable text previews — monospaced typography gives copied commands, links, and notes a terminal-like rhythm.
  • Semantic highlighting — dates and times, postal addresses, phone numbers, and email addresses are emphasized without changing the copied text.
  • Local by design — no account, cloud sync, analytics, or networking code; history stays in the current macOS user account.
  • macOS accessibility support — VoiceOver labels, Reduce Motion, and Reduce Transparency are respected.

Requirements

  • macOS 13 Ventura or later
  • Apple Silicon Mac supported by macOS 13+
  • Accessibility permission for automatic pasting; selecting an item still restores it to the clipboard without this permission

Installation

Build from source

PasteV has no third-party runtime dependencies. Install Xcode Command Line Tools or Xcode, then run:

git clone https://github.com/jokaye/pasteV.git
cd pasteV
./scripts/doctor.sh
./scripts/build-app.sh
open dist/PasteV.app

The app is written to dist/PasteV.app and is ad-hoc signed for local development.

Build a DMG

./scripts/build-dmg.sh

The resulting dist/PasteV-<version>.dmg contains the standard drag-to-Applications layout. Before distributing a production build, sign it with a Developer ID certificate and notarize it with Apple.

Preview builds are available on the GitHub Releases page. Unless a release says otherwise, these builds are ad-hoc signed and not notarized.

Usage

  1. Launch PasteV. It runs as a menu-bar utility and does not add a Dock icon.
  2. Copy text, an image, or an audio file in any app.
  3. Press ⌘⇧V. The drawer opens beside the pointer, preferring its right side when space permits.
  4. Choose an item with the mouse, Return, or ⌘1–⌘9.
  5. On first automatic paste, allow PasteV under System Settings → Privacy & Security → Accessibility.

Keyboard shortcuts

Shortcut Action
⌘⇧V Show or hide PasteV
⌘1–⌘9 Paste the corresponding visible item
↑ / ↓ Move the selection
Return / keypad Enter Paste the selected item
Esc Close the drawer

Clicking an item pastes it immediately. Clicking outside the drawer dismisses it.

Privacy and permissions

PasteV reads the system pasteboard so it can maintain clipboard history. It does not upload clipboard content or include networking code.

  • History is stored at ~/Library/Application Support/PasteV.
  • The newest 100 items are retained.
  • A single image or audio payload is limited to 25 MB.
  • Duplicate content is moved to the top instead of stored twice.
  • The trash button in the drawer or Clear History… in the menu-bar menu removes saved text and media after confirmation.
  • Stored history is local but is not encrypted. Do not treat a clipboard manager as a password vault.

Accessibility permission is used only to synthesize Command + V in the previously active app. If permission is denied, PasteV still places the chosen item on the clipboard and explains how to enable automatic pasting.

Development

Validate the environment

./scripts/doctor.sh

The doctor checks the Swift toolchain, macOS SDK, bundle metadata, icon assets, strict compiler settings, and any existing app signature.

Run tests

./scripts/run-smoke-tests.sh

With a complete Xcode installation, the XCTest suite can also be run with:

swift test

Builds treat warnings as errors and enable complete Swift concurrency checking.

Project structure

Path Purpose
Sources/PasteV/App Application lifecycle and menu-bar integration
Sources/PasteV/Services Clipboard monitoring, history persistence, hotkey, panel, and paste coordination
Sources/PasteV/Views SwiftUI drawer and clipboard item presentation
Sources/PasteV/Support Keyboard commands, semantic text detection, and accessibility text
Tests XCTest and standalone smoke coverage
Resources App metadata and icon assets
scripts Environment checks, builds, tests, and DMG packaging

Contributors

  • @jokaye — creator and maintainer

Contributing

Issues and focused pull requests are welcome. Before opening a pull request:

  1. Keep changes small and aligned with the existing SwiftUI/AppKit architecture.
  2. Add or update coverage for behavior changes.
  3. Run ./scripts/doctor.sh and ./scripts/run-smoke-tests.sh.
  4. Include the macOS version and clear reproduction steps for UI or permission-related bugs.

Use GitHub Issues for bug reports and feature proposals.

License

PasteV is released under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages