Skip to content

Releases: hluk/CopyQ

6.0.0

01 Jan 15:31
v6.0.0
Compare
Choose a tag to compare

Added

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

Changed

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

Fixed

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

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

v5.0.0

30 Sep 12:13
v5.0.0
Compare
Choose a tag to compare

Added

  • 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
    ItemSelection().select(/^prefix/).move(0)
    
    // remove all items from given tab but keep pinned items
    ItemSelection(tabName).selectRemovable().removeAll();
    

Changed

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

Removed

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

v4.1.0

23 Apr 15:56
v4.1.0
Compare
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
    Preferences.

  • 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
    %3A.

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

v4.0.0

11 Apr 15:23
v4.0.0
Compare
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)

Features

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

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

Scripting

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

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

Platforms

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

Fixes

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

Various

  • Code base now follows C++17 standard.

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

v3.13.0

16 Oct 13:46
v3.13.0
Compare
Choose a tag to compare
  • Newly, if a global shortcut is triggered when the main window is active, the
    command will be executed with item selection and item data available (#1435).

  • New focusPrevious() script function to activate window that was focused
    before the main window.

  • Export now write data to a temporary file before saving.

  • Display command are now also applied on item preview (e.g. to enable syntax
    highlighting in the preview).

  • New command line option "tray_menu_open_on_left_click" to check default mouse
    button behavior for tray icon (copyq config tray_menu_open_on_left_click true).

  • New command line option "activate_item_with_single_click" to activate items
    with single click (copyq config activate_item_with_single_click true).

  • New command line options "filter_regular_expression" and
    "filter_case_insensitive" to change the item search behavior.

  • New command line option "native_menu_bar" to disable native/global menu bar
    (copyq config native_menu_bar false).

  • Updated icons (Font Awesome 5.15.1)

  • Improved performance of loading the icon font.

  • Fix crash when exporting large amount of data (#1462).

  • Fix entering vi search mode (#1458).

  • Fix size of scrollable text area in item preview (#1472).

  • OSX: Broken native/global menu bar was replaced by default with application
    menu bar (#1444). This can be changed with copyq config native_menu_bar true.

  • OSX: Mouse click on tray icon is now handled similarly to other platforms.
    This can be changed with copyq config tray_menu_open_on_left_click true.

Main Window Fix for macOS

31 Aug 15:15
Compare
Choose a tag to compare

Possible fix for semi-transparent window issue on macOS (#1467).

v3.12.0

12 Jul 09:49
v3.12.0
Compare
Choose a tag to compare
  • Unsaved data are now saved whenever application is unfocused, otherwise
    immediately after an item is edited and saved or after ~5 minute intervals if
    items change. These intervals can be configured - use copyq config to list
    options with save_delay_ prefix. For example, disable storing after an item
    is added (only when app is unfocused, exits or tab is unloaded):

    copyq config save_delay_ms_on_item_added -1
    
  • Filter field in commands can now modify menu items. This is done by setting
    properties to "menuItem" object. Example:

    copyq:
    menuItem['checkable'] = true
    if (plugins.itempinned.isPinned.apply(this, selectedItems())) {
        menuItem['checked'] = true
        menuItem['text'] = 'Unpin'
        menuItem['color'] = '#f00'
        menuItem['tag'] = 'X'
    } else {
        menuItem['checked'] = false
        menuItem['text'] = 'Pin'
        menuItem['icon'] = ''
    }
    
  • Application icon will no longer automatically change when there is an ongoing
    operation (i.e. the icon snip animation). This caused performance issues in
    some environments and it was not tested automatically so it often broke. When
    clipboard storing is disabled the icon only changes opacity slightly.

  • New preview() script function shows/hides item preview.

  • Avoid terminating application on SIGHUP (#1383)

  • Use brighter bar for pinned items with a dark theme (#1398)

  • Improved notification text line wrapping (#1409)

  • Improved layout when showing many shortcut buttons (#1425)

  • Fix indentation when importing commands with CRLF (#1426)

  • Fix using the configured notification font (#1393)

  • Fix initial item size (avoid scroll bars)

  • Fix decrypting item with note

  • Fix hiding windows after changing "Always on Top" option

  • Fix tool bar flickering when browsing items

  • Fix crash when destroying main window

  • Fix rare crash when menu items change

  • FakeVim: Improved completion menu control with Vim emulation

  • FakeVim: Always start in normal mode

  • FakeVim: Fix searching backwards

  • Windows: Paste operation is now postponed until user releases shortcut
    (#1412). This works better than releasing the shortcut keys automatically and
    is consistent with behavior on Linux.

  • Windows: Fix SSL/TLS errors; networkGet() should now work with https
    protocol

  • Windows: Fix native GUI style (#1427)

v3.11.1

08 May 08:37
v3.11.1
Compare
Choose a tag to compare
  • Fix scrolling in selected text items (#1371)

  • Fix using application icon font instead of a system-installed on (#1369)

  • X11: Fix checking correct text before selection synchronization

v3.11.0

01 May 06:49
v3.11.0
Compare
Choose a tag to compare
  • Tab character size can now be set (number of spaces) and maps more accurately
    to space character width (#1341). The default value is 8 spaces which is
    smaller than before. This can be changed on command line:

    copyq config text_tab_width 4
    
  • New move() script function moves selected items within tab.

  • New menuItems() script function creates custom menus.

  • CSS stylesheet files to fully customize appearance

  • Allow keyboard navigation in item preview dock

  • "Show Preview" is now available in File menu instead of Item menu

  • Shortcuts Ctrl+P and Ctrl+N selects previous/next action in Action dialog.

  • New synchronized item/files are now added to item list ordered alphabetically
    by filename which is faster and more consistent on multiple platforms than
    ordering by modification-time (#833).

  • Improved performance when synchronizing items/files

  • Non-owned synchronized files at the end of item list are now dropped (but not
    deleted) if the list is full.

  • Updated icons (Font Awesome 5.13.0)

  • Simpler item scrollbar style

  • Omit showing new notification under mouse pointer (#1310)

  • Duplicate "CopyQ Error" notification are not shown

  • Bind x to Delete in Vi style navigation mode

  • Left/Right arrow keys now work in FakeVim editor mode by default

  • FakeVim editor mode now supports cutting text to given register

  • If FakeVim editor mode is active in a dialog, Esc key allows to close the

  • Consistent window and dialog titles in application (" - CopyQ" suffix)
    dialog.

  • Fix opening tray menu with empty search

  • Fix search in main window and tray with different keyboard layouts (#1316)

  • Fix restoring search when closing internal editor

  • Fix crash when synchronizing pinned items/files (#1311)

  • Fix pasting synchronized file instead of its content (#1309)

  • Fix enabling menu items with filters in commands (#1284)

  • Fix commands for removing tags from items (#1332)

  • Fix copying from item preview dock (#1326)

  • Fix position of main window on current screen (#1216)

  • Fix copying "text/plain;charset=utf-8" format as a text (#1324)

  • Fix preview search highlight in Appearance configuration (#1354)

  • Fix hover/mouse-over style for items (#1347)

  • Fix wrapping long notification text

  • Fix jitter when scrolling in item list

  • Fix item width

  • X11: Fix re-getting clipboard content after aborted (#1356)

  • Windows: Use builds with Qt 5.13

v3.10.0

02 Feb 13:21
v3.10.0
Compare
Choose a tag to compare
  • Use environment variable COPYQ_DEFAULT_ICON=1 to show the original
    application icon instead of the one from current icon theme.

  • Avoid updating menu unnecessarily

  • Drop using deprecated Qt API and require at least Qt 5.5 (meaning Ubuntu
    14.04 and Debian 8 are no longer supported)

  • Use non-native color and font dialogs which fixes showing these in Gnome/Gtk

  • Fix GUI with fractional scaling

  • Fix updating tray menu (remove empty sections)

  • Fix editing synchronized file content instead of its path

  • OSX: Omit preventing system from entering the sleep mode

  • X11: Improve clipboard/selection synchronization

  • X11: Avoid reading clipboard in parallel in the monitor process