Skip to content

Commit d2b369f

Browse files
authored
Merge pull request #3 from niu541412/v11
2 parents f76b0b5 + 3ff0f5f commit d2b369f

26 files changed

+885
-754
lines changed

.github/workflows/build-linux.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ jobs:
4848
4949
steps:
5050
- name: Checkout source code
51-
uses: actions/checkout@v4
51+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
5252
with:
5353
submodules: false
5454
fetch-depth: 1
5555

5656
- name: Enable ccache
57-
uses: hendrikmuhs/[email protected]
57+
uses: hendrikmuhs/ccache-action@63069e3931dedbf3b63792097479563182fe70d1 # v1.2
5858
with:
5959
key: ${{ github.job }}-${{ matrix.os }}
6060

@@ -63,7 +63,7 @@ jobs:
6363
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
6464
6565
- name: Install dependencies
66-
uses: nick-invision/retry@v3
66+
uses: nick-invision/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
6767
env:
6868
WITH_QT6: '${{matrix.with_qt6}}'
6969
with:
@@ -75,7 +75,7 @@ jobs:
7575
'${{matrix.compiler_package}}'
7676
7777
- name: Build with CMake
78-
uses: lukka/run-cmake@v10
78+
uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10
7979
with:
8080
configurePreset: '${{ matrix.cmake_preset }}'
8181
buildPreset: '${{ matrix.cmake_preset }}'

.github/workflows/build-macos.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- os: macos-13
2525
buildname: macOS x86_64
2626
bundle_suffix: '-macos-x86_64'
27-
cmake_preset: macOS-10
27+
cmake_preset: macOS-13
2828

2929
- os: macos-14
3030
buildname: macOS arm64
@@ -33,13 +33,13 @@ jobs:
3333

3434
steps:
3535
- name: Checkout source code
36-
uses: actions/checkout@v4
36+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
3737
with:
3838
submodules: false
3939
fetch-depth: 1
4040

4141
- name: Enable ccache
42-
uses: hendrikmuhs/[email protected]
42+
uses: hendrikmuhs/ccache-action@63069e3931dedbf3b63792097479563182fe70d1 # v1.2
4343
with:
4444
key: ${{ github.job }}-${{ matrix.os }}
4545

@@ -56,7 +56,7 @@ jobs:
5656
run: '${{github.workspace}}/utils/github/install-macos.sh'
5757

5858
- name: Build with CMake
59-
uses: lukka/run-cmake@v10
59+
uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10
6060
with:
6161
configurePreset: '${{ matrix.cmake_preset }}'
6262
buildPreset: '${{ matrix.cmake_preset }}'
@@ -70,7 +70,7 @@ jobs:
7070
run: '${{github.workspace}}/utils/github/bundle-macos.sh'
7171

7272
- name: Upload macOS bundle
73-
uses: actions/upload-artifact@v4
73+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
7474
with:
7575
name: 'CopyQ${{ matrix.bundle_suffix }}.dmg'
7676
path: '${{runner.workspace}}/build/copyq/${{ matrix.cmake_preset }}/CopyQ.dmg'

.github/workflows/codespell.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ jobs:
1818

1919
steps:
2020
- name: Checkout
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
2222
- name: Codespell
23-
uses: codespell-project/actions-codespell@v2
23+
uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 # v2

CHANGES.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,77 @@
1+
# 11.0.0
2+
3+
## Added
4+
5+
- Adds support for dark/light window title scheme.
6+
7+
- New `frameless_window` option (#2570) toggles the main window frame and title
8+
bar (if supported by the window manager):
9+
10+
copyq toggleConfig frameless_window
11+
12+
- Adds support for localizing command names in the command INI files (#3032):
13+
14+
[Command]
15+
Name = ...
16+
Name_cs = ...
17+
Name_fr = ...
18+
Name_pt_BR = ...
19+
Name_pt = ...
20+
21+
- Adds support for showing preview for more image formats
22+
(namely ico and webp).
23+
24+
- Adds support for more complex network requests in scripts. New
25+
`NetworkRequest` class can be used to set custom headers, HTTP method, number
26+
of allowed redirects and timeout.
27+
28+
## Changed
29+
30+
- Avoids hiding the main window on backspace (#3107).
31+
32+
- Enables Vi/Emacs navigation (#3012) in menus, and `Ctrl+[` in Vi and `Ctrl+G`
33+
in Emacs to work in many other places as `Esc` key (for example, to hide menus,
34+
dialogs). Users can override shortcuts, but not some reserved ones in
35+
specific cases (mainly, if the item list or a menu has focus).
36+
37+
- Selections and current items/rows/data in scripts now only relate to the
38+
tab selected with `tab(...)` in scripts (this is still by default the
39+
selected tab when the command started). Affected script functions:
40+
- `move()`
41+
- `setData()`
42+
- `removeData()`
43+
- `selectedItems()`
44+
- `selectedItemData()`
45+
- `setSelectedItemData()`
46+
- `setSelectedItemsData()`
47+
- `currentItem()`
48+
- `ItemSelection().current()`
49+
50+
- Drops unnecessary timeouts when executing commands and actions from scripts.
51+
52+
- Avoids fetching and passing clipboard to `action()`/`execute()` if the
53+
commands do not contains `%1` placeholder. This can improve performance.
54+
55+
## Fixed
56+
57+
- Fixes `dialog()`: custom size, layout and resizing (#3003).
58+
59+
- Fixes overriding filter/search string with `filter()` (previously the new
60+
value was appended to the current filter).
61+
62+
- Fixes refocusing the item after editing its notes.
63+
64+
- Synchronize plugin: Fixes missing data in the last item when tab is full.
65+
66+
- Windows: Fixes the icon for uninstaller (#2864).
67+
68+
- Fixes build for Qt 6.9 and above.
69+
70+
- Fixes potentially misconfigured log file path at app start (#3087).
71+
72+
- Linux: Avoids auto-hiding the main window when moved on some window managers
73+
(#3119).
74+
175
# 10.0.0
276

377
## Added

CMakePresets.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,21 @@
2929
"CMAKE_CXX_FLAGS": "-Wno-deprecated-declarations"
3030
}
3131
},
32+
{
33+
"name": "macOS-13",
34+
"generator": "Ninja",
35+
"binaryDir": "${sourceParentDir}/build/copyq/${presetName}",
36+
"installDir": "${sourceParentDir}/build/copyq/${presetName}",
37+
"cacheVariables": {
38+
"WITH_QT6": "TRUE",
39+
"WITH_TESTS": "TRUE",
40+
"CMAKE_PREFIX_PATH": "/usr/local/opt/qt/lib/cmake",
41+
"CMAKE_OSX_DEPLOYMENT_TARGET": "13.0",
42+
"CMAKE_C_COMPILER_LAUNCHER": "ccache",
43+
"CMAKE_CXX_COMPILER_LAUNCHER": "ccache",
44+
"CMAKE_CXX_FLAGS": "-Wno-deprecated-declarations"
45+
}
46+
},
3247
{
3348
"name": "macOS-12-m1",
3449
"generator": "Ninja",
@@ -59,6 +74,12 @@
5974
"configuration": "Release",
6075
"targets": "install"
6176
},
77+
{
78+
"name": "macOS-13",
79+
"configurePreset": "macOS-13",
80+
"configuration": "Release",
81+
"targets": "install"
82+
},
6283
{
6384
"name": "macOS-12-m1",
6485
"configurePreset": "macOS-12-m1",
@@ -71,6 +92,10 @@
7192
"name": "macOS-10",
7293
"configurePreset": "macOS-10"
7394
},
95+
{
96+
"name": "macOS-13",
97+
"configurePreset": "macOS-13"
98+
},
7499
{
75100
"name": "macOS-12-m1",
76101
"configurePreset": "macOS-12-m1"

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ CopyQ is an advanced clipboard manager with powerful editing and scripting featu
2424

2525
## Features
2626

27-
* Support for Linux, Windows, and [OS X 10.15+](https://doc.qt.io/qt-5/macos.html#supported-versions)
27+
* Support for Linux, Windows, and [macOS 13+](https://doc.qt.io/qt-6/macos.html)
2828
* Store text, HTML, images, and any other custom formats
2929
* Quickly browse and filter items in clipboard history
3030
* Sort, create, edit, remove, copy/paste, drag'n'drop items in tabs
@@ -71,11 +71,14 @@ Using Chocolatey:
7171
choco install copyq
7272
```
7373

74-
### OS X
74+
### macOS
75+
76+
macOS 13 and above are supported (this mainly depends on [Qt in
77+
Homebrew](https://github.com/Homebrew/homebrew-core/blob/main/Formula/q/qt.rb)).
7578

7679
[![Homebrew package](https://repology.org/badge/version-for-repo/homebrew_casks/copyq.svg)](https://repology.org/metapackage/copyq)
7780

78-
On OS X you can use [Homebrew](https://brew.sh/) to install CopyQ:
81+
On macOS you can use [Homebrew](https://brew.sh/) to install CopyQ:
7982

8083
```bash
8184
brew install --cask copyq

docs/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Alternatively, you can install the app with one of the following methods:
77

88
On **Windows**, you can install `Chocolatey package <https://chocolatey.org/packages/copyq>`__.
99

10-
On **macOS**, you can use `Homebrew <https://brew.sh/>`__ to install the app
10+
On **macOS** (13 and above), you can use `Homebrew <https://brew.sh/>`__ to install the app
1111
(also see the problem in the next section):
1212

1313
.. code-block:: bash

docs/scripting-api.rst

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ Scripting API
66
CopyQ provides scripting capabilities to automatically handle clipboard
77
changes, organize items, change settings and much more.
88

9-
Supported language features and base function can be found at `ECMAScript
10-
Reference <http://doc.qt.io/qt-5/ecmascript.html>`__. The language is mostly
11-
equivalent to modern JavaScript. Some features may be missing but feel free to
12-
use for example `JavaScript reference on MDN
9+
Supported language features and functions can be found at `ECMAScript Reference
10+
<https://doc.qt.io/qt-6/qtqml-javascript-functionlist.html>`__. The language is
11+
mostly equivalent to modern JavaScript. Some features may be missing but feel
12+
free to use for example `JavaScript reference on MDN
1313
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/>`__.
1414

1515
CopyQ-specific features described in this document:
@@ -1242,9 +1242,8 @@ unlike in GUI, where row numbers start from 1 by default.
12421242

12431243
Returns text representation of current date and time.
12441244

1245-
See `Date QML Type
1246-
<https://doc.qt.io/qt-5/qml-qtqml-date.html#format-strings>`__ for details
1247-
on formatting date and time.
1245+
See `Date QML Type <https://doc.qt.io/qt-6/qdatetime.html#toString>`__ for
1246+
details on formatting date and time.
12481247

12491248
:returns: Current date and time as string.
12501249
:rtype: string
@@ -1739,7 +1738,7 @@ Types
17391738

17401739
Wrapper for QByteArray Qt class.
17411740

1742-
See `QByteArray <http://doc.qt.io/qt-5/qbytearray.html>`__.
1741+
See `QByteArray <http://doc.qt.io/qt-6/qbytearray.html>`__.
17431742

17441743
``ByteArray`` is used to store all item data (image data, HTML and even
17451744
plain text).
@@ -1756,7 +1755,7 @@ Types
17561755

17571756
Wrapper for QFile Qt class.
17581757

1759-
See `QFile <http://doc.qt.io/qt-5/qfile.html>`__.
1758+
See `QFile <http://doc.qt.io/qt-6/qfile.html>`__.
17601759

17611760
To open file in different modes use:
17621761

@@ -1795,13 +1794,13 @@ Types
17951794

17961795
Use forward slash as path separator, for example "D:/Documents/".
17971796

1798-
See `QDir <http://doc.qt.io/qt-5/qdir.html>`__.
1797+
See `QDir <http://doc.qt.io/qt-6/qdir.html>`__.
17991798

18001799
.. js:class:: TemporaryFile
18011800

18021801
Wrapper for QTemporaryFile Qt class.
18031802

1804-
See `QTemporaryFile <https://doc.qt.io/qt-5/qtemporaryfile.html>`__.
1803+
See `QTemporaryFile <https://doc.qt.io/qt-6/qtemporaryfile.html>`__.
18051804

18061805
.. code-block:: js
18071806
@@ -1816,7 +1815,7 @@ Types
18161815

18171816
Reads and writes INI configuration files. Wrapper for QSettings Qt class.
18181817

1819-
See `QSettings <https://doc.qt.io/qt-5/qsettings.html>`__.
1818+
See `QSettings <https://doc.qt.io/qt-6/qsettings.html>`__.
18201819

18211820
.. code-block:: js
18221821

docs/source-code-overview.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ Clients and Scripting
6565
~~~~~~~~~~~~~~~~~~~~~
6666

6767
Scripting language is `Qt
68-
Script <https://doc.qt.io/qt-5/qtscript-index.html>`__ (mostly same
69-
syntax and functions as JavaScript).
68+
Script <https://doc.qt.io/qt-6/qtqml-javascript-functionlist.html>`__ (mostly
69+
same syntax and functions as JavaScript).
7070

7171
API is described in :ref:`scripting-api`.
7272

docs/tags.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ E.g. ``.*`` (any tag), ``Important: .*`` (match prefix),
3333

3434
- "Style Sheet"
3535

36-
Simple style sheet (https://doc.qt.io/qt-5/stylesheet-reference.html).
36+
Simple style sheet (https://doc.qt.io/qt-6/stylesheet-reference.html).
3737

3838
E.g. ``border: 1px solid white; border-radius: 3px; font-size: 7pt``.
3939

0 commit comments

Comments
 (0)