/CopyQ

Clipboard manager with advanced features

Primary LanguageC++GNU General Public License v3.0GPL-3.0

CopyQ

Translation Status Build Status Windows Build Status Coverage Status

CopyQ is advanced clipboard manager with editing and scripting features.

Overview

CopyQ monitors system clipboard and saves its content in customized tabs. Saved clipboard can be later copied and pasted directly into any application.

Items can be:

  • edited with internal editor or with preferred text editor,
  • moved to other tabs,
  • drag'n'dropped to applications,
  • marked with tag or a note,
  • passed to or changed by custom commands,
  • or simply removed.

Features

  • Support for Linux, Windows and OS X 10.9+
  • Store text, HTML, images or any other custom formats
  • Quickly browse and filter items in clipboard history
  • Sort, create, edit, remove, copy/paste, drag'n'drop items in tabs
  • Add notes or tags to items
  • System-wide shortcuts with customizable commands
  • Paste items with shortcut or from tray or main window
  • Fully customizable appearance
  • Advanced command-line interface and scripting
  • Ignore clipboard copied from some windows or containing some text
  • Support for simple Vim-like editor and shortcuts
  • Many more features

Install and Run

To install CopyQ, use binary package or installer provided for your system or follow instructions in INSTALL to build the application.

To start CopyQ run copyq command without parameters. The application main window is accessible by clicking on system tray icon or running copyq toggle.

To exit the application select Exit from tray menu or press Ctrl-Q keys in the application window.

Developers and Translators

If you want to help with translating, fixing or writing code read HACKING file.

Dependencies

To build and run the application you'll need Qt library. To compile on OS X, you will need at least Qt 5.2.

Optional dependency is QtWebKit which enables the application to use advanced HTML rendering and fetching remote images and other data. This is available through ItemWeb plugin.

Additionally X11 requires XFixes extension to be installed (fixes some clipboard issues).

Optional dependency for X11 is XTest extension (Ubuntu package libxtst6 and libxtst-dev for compilation). This is needed for some applications like gedit so that automatic pasting works correctly.

Keyboard navigation

  • PgDown/PgUp, Home/End, Up/Down

    item list navigation

  • Left, Right, Ctrl+Tab, Ctrl+Shift+Tab

    tab navigation

  • Ctrl+Up, Ctrl+Down

    move selected items

  • Ctrl+Left, Ctrl+Right

    cycle through item formats

  • Escape

    hide window

  • Ctrl+Q

    exit

  • F2

    edit selected items (in place)

  • Ctrl+E

    edit items in external editor

  • F5

    open action dialog for selected items

  • Delete

    delete selected items

  • Ctrl+A

    select all

  • Enter

    put current item into clipboard

  • F1

    show help

Type a regular expressions (case-insensitive) to search/filter items.

On OS X, use Command instead of Ctrl for the shortcuts above.

Basic Usage

To start CopyQ run copyq from command line or just launch the application from menu or installed location.

Application can be accessed from tray or by restoring minimized window if tray is unavailable.

Copying text or image to clipboard will create new item in the list. Selected items can be:

  • edited (F2),
  • removed (Delete),
  • sorted (Ctrl+Shift+S, Ctrl+Shift+R),
  • moved around (with mouse or Ctrl+Up/Down) or
  • copied back to clipboard (Enter, Ctrl+V).

All items will be restored when application is started next time.

To create custom action that can be triggered from menu or with shortcut, go to Command dialog F6, click Add button and select predefined command or create new one. One of very useful predefined commands there is "Show/hide main window".

Command Line

CopyQ has powerful command line and scripting interface.

Note: The main application must be running to be able to issue commands using command line.

Print help for some useful command line arguments:

copyq --help
copyq --help add
copyq --help tab

Insert some texts to the history:

copyq add "first item" "second item" "third item"

Print content of the first three items:

copyq read 0 1 2
copyq separator "," read 0 1 2

Show current clipboard content:

copyq clipboard
copyq clipboard text/html

Show formats available in clipboard:

copyq clipboard \?

Copy text to the clipboard:

copyq copy "Some Text"

Load file content into clipboard:

copyq copy - < file.txt
copyq copy text/html < index.html
copyq copy image/jpeg - < image.jpg

Create an image items:

copyq write image/gif - < image.gif
copyq write image/svg - < image.svg

Create items for matching files in a directory (in this case $HOME/Documents/*.doc):

copyq action 'copyq: home = Dir().home(); home.cd("Documents") && home.entryList(["*.doc"])'

Show notification with clipboard content:

copyq eval 'copyq: popup("Clipboard", clipboard())'
copyq clipboard | copyq popup Clipboard -

For more advanced usage see Wiki and Scripting Reference