Skip to content

Releases: hluk/CopyQ

9.1.0

20 Oct 06:27
v9.1.0
Compare
Choose a tag to compare

Added

  • Allows processing all clipboard changes (#2787, #2746).
    If clipboard contains secret (for example, copied from a password manager),
    onSecretClipboardChanged() script function is called with data containing
    mimeSecret format set to 1. Also ensures that callbacks are called
    consistently for all clipboard changes with properly set formats
    mimeClipboardMode, mimeOutputTab and mimeCurrentTab.

Fixed

  • Fixes editing multiple items (#2810).

  • Fixes synchronization plugin causing redundant UI updates and menu
    misbehavior (#2649).

  • Fixes showing sub-menus for custom commands in tray menu (#2730).

  • Fixes switching tab if onItemsLoaded() is overridden (#2788).

  • Fixes theme option hover_item_css (#2687).

  • Avoids modifying data from display commands and causing redundant UI updates
    (#2837).

  • Avoids sharing execute() state in case it is launched recursively.

9.0.0

22 Jun 08:51
v9.0.0
Compare
Choose a tag to compare

Added

  • Adds editItem() script function for editing any item format (#2672).

  • Item color is now shown in tray menu as the default icon (#2700).

Changed

  • Removes large margins in the tab tree.

  • Single action "Toggle Tag …" replaces the two separate actions "Tag as …" and
    "Remove tag …" for each custom tag (this can make the item context menu a lot
    more compact).

  • Selected items can now be accessed even from commands started from outside
    the app using global commands or from command line.

  • The dialog() script function can now be used for asking Yes/No questions
    without providing any fields. In such case, the function will return true
    instead of undefined after accepting the dialog. For example:

    const remove = dialog(
      '.title', 'Remove Items',
      '.label', 'Do you really want to remove all items?'
    );
    
    if (!remove)
        abort();
    
    // remove items ...
    
  • The execute() script function now throws an exception when command cannot
    be executed instead of returning undefine.

Fixed

  • Includes many performance improvements for working with large amount of items.

  • Fixes triggering menu items by number (#2569).

  • Fixes text color in the internal item editor (#2643).

  • Fixes showing global shortcuts in tray menu (#2382).

  • Fixes passing captured texts to automated commands (#2707).

  • Fixes duplicate synchronized items after tagging or modifying data.

  • Fixes situation when display commands stop updating items.

  • The pre-defined "Move to tab" action will be shown only if the current tab is
    not the same as target tab (#2669). Previously, in such case the item was
    removed unexpectedly.

  • Windows: Detect and ignore secrets from more apps (#2679).

  • Linux: Fixes storing previously synchronized clipboard (#2630).

  • Linux: Fixes storing selection when "Store text selected using mouse" option
    is enabled but "Run automatic commands on selection" is disabled (#2651).

  • Linux: Fixes clipboard synchronization with Qt 6 GUI framework.

  • Linux: Fixes showing tab tree labels with Qt 6 GUI framework.

8.0.0

14 Mar 12:57
v8.0.0
Compare
Choose a tag to compare

Added

  • Tab item limit has been increased to 100,000 (#1144).

  • New macOS builds for M1/arm64 architectures are available (#1884).

  • New Debian/Raspbian builds for arm/arm64 architectures are available.

  • Allows overriding item activation using paste().

  • Allows overriding script functions to handle some events: items
    added/removed/changed (onItemsAdded(), onItemsRemoved(),
    onItemsChanged()), tab items loaded (onItemsLoaded()), tab selected
    (onTabSelected()) (#59).

  • Allows to cancel removing items by overriding onItemsRemoved() script
    function. If the exit code is non-zero (for example fail() is called),
    items will not be removed. But this can also cause a new items not to be
    added if the tab is full.

  • Allows overriding current clipboard owner (currentClipboardOwner()) used by
    the clipboard monitor process. By default it uses currentWindowTitle().

  • Allows using Ctrl+C to copy items even if search entry box is focused unless
    it has a selection (#2440).

  • Linux: Adds build option to disable X11 support (cmake -DWITH_X11=OFF ...)
    (#2532).

  • Linux: Adds build option to disable autostart which is useful mainly for
    Flatpak builds (#2517, #2518).

Changed

  • Windows binaries (which are 64 bit) are now by default installed to "Program
    Files" instead of incorrect "Program Files (X86)". After installing the new
    version, the old path must be manually removed.

  • Windows and macOS builds are now based on newer Qt 6.

  • Avoids accessing clipboard from password managers (#2282, #2495, #2500). This
    disallows storing and processing such data. Specifically, the clipboard is
    ignored if it contains following data: Clipboard Viewer Ignore on Windows,
    application/x-nspasteboard-concealed-type on macOS,
    x-kde-passwordManagerHint with secret value on Linux.

  • Large data items in tabs are now stored in separate location unless
    Synchronize or Encryption plugins are active for the tab. This allows storing
    more items in tabs while using less memory. The data path can be printed via
    copyq info data command and overridden using COPYQ_ITEM_DATA_PATH
    environment variable. To disable this functionality use copyq config item_data_threshold -1 - the default value is 1024 and items larger than
    this amount of bytes are stored in the separate location.

  • Command dialog now shows advanced properties for built-in commands allowing
    to copy the command line to set global shortcut in system.

  • Global shortcuts are now also visible in menus (#2382).

  • Avoids pasting all image formats as new item.

  • Display commands are now applied to tray menu items too.

  • Linux: Last stored text item is updated from any new mouse selection only if
    the item content matches the start or the end of the selection (but not the
    middle like previously). This may avoid some unexpected item updates.

  • Updates icon font from Font-Awesome 6.5.1.

Fixed

  • Fixes drag'n'drop ordering for plugins and commands. This could have caused a
    missing icon, app crash or various inconsistencies.

  • Fixes managing keys with gpg 2.1 and above (#2463, #1208).

  • Fixes creating duplicate item with Synchronize plugin when adding a tag for
    example (#2355).

  • Fixes conflicting notes and text with Synchronize plugin (#2355)

  • Fixes deleted global object after running scripts (#2542).

  • Wayland: Fixes copying images to another app instance.

7.1.0

03 Sep 08:55
v7.1.0
Compare
Choose a tag to compare

NOTE: macOS release is currently blocked until #2450 is resolved.

Changed

  • Image editor (if set) will now open instead of built-in text editor when
    selecting Edit action on image items containing no text.

  • Encryption now uses larger/safer keys (#2385).

Fixed

  • Fixes saving and opening empty encrypted tabs.

  • Fixes minimal size of dialogs (#2299).

  • Fixes importing commands with regular expressions containing slash characters
    in scripts.

  • Fixes font weight with Qt 6.

  • Fixes closing the app with Qt 6.

  • Fixes the build and calling some script functions with Qt 6.5.

  • X11: Fixes crash when entering search with some keyboard layouts (#2171).

7.0.0

02 Apr 07:49
v7.0.0
Compare
Choose a tag to compare

Added

  • Windows installer has an option to install for current user or all users
    (#1912).

Changed

  • The preferred format to edit is now "text/plain;charset=utf-8" with
    "text/plain" as fallback. Additionally, if no such format is available,
    "text/uri-list" is used.

  • Toggle Clipboard Storing menu item uses static text and icon instead of
    changing these dynamically after each use (#2255).

  • Settings integrity is now handled solely by Qt. Previously, additional
    *.bak files where created for configuration files.

  • Commands are no longer migrated to the new format on start. The old command
    configuration file has been last used in version 3.9.0 (released on
    2019-06-27).

  • Native notification text length is limited now to avoid slow downs when
    showing notifications in some desktop environments. The limit is about
    100,000 characters and 100 lines.

Fixed

  • Fixes Sort/Reverse Selected Items menu actions (#2267).

  • Fixes moving items to a tab in tab bar using drag'n'drop (#1246).

  • Fixes possibly buggy window manager frame geometry (#2247).

6.4.0

19 Jan 10:14
v6.4.0
Compare
Choose a tag to compare

6.4.0

Added

  • Items in menu can be additionally filtered using the item notes (#2170).

  • Items can be sorted with a custom order via scripting. For example:

    var sel = ItemSelection().selectAll();
    const texts = sel.itemsFormat(mimeText);
    sel.sort(function(i,j){
        return texts[i] < texts[j];
    });
    

Changed

  • More shortcuts and even sequences of shortcuts can be now captured and
    assigned. This uses new QKeySequenceEdit UI widget from Qt framework.

  • UI uses the preferred sans-serif system font in the dark theme.

Fixed

  • Fixes copying items in order they were selected (#2124).

  • Fixes re-selecting the edited item after external editor closes.

  • Fixes menu theme (#2139).

  • Avoids duplicating items from clipboard in synchronized tabs (#2236).

  • macOS: Fixes compatibility with macOS 10.15 (#2103).

  • Linux: Fixes synchronizing UTF-encoded text to/from primary selection (#2195)

  • Wayland: Avoids showing window after a screen is turned on.

  • Wayland: Avoids a rare crash while accessing clipboard data.

  • Wayland: Fixes pasting to some XWayland apps (#2234)

  • X11: Avoids app freeze when entering search mode (#2171).

  • X11: Fixes capturing quickly changing clipboard text (ignores unchanged
    TIMESTAMP).

6.3.2

26 Sep 15:28
v6.3.2
Compare
Choose a tag to compare

Fixed

  • Fixes potential crash when rendering an empty item list.

6.3.1

25 Sep 06:31
v6.3.1
Compare
Choose a tag to compare

Fixed

  • 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).

6.3.0

18 Sep 08:19
v6.3.0
Compare
Choose a tag to compare

Changed

  • 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:

    ...
    clipboard_notification_lines=3
      Number of lines to show for new clipboard content.
    
      Set to 0 to disable.
    clipboard_tab=&clipboard
      Name of tab that will automatically store new clipboard content.
    
      Leave empty to disable automatic storing.
    close_on_unfocus=false
      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

Fixed

  • 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
    accessed.

6.2.0

06 Jul 08:38
v6.2.0
Compare
Choose a tag to compare

Added

  • 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).

Changed

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

Fixed

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

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

  • 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.