/Maccy

Lightweight clipboard manager for macOS

Primary LanguageSwiftMIT LicenseMIT

Logo

Downloads Build Status Donate

Maccy is a lightweight clipboard manager for macOS. It keeps the history of what you copy and lets you quickly navigate, search, and use previous clipboard contents.

Maccy works on macOS Mojave 10.14 or higher.

Features

  • Lightweight and fast
  • Keyboard-first
  • Secure and private
  • Native UI
  • Open source and free

Install

Download the latest version from the releases page, or use Homebrew:

brew install maccy

Usage

  1. SHIFT (⇧) + COMMAND (⌘) + C to popup Maccy or click on its icon in the menu bar.
  2. Type what you want to find.
  3. To select the history item you wish to copy, press ENTER, or click the item, or use COMMAND (⌘) + n shortcut.
  4. To choose the history item and paste, press OPTION (⌥) + ENTER, or OPTION (⌥) + CLICK the item, or use OPTION (⌥) + n shortcut.
  5. To choose the history item and paste without formatting, press OPTION (⌥) + SHIFT (⇧) + ENTER, or OPTION (⌥) + SHIFT (⇧) + CLICK the item, or use OPTION (⌥) + SHIFT (⇧) + n shortcut.
  6. To delete the history item, press OPTION (⌥) + DELETE (⌫).
  7. To see the full text of the history item, wait a couple of seconds for tooltip.
  8. To pin the history item so that it remains on top of the list, press OPTION (⌥) + P. The item will be moved to the top with a random but permanent keyboard shortcut. To unpin it, press OPTION (⌥) + P again.
  9. To clear all unpinned items, select Clear in the menu, or press OPTION (⌥) + COMMAND (⌘) + DELETE (⌫). To clear all items including pinned, select Clear in the menu with OPTION (⌥) pressed, or press SHIFT (⇧) + OPTION (⌥) + COMMAND (⌘) + DELETE (⌫).
  10. To disable Maccy and ignore new copies, click on the menu icon with OPTION (⌥) pressed.
  11. To ignore only the next copy, click on the menu icon with OPTION (⌥) + SHIFT (⇧) pressed.
  12. To customize the behavior, check "Preferences…" window, or press COMMAND (⌘) + ,.

Advanced

Ignore Copied Items

You can tell Maccy to ignore all copied items:

defaults write org.p0deje.Maccy ignoreEvents true # default is false

This is useful if you have some workflow for copying sensitive data. You can set ignoreEvents to true, copy the data and set ignoreEvents back to false.

You can also click the menu icon with OPTION (⌥) pressed. To ignore only the next copy, click with OPTION (⌥) + SHIFT (⇧) pressed.

Ignore Custom Copy Types

By default Maccy will ignore certain copy types that are considered to be confidential or temporary. The default list always include the following types:

  • org.nspasteboard.TransientType
  • org.nspasteboard.ConcealedType
  • org.nspasteboard.AutoGeneratedType

Also, default configuration includes the following types but they can be removed or overwritten:

  • com.agilebits.onepassword
  • com.typeit4me.clipping
  • de.petermaurer.TransientPasteboardType
  • Pasteboard generator type
  • net.antelle.keeweb

You can add additional custom types using preferences or defaults:

defaults write org.p0deje.Maccy ignoredPasteboardTypes -array-add "com.myapp.CustomType"

If you need to find what custom types are used by an application, you can use free application Pasteboard-Viewer. Simply download the application, open it, copy something from the application you want to ignore and look for any custom types in the left sidebar. Here is an example of using this approach to ignore Adobe InDesign.

If you accidentally removed default types, you can restore the original configuration:

defaults write org.p0deje.Maccy ignoredPasteboardTypes -array "de.petermaurer.TransientPasteboardType" "com.typeit4me.clipping" "Pasteboard generator type" "com.agilebits.onepassword" "net.antelle.keeweb"

Speed up Clipboard Check Interval

By default, Maccy checks clipboard every 500 ms, which should be enough for most users. If you want to speed it up, you can change it with defaults:

defaults write org.p0deje.Maccy clipboardCheckInterval 0.1 # 100 ms

FAQ

Why doesn't it paste when I select an item in history?

  1. Make sure you have "Paste automatically" enabled in Preferences.
  2. Make sure "Maccy" is added to System Settings -> Privacy & Security -> Accessibility.

When assigning a hotkey to open Maccy, it says that this hotkey is already used in some system setting.

  1. Open System settings -> Keyboard -> Keyboard Shortcuts.
  2. Find where that hotkey is used. For example, "Convert text to simplified Chinese" is under Services -> Text.
  3. Disable that hotkey or remove assigned combination (screenshot).
  4. Restart Maccy.
  5. Assign hotkey in Maccy settings.

How to restore hidden footer?

  1. Open Maccy window.
  2. Press ⌘, to open preferences.
  3. Enable footer in Appearance section.

If for some reason it doesn't work, run the following command in Terminal.app:

defaults delete org.p0deje.Maccy hideFooter

Motivation

There are dozens of similar applications out there, so why build another? Over the past years since I moved from Linux to macOS, I struggled to find a clipboard manager that is as free and simple as Parcellite, but I couldn't. So I've decided to build one.

Also, I wanted to learn Swift and get acquainted with macOS application development.

License

MIT