Releases: hluk/CopyQ
6.1.0
Added
-
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 witha { color: lightblue }
(#1859). The new settings
can be found under Item configuration tab under Text sub-tab.
Changed
-
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
Fixed
-
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
(#1866). -
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).
6.0.1
6.0.0
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
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
modifiesclipboard_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
-
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
Update 2021-04-12: Windows binaries have been updated to include following critical fixes:
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
commandcopyq 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 afterpaste()
, 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 functionsnetworkGet()
andnetworkPost()
now wait for data to be
fetched. New script functionsnetworkGetAsync()
andnetworkPostAsync()
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 likedefault_bg
anddefault_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
-
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 withcopyq config native_menu_bar true
. -
OSX: Mouse click on tray icon is now handled similarly to other platforms.
This can be changed withcopyq config tray_menu_open_on_left_click true
.
Main Window Fix for macOS
Possible fix for semi-transparent window issue on macOS (#1467).
v3.12.0
-
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 - usecopyq config
to list
options withsave_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 withhttps
protocol -
Windows: Fix native GUI style (#1427)