Skip to content
/ CopyQ Public
forked from hluk/CopyQ

Clipboard manager with advanced features

License

Notifications You must be signed in to change notification settings

Mic92/CopyQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CopyQ
=====
CopyQ is clipboard manager with searchable and editable history.

To build and install CopyQ on your system read INSTALL file.

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

To exit the application middle-click on the tray icon or press Ctrl-Q keys
in the application window.

Keyboard navigation
===================
    PgDown/PgUp,
    Home/End,
    Up/Down   -- navigation in item list
    Ctrl+Up,
    Ctrl+Down -- move selected item
    Escape    -- hide window
    Ctrl+Q    -- exit
    F2        -- edit item (in place)
    Ctrl+E    -- edit item (in external editor)
    F5        -- open action dialog
    Delete    -- delete item
    Enter     -- put item into clipboard
    F1        -- show help

Type any number to select item with given id.

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


Configuration
=============
All configuration files are stored in standard configuration directory
(on Linux under home directory in '.config/copyq').

Properties in [General] group copyq.conf:
    editor   -- external editor command (%1 is replaced by temporary file
                containing a text to edit)
    callback -- program that is called when clipboard contents changes
                (clipboard text is passed as last argument)
    maxitems -- maximum number of items in history
    format   -- history item appearance
             -- HTML formated string where:
                 %1 is item id and
                 %2 is item text
    interval -- interval in milliseconds to check clipboard

Custom commands can be added to context menu in clipboard history. Such
commands can be defined in [Commands] group in copyq.conf.
All properties except name are optional:
    name      - label of the item in context menu (use ampersand to quickly
                access the command in context menu by pressing key that equals
                to the character after the ampersand)
    command   - command associated with the item (%s is replaced by
                concatenated text of selected items)
    input     - concatenated text of selected items is send on standard input
                of the command; default is false
    output    - new items are created from the text on standard output
                of the command; default is false
    separator - character which indicates where the text on standard output
                of the command is divided into multiple clipboard items;
                default is \n
    match     - menu item is created only if this regular expression matches
                selected item; default to empty (i.e. match any item)
    wait      - wait for user input (open action dialog with the command);
                default is false
    icon      - path to image that is displayed next to the command in the menu;
                defaul is empty (no icon)
    shortcut  - set command shortcut (e.g. "Ctrl+X")

copyq.css:
    Qt style sheet defining appearance of CopyQ window and item list.
    See documentation: http://qt.nokia.com/doc/stylesheet.html


Command Line Interface
======================
syntax: copyq [COMMAND]
COMMAND is one of following:
    toggle           -- show/hide main window
    select [row=0]   -- move item in the row to the clipboard
    list [row=0] ... -- print clipboard contents
    edit [row=0]     -- edit clipboard item
    new [text]       -- create and edit new item
    add text         -- add text into clipboard
    remove [row=0] ...
                     -- remove item in given rows from clipboard history
    action           -- show action dialog
    action [row=0] "command" [separator=\n]
                     -- apply command on item text in the row
    menu             -- open context menu

Usage Examples
==============
CopyQ must be running to be able to issue commands using command line.

To start CopyQ run following command:

    copyq

Insert text to the clipboard:

    copyq add "print([x**2 for x in range(10)])"

and process it in python interpreter:

    copyq action python

The result will be copied to the clipboard.

For each file in given directory create new item:

    copyq action "ls /"

Load file content into clipboard:

    copyq action "cat file.txt" ""

Note: Last argument is separator - empty means "create single item".

Process an item with the python interpreter and redirect the standard output
to the standard error output using sh command (shell):

    copyq add 'print "Hello world!"'
    copyq action 'sh -c "python 1>&2"'

Note: Standard error output will be show as tray icon tooltip.

To concatenate items select them items in CopyQ window and press F5.
Type "cat" into command input field, check "Output into item(s)" check box,
clear "Separator field" and press Ok button to submit.

Monitor file "$HOME/clipboard" and load each new line into clipboard:

    copyq action "tail -f $HOME/clipboard"

This process can be killed by right clicking on tray icon and selecting
the process from context menu.

About

Clipboard manager with advanced features

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 62.1%
  • TypeScript 36.9%
  • Other 1.0%