Skip to content

Releases: hluk/CopyQ


Choose a tag to compare


  • Fixes potential crash when rendering an empty item list.


Choose a tag to compare


  • Fixes rendering issues (#1728, #2093).

  • Fixes the space between row number and the item content. This is customizable
    with num_margin theme option.

  • Fixes Qt 6 build.

  • Wayland: Fixes synchronizing selection with clipboard with UTF-8 text.

  • X11: Fixes tray window popup position on multi-monitor (#2038).


Choose a tag to compare


  • UI margins are decreased leaving more space space for item content.

  • Script function config() now lists current values for each option (#412).
    Example of new copyq config output:

      Number of lines to show for new clipboard content.
      Set to 0 to disable.
      Name of tab that will automatically store new clipboard content.
      Leave empty to disable automatic storing.
      Close main window when other application has focus
  • FakeVim plugin improvements from upstream:

    • Ignores only full-line comments in configuration file
    • Support backslashes in substitute command patterns
    • Partial support for multi-repeat command (:g, :v)
  • Improves rendering item list speed.

  • Updates icon font from Font-Awesome 6.2.0


  • Fixes showing window under mouse cursor (#2088).

  • In single-click-activate mode, multiple items can be selected while holding
    Shift or Ctrl (#2056).

  • The pre-defined command "Ignore items with no or single character" now also
    avoids synchronizing selection and showing popup if less than two characters
    where copied.

  • Wayland: Fixes synchronizing selection with clipboard in various cases.

  • Wayland: Fixes possible crash when managed clipboard data changes while it is


Choose a tag to compare


  • Tabs can now load at least some items from a partially corrupted data file
    dropping the rest of the items.

  • Simpler and safer data saving uses Qt framework (QSaveFile).

  • New Settings class in scripts can be used to manage INI configuration
    files (#1964).


  • Obscure untested Save button has been removed from Action dialog.


  • Fixes restoring window geometry in a loop (#1946).

  • Fixes converting internal byte array representation in scripts in some rare

  • Fixes tray menu appearance to follow the configuration (#1896).

  • The search history popup menu for will be closed if mouse wheel scrolls and
    mouse pointer is outside the menu (#1980).

  • macOS: Fixes pasting (#2012).

  • Windows: Fixes exiting the app on logout (#1249).

  • Windows: Workaround to treat native path separators properly and not as
    special escape characters.


Choose a tag to compare


  • Users can now customize shortcuts for the built-in editor (#708).

  • Users can now set default style sheet for HTML items to override for example
    color for hyperlinks with a { color: lightblue } (#1859). The new settings
    can be found under Item configuration tab under Text sub-tab.


  • Window geometry (size and position) restoring is now simpler: The app sets
    geometry only initially and when the current screen/monitor changes.

    The mouse cursor position indicates the current screen. In case the app
    cannot inspect the mouse pointer position (for example on some Wayland
    compositors), it is left up to the window manager to decide to move the
    window to another screen.

    Users can still disable the automatic geometry by running the following
    command (in Action dialog or terminal) and restarting the app:

    copyq config restore_geometry false


  • Fixes moving items in synchronized tabs after activating them from the
    context menu (#1897).

  • Windows: Fixes tray icon tooltip (#1864).

  • Windows: External editor command now treats native path separators properly
    (#1894, #1868).

  • macOS: Fixes crash when pasting from the main window or menu (#1847).

  • macOS: Older versions of macOS (down to 10.15) are now supported again

  • Wayland: Fixes using correct window title icon (#1910).

  • Wayland: Fixes retrieving UTF-8 encoded text from selection in environments
    which supports it.

  • Wayland: Fixes restoring window size without breaking window position (window
    position cannot be set in most or all Wayland compositors).


Choose a tag to compare


  • X11: Fixes global/system-wide shortcuts (#1860).


Choose a tag to compare


  • Native notifications now have lower urgency if the display interval is less
    than 10 seconds. This makes clipboard change notification less intrusive.

  • Preview dock can be focused with Tab key (#1826). Escape, Tab or Shift+Tab
    returns focus back to the item list.

  • All options are now documented/described when using command copyq config.

  • Command editor now supports highlighting multi-line strings enclosed by
    backticks (#1845).

  • New option to disable restoring window/dialog geometry (app needs to be
    restarted after changing the option):

    copyq config restore_geometry false
  • macOS: New option to enable native tray menu (#1652):

    copyq config native_tray_menu true
  • Support for building the source code with Qt 6 framework.


  • While search bar is focused, pressing Down or PageDown key now selects next
    item without focusing the item list (#1834).

  • Internal commands (like ""Show/hide main window", Pin/Unpin, Encrypt/Decrypt)
    will now be automatically updated in following application releases or
    whenever the language changes. The side-effect is that only icon, shortcuts,
    enabled state and list order can be changed for these commands. Old internal
    commands added in previous versions (5.0.0 and lower) of the app need to be
    removed manually.

  • Increases the default delay for storing changed clipboard owner. This can
    help save correct window title for new clipboard content when the window is
    closed right after the copy operation. The delay can be changed using:

    copyq config change_clipboard_owner_delay_ms 500
  • The application version now excludes the "v" prefix in UI and CLI.

  • Log Qt warnings by default (at Warning log level messages).

  • Linux: Other data formats are now stored for primary selection so as to
    support some automatic commands properly (for example, ignore selection when
    it contains a special format). Images and non-plain text formats are still
    ignored for performance reasons.


  • Drag'n'drop operations are now properly ended (#1809).

  • Main window will now open only inside the visible screen area (#1768).

  • "Clear Current Tab" command will no longer show a message dialog if there are
    pinned items (#1823).

  • Improves initial size for native tray menu.

  • Fixes removing backup file for old commands configuration.

  • Fixes broken item selection state (#1828).

  • Fixes hiding main window immediately when shown. This can be caused by long
    animations in window manager.

  • Further performance improvements for logging, application startup and file

  • Linux: Native status icon (using D-Bus) is used by default instead of the
    legacy tray icon. Application start delay/sleep hacks should no longer be
    needed (#1526).

  • Wayland: Improved clipboard access.

  • Wayland: Fixes selection/clipboard synchronization.

  • Windows: Any application instance is now closed automatically before


Choose a tag to compare


  • Search matches similar accented characters (#1318). For example, searching
    for "vacsina" would also show items containing "väčšina".

  • If the clipboard tab is renamed, clipboard will be still stored in the
    renamed tab. Similarly if a specific tab is set for tray menu. This basically
    modifies clipboard_tab, tray_tab options when renaming tabs.

  • New predefined command to clear the current tab.

  • Tabs can be reordered in Preferences (in addition to tab bar/tree).

  • Tabs can be reordered from command line or a script. For example:

    copyq 'config("tabs", ["&clipboard", "work", "study"])'
  • New buttons can move commands, tabs and plugins in configuration to top and
    bottom with a single click. This previously required dragging item to the
    top/bottom or multiple clicks on the move up/down buttons.

  • Script function dialog() supports non-editable combo box. For example:

    var choice = dialog('.combo:Select', ['a', 'b', 'c'])
  • Script function dialog() restores last position and size of dialog
    windows with matching title (set with .title).

  • Syntax highlighting for more script keywords.

  • New script class ItemSelection allows more powerful, consistent, safe and
    fast handling of multiple items. Examples:

    // move matching items to the top of the tab
    // remove all items from given tab but keep pinned items


  • Simpler lock file mechanism is used instead of a system semaphore and shared
    memory lock (#1737). This allows to support more platforms.

  • Editor font from Appearance settings is used for the edit widget in Command
    and Action dialogs (#1757).

  • Theme does not modify the scrollbar in item list by default (#1751).


  • Windows: Migrating old configuration from registry to file format is no
    longer supported.


Choose a tag to compare
  • Old notification system can now be used instead of native/system
    notifications (#1620). This can be disabled in Notifications tab in

  • Additional configuration file for notifications will not be created
    automatically (#1638).

  • In scripting, console object can be used for logging, measuring elapsed
    time and asserting conditions.

  • plugins.itempinned.mimePinned contains item data format for pinned items
    (item is pinned if it contains the format).

  • Command completion menu contains more complete list of script
    objects/function and better description.

  • Action dialog command, action() and commands (if "Content"/filter regular
    expression is unset) now do not replace %2 through %9. This allows
    passing URLs without requiring to escape encoded characters like %20 or

  • Syntax highlighting for hexadecimal and boolean values in the command editor.

  • Fix moving the main window to different display/screen (#1624).

  • Windows: Native notifications are disabled on Windows 7 (#1623). This fixes
    crash because of unsupported features.

  • Windows: Fixed crash when loading some themes (#1621).

  • Wayland: Restores last stored geometry for a window (since getting current
    screen does not work).

  • MinGW Windows builds are available again (without native notification


Choose a tag to compare

Update 2021-04-12: Windows binaries have been updated to include following critical fixes:

  • Missing notifications in setup.exe (#1620)
  • Crash when changing themes (#1621)


  • Synchronization plugin newly keeps order of new items consistent between
    multiple application instances (#1558). Newly added items in one instance
    will appear at the top of other instances.

  • Search now finds separate words if regular expressions are disabled (#1569).
    Searching for "foo bar" will find items containing both "foo" and "bar" and
    the relative position of words no longer matter.

  • System notification popups are now used instead of own implementation.

  • Item rows in main window and tray menu are now indexed from one instead of
    zero by default (#1085). This can be reverted to the old behavior using
    command copyq config row_index_from_one false.

  • A tag can be marked as "locked" in configuration. Items with such tags cannot
    be removed until the tag is removed or "unlocked".

  • Command line completion for bash (#1460). Thanks, Jordan!

  • History combo box is focused when Action dialog opens to easily recall recent
    commands. Note: Focusing combo boxes is not supported on macOS.

  • Web plugin has been completely dropped (unmaintained with performance and
    possible security problems). Simple HTTP rendering is still supported by Text

  • Advanced option window_paste_with_ctrl_v_regex to change default paste
    shortcut Shift+Insert to Ctrl+V for specific windows (only on Windows and
    Linux/X11). This is regular expression matching window titles.

  • New advanced options allow to set intervals and wait times for copying,
    pasting and window focus:

    • script_paste_delay_ms - delay after paste(), default is 250ms (#1577)
    • window_wait_before_raise_ms
    • window_wait_raised_ms
    • window_wait_after_raised_ms
    • window_key_press_time_ms
    • window_wait_for_modifiers_released_ms
  • Format "text/plain;charset=utf-8" is now preferred to "text/plain".

  • FakeVim: Auto-indents when adding new lines.


  • New scripting engine. This adds some new functionality, better ECMAScript
    support, improved performance and would allow Qt 6 support in the future.

  • Argument --start-server to both starts the app if not yet running and runs
    a command (#1590). For example, copyq --start-server show would show main
    window even if the app was not started yet.

  • Accessing a missing plugin from script throws an human-readable error and
    show an popup if uncaught (for example, "plugins.itemtags" could throw
    "Plugin itemtags is not installed").

  • Script function setPointerPosition() throws an error if it fails to set the
    mouse pointer position.

  • Fixes for NetworkReply objects to properly fetch data when needed (#1603).
    Script functions networkGet() and networkPost() now wait for data to be
    fetched. New script functions networkGetAsync() and networkPostAsync()
    can be used to make asynchronous network request. Property
    NetworkReply.finished can be used to retrieved completion status of a

  • New script function styles() to list possible application styles and option
    style to override the default or current style.


  • Wayland support, notably clipboard access and window size restoring.

  • Windows: Builds are now 64bit (built by Visual Studio tools).

  • Linux: Selecting the app icon in the desktop environment using the installed
    entry in the application menu or launcher, shows main window immediately.
    Previously, the app started silently in tray or minimized state.

  • Linux/X11: Fixes copying from VirtualBox (#1565).

  • macOS: Fix version information (#1552).

User Interface

  • The default theme is kept consistent with system theme (#1613). This also
    allows to use new special placeholders like default_bg and default_text
    in custom style sheet files.

  • Command dialog always shows the command type at top.

  • Updated icons (Font Awesome 5.15.3).

  • FakeVim: Command line not supports better text interaction (select, copy,
    cut, paste).


  • Fix crashed with some custom system themes (#1521).

  • Fix importing old saved tabs/configuration (#1501).

  • Fix trailing spaces in copied commands.

  • Fix filtering shortcuts in preferences.

  • Fixes for window geometry restoring.

  • Tray menu items are updated only just before the menu is shown.

  • Avoid storing "text/richtext" by default since displaying of this format is
    not supported.

  • Better performance when updating synchronized items.

  • Various appearance and theme fixes (#1559).


  • Code base now follows C++17 standard.

  • GitHub Actions now continuously build and test for Linux and macOS, and
    provide development builds for macOS.