Skip to content

Digital-Defiance/Kliply

Repository files navigation

Kliply

A powerful clipboard manager for macOS, inspired by Windows' Win+V clipboard history feature.

Platform Swift License

Features

  • πŸ”₯ Global Hotkey: Quick access with Cmd+Shift+V (customizable)
  • πŸ“‹ Smart Clipboard Tracking: Automatically captures text, rich text, images, URLs, and files
  • πŸ” Instant Search: Find any clipboard item instantly
  • 🏷️ Category Filters: Filter by Text, Images, URLs, or Files
  • ⌨️ Keyboard Navigation: Navigate with arrows, select with Enter, close with Esc
  • 🎨 Rich Previews: See formatted text, images, and URL metadata
  • πŸŒ“ Dark Mode: Seamlessly integrates with macOS appearance
  • πŸ”’ Privacy-Focused: All history stored in memory only, no disk writes
  • ⚑ Lightning Fast: Event-driven architecture for instant response
  • 🎯 Smart Paste: Automatically pastes back to the previously focused app
  • πŸ›‘οΈ Exclusion List: Auto-detect and exclude password managers (1Password, LastPass, etc.) and sensitive apps

Changelog

  • v1.0.8

    • App Store Ready: Full sandbox compatibility with Services-based keyboard shortcut
    • Added "Move selected pastes to top" setting (default: true) - selected items move to top of history
    • Services integration for global hotkey in sandboxed environments
    • Improved Settings UI with one-time shortcut setup instructions for App Store version
    • Fixed entitlements for App Store submission (removed rejected temporary exceptions)
    • Sandbox detection with graceful feature adaptation
  • v1.0.7

    • Settings window now floats above other apps/spaces (including fullscreen) for reliable access
    • Improved Exclusions tab: auto-detects password managers/sensitive apps and keeps them out of history
    • Stability tweaks to popup timing and paste reliability
  • v1.0.6

    • Added app exclusions to keep password managers and sensitive apps out of clipboard history
  • v1.0.5

    • Improved paste reliability: longer popup-close delay and app activation timing
    • Switched paste simulation to CGEvent for more dependable Cmd+V
    • Minor script/docs/version updates
  • v1.0.4

    • Version bump and small copy/layout tweaks (Docs/Settings/Hero)
  • v1.0.3

    • Added launch-at-login support via LoginItemManager and Settings toggle
    • Added unit tests and UI polish
    • Version bump
  • v1.0.1

    • App Store prep: signing/entitlements, App Store build scripts
    • Added Privacy Policy and App Store guide
    • Added React/Vite showcase site and Pages deploy workflow
  • v1.0.0

    • Initial release

Installation

Download Release (Recommended)

Download Kliply v1.0.8

The release includes a signed and notarized DMG for easy installation:

  1. Download Kliply.dmg from the GitHub release
  2. Open the DMG and drag Kliply to your Applications folder
  3. Launch Kliply and grant accessibility permissions

πŸŽ‰ Now available on the Mac App Store! (Pending approval)

From Source (For Adventurous Developers)

  1. Clone the repository:
git clone https://github.com/Digital-Defiance/kliply.git
cd kliply
  1. Build and run:
swift build -c release
swift run

First Launch

Direct Download Version: On first launch, Kliply will request accessibility permissions:

  1. Grant permission when prompted
  2. Go to System Settings > Privacy & Security > Accessibility
  3. Enable Kliply
  4. The app will automatically activate

App Store Version: Set up your keyboard shortcut (one-time):

  1. Open System Settings > Keyboard > Keyboard Shortcuts
  2. Select Services > General
  3. Find Show Kliply Clipboard and assign your shortcut (recommended: Cmd+Shift+V)
  4. Use your shortcut from any app to access clipboard history

Usage

Basic Usage

  1. Launch Kliply - It appears as a clipboard icon in your menu bar
  2. Copy anything - Text, images, URLs, or files
  3. Press Cmd+Shift+V - Opens the clipboard history popup
  4. Select an item:
    • Use arrow keys to navigate
    • Press Enter to select
    • Press Esc to close without selecting

Paste Behavior:

  • Direct Download version: Auto-pastes directly into your app (requires accessibility permissions)
  • App Store version: Copies selection to clipboard, then press ⌘V to paste

Keyboard Shortcuts

Shortcut Action
Cmd+Shift+V Open/close popup
↑ / ↓ Navigate items
Enter Select item (auto-paste on Direct Download, copy to clipboard on App Store)
Shift+Enter Select as plain text
Tab Cycle through filters
Delete Remove selected item
Esc Close popup

Search & Filter

  • Search: Type in the search bar to filter items by content
  • Category Filters: Click pills to filter by type (Text, Images, URLs, Files, All)
  • Clear History: Click "Clear" button or use menu bar > Clear History

Settings

Access settings via the menu bar icon:

  • History Depth: Number of items to keep (default: 10)
  • Hotkey: Customize the global keyboard shortcut (or set up Services shortcut for App Store version)
  • Move selected pastes to top: When enabled (default), pasted items move to the top of history
  • Paste Behavior: Always paste as plain text option
  • Preview Options: Toggle image previews
  • Exclusions: Manage apps to exclude from clipboard monitoring
    • Auto-detect password managers (1Password, LastPass, Dashlane, Bitwarden, etc.)
    • Auto-detect sensitive apps (browsers, authenticators, dev tools)
    • Manually add or remove apps by name or bundle ID
    • Clipboard changes from excluded apps are never recorded

System Requirements

  • macOS 13.0 (Ventura) or later
  • Accessibility permissions (required for global hotkeys)

Privacy

Kliply takes your privacy seriously:

  • βœ… All clipboard history stored in memory only
  • βœ… No data written to disk
  • βœ… No analytics or tracking
  • βœ… No network requests except for URL title fetching (optional)
  • βœ… History cleared automatically on app quit

See PrivacyInfo.xcprivacy for details.

Development

See BUILD.md for detailed build instructions and development guide.

Quick Start

# Build
swift build

# Run tests
swift test

# Run the app
swift run

Project Structure

  • Sources/Kliply/ - Main application code
    • Models/ - Data models
    • Services/ - Background services (clipboard, hotkey)
    • ViewModels/ - App state management
    • Views/ - SwiftUI views
  • Tests/ - Unit tests

Roadmap

  • App Store submission - βœ… Submitted!
  • Launch at login option - βœ… Implemented!
  • Automatic updates via Sparkle
  • App exclude list (ignore clipboard from certain apps) - βœ… Implemented!
  • Enhanced VoiceOver support
  • Localization (multiple languages)
  • Export/import history
  • Pin favorite items
  • Sync across devices (iCloud)

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write tests for new features
  4. Ensure all tests pass (swift test)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Troubleshooting

Hotkey doesn't work?

  • Direct Download: Verify accessibility permissions in System Settings, restart Kliply after granting
  • App Store Version: Set up shortcut in System Settings > Keyboard > Keyboard Shortcuts > Services > General > Show Kliply Clipboard

Items not appearing in history?

  • Check that the app is running (icon in menu bar)
  • Ensure history depth setting is not 0

App crashes or freezes?

  • Check Console.app for error logs
  • Report issues on GitHub with crash details

License

MIT License - see LICENSE for details.

Acknowledgments

  • Inspired by Windows 10/11 clipboard history (Win+V)
  • Built with SwiftUI and modern macOS APIs
  • Icon from SF Symbols

Support


Made with ❀️ for macOS