mirror of
https://github.com/Eugeny/tabby.git
synced 2025-09-07 09:01:50 +00:00
Compare commits
133 Commits
v1.0.174
...
all-contri
Author | SHA1 | Date | |
---|---|---|---|
![]() |
84a58de57f | ||
![]() |
b519afc42c | ||
![]() |
49aade155b | ||
![]() |
240fc57435 | ||
![]() |
cf7b344fb1 | ||
![]() |
c6e5a951f8 | ||
![]() |
de861ad98e | ||
![]() |
068abec8d8 | ||
![]() |
98d3b824c4 | ||
![]() |
f3cd986f2b | ||
![]() |
6d734ab7c6 | ||
![]() |
4aa824d725 | ||
![]() |
cfa29acb5a | ||
![]() |
cfa1fd38de | ||
![]() |
595b92366b | ||
![]() |
bb59f3a2ef | ||
![]() |
a9a0ea3a42 | ||
![]() |
79cb1f1d9c | ||
![]() |
3a16a118e7 | ||
![]() |
b16210f561 | ||
![]() |
6aafbfc288 | ||
![]() |
41aaac6a23 | ||
![]() |
911e72c398 | ||
![]() |
8e00761b0c | ||
![]() |
4dadba7f80 | ||
![]() |
94b3212afb | ||
![]() |
3a012878d0 | ||
![]() |
bc89774fbc | ||
![]() |
40c3a5427a | ||
![]() |
79b518e17e | ||
![]() |
89bbd6669b | ||
![]() |
d1532f64a0 | ||
![]() |
f7e51c298d | ||
![]() |
a9bcc0b206 | ||
![]() |
45eebf47f3 | ||
![]() |
a4600890c3 | ||
![]() |
54aa027764 | ||
![]() |
8904209bb5 | ||
![]() |
d710c5d3fa | ||
![]() |
e2a74a2f6e | ||
![]() |
e223effe98 | ||
![]() |
4b02d61f3f | ||
![]() |
9b8ae6d6be | ||
![]() |
c9e8e54fe3 | ||
![]() |
004a04640d | ||
![]() |
e71ac85ec3 | ||
![]() |
ed2d1a1606 | ||
![]() |
edc9656fd2 | ||
![]() |
65ef8cde5a | ||
![]() |
6e09931952 | ||
![]() |
4e8cb70fe0 | ||
![]() |
40cf2bde9b | ||
![]() |
21b70b3ee5 | ||
![]() |
2f4318e1f4 | ||
![]() |
c75c5aae14 | ||
![]() |
c39d79c1c6 | ||
![]() |
418df22da4 | ||
![]() |
2f66dc3bb0 | ||
![]() |
2a192af169 | ||
![]() |
a1f269f8ac | ||
![]() |
c1386349ea | ||
![]() |
80443b073c | ||
![]() |
591f0eb445 | ||
![]() |
b2333d5c7c | ||
![]() |
a5282eaf8c | ||
![]() |
5a5b73a636 | ||
![]() |
f406de1873 | ||
![]() |
7744b28561 | ||
![]() |
a32ec15d30 | ||
![]() |
88c8a4667a | ||
![]() |
a9d6a968d5 | ||
![]() |
018355ce44 | ||
![]() |
47a837b109 | ||
![]() |
116c144576 | ||
![]() |
aedad13f48 | ||
![]() |
b9abe4f2ca | ||
![]() |
d1e85dc870 | ||
![]() |
2f0ebf9a61 | ||
![]() |
ac36627392 | ||
![]() |
fab5feb29d | ||
![]() |
69ddd2fc9f | ||
![]() |
3e7f4dd6dc | ||
![]() |
296be13b40 | ||
![]() |
2d7398c623 | ||
![]() |
add55d014e | ||
![]() |
0c8c2d3e95 | ||
![]() |
9b07ab053a | ||
![]() |
f447658c62 | ||
![]() |
40e0bcce17 | ||
![]() |
48c06fc26e | ||
![]() |
360b75693b | ||
![]() |
579c0e9aa5 | ||
![]() |
5a66a64f87 | ||
![]() |
ead2dbc208 | ||
![]() |
37ba06b65c | ||
![]() |
b2c611f9a6 | ||
![]() |
eb6bf288cc | ||
![]() |
0f35b3bcfa | ||
![]() |
86effd748f | ||
![]() |
98f19e1ada | ||
![]() |
9ac7a67d74 | ||
![]() |
adac51c71d | ||
![]() |
aee6ae907d | ||
![]() |
75c911b5e4 | ||
![]() |
8ec419f8e5 | ||
![]() |
2229d54b33 | ||
![]() |
8c0d681345 | ||
![]() |
541c264384 | ||
![]() |
f18c1f6d3a | ||
![]() |
332c5c0b5e | ||
![]() |
4aca0fdf09 | ||
![]() |
26f93f7ac5 | ||
![]() |
237cb5b26c | ||
![]() |
f2f0953b24 | ||
![]() |
39fbf467de | ||
![]() |
d6bcdbde78 | ||
![]() |
38f8a7cfef | ||
![]() |
b27f5c2145 | ||
![]() |
c3e4031aab | ||
![]() |
8c96788b00 | ||
![]() |
725edd53cb | ||
![]() |
1b31187201 | ||
![]() |
b5506cff61 | ||
![]() |
5c325a347c | ||
![]() |
b70a193dbd | ||
![]() |
e2d4ef58c4 | ||
![]() |
d35c03d083 | ||
![]() |
c533e6c8fd | ||
![]() |
690a632f96 | ||
![]() |
d8bec496ee | ||
![]() |
ea38943905 | ||
![]() |
90bd8b424f | ||
![]() |
a874a5e4d5 |
@@ -655,6 +655,42 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "Jai-JAP",
|
||||
"name": "Jai A P",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/78354625?v=4",
|
||||
"profile": "https://github.com/Jai-JAP",
|
||||
"contributions": [
|
||||
"platform"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "ysc3839",
|
||||
"name": "Richard Yu",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/12028138?v=4",
|
||||
"profile": "https://blog.ysc3839.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "artu-ole",
|
||||
"name": "artu-ole",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/15938416?v=4",
|
||||
"profile": "https://github.com/artu-ole",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "TimaGribanov",
|
||||
"name": "Timofey Gribanov",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48593815?v=4",
|
||||
"profile": "https://timagribanov.github.io/",
|
||||
"contributions": [
|
||||
"doc"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
36
.github/workflows/build.yml
vendored
36
.github/workflows/build.yml
vendored
@@ -64,7 +64,7 @@ jobs:
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- name: Build native deps
|
||||
- name: Fix cross build
|
||||
run: |
|
||||
rm -rf app/node_modules/cpu-features
|
||||
rm -rf app/node_modules/ssh2/crypto/build
|
||||
@@ -199,8 +199,6 @@ jobs:
|
||||
mv dist/*.rpm artifact-rpm/ || true
|
||||
mkdir artifact-pacman
|
||||
mv dist/*.pacman artifact-pacman/ || true
|
||||
mkdir artifact-snap
|
||||
mv dist/*.snap artifact-snap/ || true
|
||||
mkdir artifact-tar.gz
|
||||
mv dist/*.tar.gz artifact-tar.gz/ || true
|
||||
mkdir artifact-web
|
||||
@@ -209,31 +207,25 @@ jobs:
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload DEB
|
||||
with:
|
||||
name: Linux DEB
|
||||
name: Linux DEB (x86_64)
|
||||
path: artifact-deb
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload RPM
|
||||
with:
|
||||
name: Linux RPM
|
||||
name: Linux RPM (x86_64)
|
||||
path: artifact-rpm
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload Pacman Package
|
||||
with:
|
||||
name: Linux Pacman
|
||||
name: Linux Pacman (x86_64)
|
||||
path: artifact-pacman
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload Snap
|
||||
with:
|
||||
name: Linux Snap
|
||||
path: artifact-snap
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload Linux tarball
|
||||
with:
|
||||
name: Linux tarball
|
||||
name: Linux tarball (x86_64)
|
||||
path: artifact-tar.gz
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
@@ -242,9 +234,15 @@ jobs:
|
||||
name: Web tarball
|
||||
path: artifact-web
|
||||
|
||||
|
||||
Windows-Build:
|
||||
runs-on: windows-2022
|
||||
needs: Lint
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- arch: x86_64
|
||||
- arch: arm64
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -270,6 +268,8 @@ jobs:
|
||||
node scripts/build-native.js
|
||||
yarn run build
|
||||
node scripts/prepackage-plugins.js
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- name: Build and sign packages
|
||||
run: node scripts/build-windows.js
|
||||
@@ -283,6 +283,8 @@ jobs:
|
||||
- name: Build packages without signing
|
||||
run: node scripts/build-windows.js
|
||||
if: "!(github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))"
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- name: Upload symbols
|
||||
run: |
|
||||
@@ -296,18 +298,18 @@ jobs:
|
||||
- name: Package artifacts
|
||||
run: |
|
||||
mkdir artifact-setup
|
||||
mv dist/*-setup.exe artifact-setup/
|
||||
mv dist/*-setup-*.exe artifact-setup/
|
||||
mkdir artifact-portable
|
||||
mv dist/*-portable.zip artifact-portable/
|
||||
mv dist/*-portable-*.zip artifact-portable/
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload installer
|
||||
with:
|
||||
name: Windows installer
|
||||
name: Windows installer (${{matrix.arch}})
|
||||
path: artifact-setup
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload portable build
|
||||
with:
|
||||
name: Windows portable build
|
||||
name: Windows portable build (${{matrix.arch}})
|
||||
path: artifact-portable
|
||||
|
@@ -14,6 +14,8 @@ yarn
|
||||
./scripts/build-native.js
|
||||
```
|
||||
|
||||
**Note: For compiling for Linux armv7l, you need to downgrade electron to 17.0.0 in package.json present in root directory of tabby source**
|
||||
|
||||
```
|
||||
# Linux (Debian/Ubuntu here as an example)
|
||||
sudo apt install libfontconfig-dev libsecret-1-dev libarchive-tools libnss3 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libgbm1 cmake
|
||||
|
@@ -241,6 +241,10 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -235,6 +235,10 @@ Pull requests and plugins are welcome!
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -240,6 +240,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -21,7 +21,7 @@
|
||||
|
||||
<br/>
|
||||
<p align="center">
|
||||
Этот README также доступен на: <a href="./README.md">Английском</a> <a href="./README.ko-KR.md">Корейском</a> <a href="./README.zh-CN.md">Китайском</a>
|
||||
Этот README также доступен на: <a href="./README.md">English</a> <a href="./README.ko-KR.md">한국어</a> <a href="./README.zh-CN.md">简体中文</a> <a href="./README.it-IT.md">Italiano</a>
|
||||
</p>
|
||||
|
||||
----
|
||||
@@ -241,6 +241,10 @@ Pull-запросы и плагины приветствуются!
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -240,6 +240,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="http://microhobby.com.br/blog"><img src="https://avatars.githubusercontent.com/u/2633321?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Castello</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=microhobby" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/Jai-JAP"><img src="https://avatars.githubusercontent.com/u/78354625?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jai A P</b></sub></a><br /><a href="#platform-Jai-JAP" title="Packaging/porting to new platform">📦</a></td>
|
||||
<td align="center"><a href="https://blog.ysc3839.com"><img src="https://avatars.githubusercontent.com/u/12028138?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Richard Yu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=ysc3839" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://github.com/artu-ole"><img src="https://avatars.githubusercontent.com/u/15938416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artu-ole</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=artu-ole" title="Code">💻</a></td>
|
||||
<td align="center"><a href="https://timagribanov.github.io/"><img src="https://avatars.githubusercontent.com/u/48593815?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timofey Gribanov</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=TimaGribanov" title="Documentation">📖</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
@@ -182,7 +182,7 @@ export class Window {
|
||||
console.error('Failed to set window blur', error)
|
||||
}
|
||||
} else {
|
||||
DwmEnableBlurBehindWindow(this.window, enabled)
|
||||
DwmEnableBlurBehindWindow(this.window.getNativeWindowHandle(), enabled)
|
||||
}
|
||||
} else if (process.platform === 'linux') {
|
||||
this.window.setBackgroundColor(enabled ? '#00000000' : '#131d27')
|
||||
|
@@ -40,7 +40,7 @@
|
||||
"serialport": "10.4.0",
|
||||
"serialport-binding-webserialapi": "^1.0.3",
|
||||
"windows-native-registry": "^3.2.1",
|
||||
"windows-process-tree": "^0.3.2"
|
||||
"windows-process-tree": "^0.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mz": "2.7.4",
|
||||
|
@@ -2133,9 +2133,9 @@ minimatch@^3.0.4:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0:
|
||||
version "2.9.0"
|
||||
@@ -3885,10 +3885,10 @@ windows-native-registry@^3.2.1:
|
||||
dependencies:
|
||||
node-addon-api "^3.1.0"
|
||||
|
||||
windows-process-tree@^0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.3.2.tgz#8c39f39e7707e09fd74638a7ef644b5f389096d3"
|
||||
integrity sha512-x8Y4KOV8tUhhPiO0TH7wOMTZ677rw7VEwq+dTuHHiLTClkrNXWSY3XzP6ez3fs2Cab4FajrtmiqRs0jTMZHfyw==
|
||||
windows-process-tree@^0.3.3:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.3.3.tgz#7c178815f02bf4cfbcac1f93b2f3a3cc10bc9245"
|
||||
integrity sha512-rkiAMP0AS27xikFyn7i4gPbOK16UdjY8X/C6eo37CnfNLqTvK2eEaT+Dh0e5xnvmlsi0lEKd60O+4ajzfDkq7A==
|
||||
dependencies:
|
||||
nan "^2.13.2"
|
||||
|
||||
|
@@ -39,11 +39,11 @@ publish:
|
||||
|
||||
win:
|
||||
icon: "./build/windows/icon.ico"
|
||||
artifactName: tabby-${version}-portable.${ext}
|
||||
artifactName: tabby-${version}-portable-${env.ARCH}.${ext}
|
||||
rfc3161TimeStampServer: http://timestamp.sectigo.com
|
||||
nsis:
|
||||
oneClick: false
|
||||
artifactName: tabby-${version}-setup.${ext}
|
||||
artifactName: tabby-${version}-setup-${env.ARCH}.${ext}
|
||||
installerIcon: "./build/windows/icon.ico"
|
||||
allowToChangeInstallationDirectory: true
|
||||
shortcutName: Tabby Terminal
|
||||
@@ -68,7 +68,7 @@ mac:
|
||||
linux:
|
||||
category: "Utility;TerminalEmulator;System"
|
||||
icon: "./build/icons"
|
||||
artifactName: tabby-${version}-linux.${ext}
|
||||
artifactName: tabby-${version}-linux-${env.ARCH}.${ext}
|
||||
executableArgs:
|
||||
- "--no-sandbox"
|
||||
desktop:
|
||||
|
@@ -190,12 +190,12 @@ msgid "Bracketed paste (requires shell support)"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:48
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:164
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:165
|
||||
msgid "Built-in"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/renameTabModal.component.html:7
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:53
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:55
|
||||
#: locale/tmp-html/tabby-settings/src/components/hotkeyInputModal.component.html:14
|
||||
#: locale/tmp-html/tabby-settings/src/components/setVaultPassphraseModal.component.html:14
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpDeleteModal.component.html:7
|
||||
@@ -226,7 +226,7 @@ msgstr ""
|
||||
msgid "Ciphers"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/services/profiles.service.ts:124
|
||||
#: tabby-core/src/services/profiles.service.ts:125
|
||||
msgid "Clear recent profiles"
|
||||
msgstr ""
|
||||
|
||||
@@ -267,7 +267,7 @@ msgstr ""
|
||||
msgid "Close tabs to the right"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:33
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:35
|
||||
#: tabby-core/src/tabContextMenu.ts:124
|
||||
msgid "Color"
|
||||
msgstr ""
|
||||
@@ -318,8 +318,8 @@ msgstr ""
|
||||
msgid "Connect through a proxy server"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/index.ts:211
|
||||
#: tabby-core/src/services/profiles.service.ts:166
|
||||
#: tabby-core/src/index.ts:214
|
||||
#: tabby-core/src/services/profiles.service.ts:170
|
||||
msgid "Connect to \"%s\"..."
|
||||
msgstr ""
|
||||
|
||||
@@ -329,7 +329,7 @@ msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:10
|
||||
#: tabby-serial/src/components/serialTab.component.ts:72
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:144
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:145
|
||||
#: tabby-telnet/src/components/telnetTab.component.ts:81
|
||||
msgid "Connecting"
|
||||
msgstr ""
|
||||
@@ -342,7 +342,7 @@ msgstr ""
|
||||
msgid "Connection failed: {error}"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:40
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:42
|
||||
msgid "Connection name will be used instead"
|
||||
msgstr ""
|
||||
|
||||
@@ -400,6 +400,10 @@ msgstr ""
|
||||
msgid "Cursor shape"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:47
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:77
|
||||
msgid "Custom CSS"
|
||||
msgstr ""
|
||||
@@ -431,19 +435,19 @@ msgstr ""
|
||||
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:28
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:9
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:129
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:191
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:204
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:194
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:207
|
||||
#: tabby-settings/src/components/vaultSettingsTab.component.ts:49
|
||||
#: tabby-ssh/src/sftpContextMenu.ts:33
|
||||
#: tabby-ssh/src/sftpContextMenu.ts:41
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:86
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:89
|
||||
#: tabby-terminal/src/components/loginScriptsSettings.component.ts:32
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:127
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:189
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:84
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:192
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:87
|
||||
msgid "Delete \"{name}\"?"
|
||||
msgstr ""
|
||||
|
||||
@@ -459,7 +463,7 @@ msgstr ""
|
||||
msgid "Delete previous word"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:201
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:204
|
||||
msgid "Delete the group's profiles?"
|
||||
msgstr ""
|
||||
|
||||
@@ -487,10 +491,14 @@ msgstr ""
|
||||
msgid "Disable"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:39
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:41
|
||||
msgid "Disable dynamic tab title"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:189
|
||||
msgid "Disable fluent background while dragging"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:182
|
||||
msgid "Disable GPU acceleration"
|
||||
msgstr ""
|
||||
@@ -500,12 +508,12 @@ msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:26
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:245
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:246
|
||||
#: tabby-telnet/src/components/telnetTab.component.ts:124
|
||||
msgid "Disconnect"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:243
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:244
|
||||
#: tabby-telnet/src/components/telnetTab.component.ts:122
|
||||
msgid "Disconnect from {host}?"
|
||||
msgstr ""
|
||||
@@ -518,7 +526,7 @@ msgstr ""
|
||||
msgid "Do not abort"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:246
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:247
|
||||
#: tabby-telnet/src/components/telnetTab.component.ts:125
|
||||
msgid "Do not close"
|
||||
msgstr ""
|
||||
@@ -654,6 +662,10 @@ msgstr ""
|
||||
msgid "Fixed"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:190
|
||||
msgid "Fluent background sometimes causes drag lag"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:136
|
||||
msgid "Focus all panes"
|
||||
msgstr ""
|
||||
@@ -893,9 +905,9 @@ msgid "Jump to previous word"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:130
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:192
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:195
|
||||
#: tabby-settings/src/components/vaultSettingsTab.component.ts:50
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:87
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:90
|
||||
#: tabby-terminal/src/components/loginScriptsSettings.component.ts:33
|
||||
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:49
|
||||
msgid "Keep"
|
||||
@@ -990,7 +1002,7 @@ msgid "Local echo"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-local/src/profiles.ts:11
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:238
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:237
|
||||
msgid "Local terminal"
|
||||
msgstr ""
|
||||
|
||||
@@ -1004,7 +1016,7 @@ msgstr ""
|
||||
msgid "Long-click for context menu"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/services/profiles.service.ts:151
|
||||
#: tabby-core/src/services/profiles.service.ts:154
|
||||
msgid "Manage profiles"
|
||||
msgstr ""
|
||||
|
||||
@@ -1032,7 +1044,7 @@ msgstr ""
|
||||
msgid "Move tab to the right"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:203
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:206
|
||||
msgid "Move to \"Ungrouped\""
|
||||
msgstr ""
|
||||
|
||||
@@ -1061,7 +1073,7 @@ msgstr ""
|
||||
msgid "New item"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:173
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:176
|
||||
#: tabby-settings/src/components/vaultSettingsTab.component.ts:118
|
||||
msgid "New name"
|
||||
msgstr ""
|
||||
@@ -1294,7 +1306,7 @@ msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-serial/src/components/serialTab.component.ts:92
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:176
|
||||
#: tabby-ssh/src/components/sshTab.component.ts:177
|
||||
#: tabby-telnet/src/components/telnetTab.component.ts:58
|
||||
msgid "Press any key to reconnect"
|
||||
msgstr ""
|
||||
@@ -1329,7 +1341,7 @@ msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:2
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:4
|
||||
#: tabby-local/src/services/dockMenu.service.ts:25
|
||||
#: tabby-local/src/services/dockMenu.service.ts:40
|
||||
msgid "Profiles"
|
||||
msgstr ""
|
||||
|
||||
@@ -1354,8 +1366,8 @@ msgstr ""
|
||||
msgid "Puts all of Tabby's configuration into the vault"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/index.ts:210
|
||||
#: tabby-core/src/services/profiles.service.ts:165
|
||||
#: tabby-core/src/index.ts:213
|
||||
#: tabby-core/src/services/profiles.service.ts:169
|
||||
msgid "Quick connect"
|
||||
msgstr ""
|
||||
|
||||
@@ -1373,7 +1385,8 @@ msgid "Ready Timeout (Milliseconds)"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/services/profiles.service.ts:112
|
||||
#: tabby-core/src/services/profiles.service.ts:125
|
||||
#: tabby-core/src/services/profiles.service.ts:126
|
||||
#: tabby-local/src/services/dockMenu.service.ts:28
|
||||
msgid "Recent"
|
||||
msgstr ""
|
||||
|
||||
@@ -1478,7 +1491,7 @@ msgid "Run as administrator"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/renameTabModal.component.html:6
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:52
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:54
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:28
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
@@ -1527,12 +1540,24 @@ msgstr ""
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-terminal/src/components/colorSchemeSettingsTab.component.ts:10
|
||||
msgid "Search color schemes"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/hotkeySettingsTab.component.ts:11
|
||||
msgid "Search hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-plugin-manager/src/components/pluginsSettingsTab.component.ts:14
|
||||
msgid "Search plugins"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:19
|
||||
msgid "Secret sync token"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:45
|
||||
#: tabby-electron/src/services/platform.service.ts:208
|
||||
#: tabby-electron/src/services/platform.service.ts:209
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
@@ -1544,11 +1569,11 @@ msgstr ""
|
||||
msgid "Select file storage"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/index.ts:222
|
||||
#: tabby-core/src/index.ts:225
|
||||
msgid "Select profile"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-core/src/services/profiles.service.ts:174
|
||||
#: tabby-core/src/services/profiles.service.ts:178
|
||||
msgid "Select profile or enter an address"
|
||||
msgstr ""
|
||||
|
||||
@@ -1912,7 +1937,7 @@ msgstr ""
|
||||
msgid "Try again"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-ssh/src/session/ssh.ts:473
|
||||
#: tabby-ssh/src/session/ssh.ts:474
|
||||
msgid "Trying saved password"
|
||||
msgstr ""
|
||||
|
||||
@@ -1928,7 +1953,7 @@ msgstr ""
|
||||
msgid "Uninstall"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:241
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:240
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1983,7 +2008,7 @@ msgstr ""
|
||||
msgid "Using CONNECT method"
|
||||
msgstr ""
|
||||
|
||||
#: tabby-ssh/src/session/ssh.ts:462
|
||||
#: tabby-ssh/src/session/ssh.ts:463
|
||||
msgid "Using preset password"
|
||||
msgstr ""
|
||||
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it_IT\n"
|
||||
"PO-Revision-Date: 2022-02-28 08:08\n"
|
||||
"PO-Revision-Date: 2022-03-22 14:14\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -128,7 +128,7 @@ msgstr "Chiedi conferma prima di chiudere una scheda"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:122
|
||||
msgid "Audible"
|
||||
msgstr "Sonoro"
|
||||
msgstr "Sonore"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:74
|
||||
msgid "Authentication method"
|
||||
@@ -1147,7 +1147,7 @@ msgstr "Numero di righe conservate nel buffer"
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:116
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:48
|
||||
msgid "Off"
|
||||
msgstr "Spento"
|
||||
msgstr "Disattivo"
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:79
|
||||
msgid "Official"
|
||||
@@ -1707,7 +1707,7 @@ msgstr "Porta proxy SOCKS"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:109
|
||||
msgid "Sound"
|
||||
msgstr "Avvisi"
|
||||
msgstr "Notifiche"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:31
|
||||
msgid "Source code"
|
||||
@@ -1867,7 +1867,7 @@ msgstr "Sfondo del terminale"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:112
|
||||
msgid "Terminal bell"
|
||||
msgstr "Avvisi del terminale"
|
||||
msgstr "Notifiche del terminale"
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
|
||||
msgid "Thank you for downloading Tabby!"
|
||||
@@ -2040,7 +2040,7 @@ msgstr "Trasparenza"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:119
|
||||
msgid "Visual"
|
||||
msgstr "Visivo"
|
||||
msgstr "Visive"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:102
|
||||
msgid "Warn on multi-line paste"
|
||||
|
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Polish\n"
|
||||
"Language: pl_PL\n"
|
||||
"PO-Revision-Date: 2022-02-28 08:08\n"
|
||||
"PO-Revision-Date: 2022-03-22 14:14\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -288,7 +288,7 @@ msgstr "Szablon kolorów"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:65
|
||||
msgid "Combine all tabs into the current tab"
|
||||
msgstr ""
|
||||
msgstr "Połącz wszystkie karty w aktualną kartę"
|
||||
|
||||
#: locale/tmp-html/tabby-local/src/components/commandLineEditor.component.html:4
|
||||
msgid "Command line"
|
||||
@@ -831,15 +831,15 @@ msgstr "Klawisze skrótów"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
|
||||
msgid "HTTP proxy"
|
||||
msgstr ""
|
||||
msgstr "HTTP proxy"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:61
|
||||
msgid "HTTP proxy host"
|
||||
msgstr ""
|
||||
msgstr "HTTP proxy host"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:65
|
||||
msgid "HTTP proxy port"
|
||||
msgstr ""
|
||||
msgstr "HTTP proxy port"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:20
|
||||
msgid "Icon"
|
||||
@@ -929,7 +929,7 @@ msgstr "Wymiana kluczy"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:23
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
msgstr "Klawiatura"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/keyboardInteractiveAuthPanel.component.html:2
|
||||
msgid "Keyboard-interactive auth"
|
||||
@@ -1032,7 +1032,7 @@ msgstr "Zmodyfikowano {date}"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:40
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
msgstr "Mysz"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:45
|
||||
msgid "Move tab to the left"
|
||||
@@ -1707,7 +1707,7 @@ msgstr "SOCKS proxy port"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:109
|
||||
msgid "Sound"
|
||||
msgstr ""
|
||||
msgstr "Dźwięk"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:31
|
||||
msgid "Source code"
|
||||
@@ -1928,7 +1928,7 @@ msgstr "Próba zapisanego hasła"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:61
|
||||
msgid "Turn current tab's panes into separate tabs"
|
||||
msgstr ""
|
||||
msgstr "Zamień panele bieżącej karty w oddzielne karty"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:17
|
||||
msgid "Ungrouped"
|
||||
@@ -1991,7 +1991,7 @@ msgstr "Nazwa Użytkownika"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:25
|
||||
msgid "Using CONNECT method"
|
||||
msgstr ""
|
||||
msgstr "Użycie metody CONNECT"
|
||||
|
||||
#: tabby-ssh/src/session/ssh.ts:462
|
||||
msgid "Using preset password"
|
||||
@@ -2097,7 +2097,7 @@ msgstr "Ramka okna"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:147
|
||||
msgid "Windows"
|
||||
msgstr ""
|
||||
msgstr "Windows"
|
||||
|
||||
#: locale/tmp-html/tabby-local/src/components/shellSettingsTab.component.html:11
|
||||
msgid "Windows 10 build 18309 or above is recommended for ConPTY"
|
||||
|
2159
locale/pt-BR.po
Normal file
2159
locale/pt-BR.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Language: pt_PT\n"
|
||||
"PO-Revision-Date: 2022-03-06 13:35\n"
|
||||
"PO-Revision-Date: 2022-03-22 14:20\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@@ -847,7 +847,7 @@ msgstr "Ícone"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:154
|
||||
msgid "id.tab-width.dynamic"
|
||||
msgstr "id.tab-width.dynamic"
|
||||
msgstr "Dinâmico"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:64
|
||||
msgid "If disabled, only custom profiles will show up in the profile selector"
|
||||
@@ -2155,5 +2155,5 @@ msgstr "Diminuir zoom"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshPortForwardingConfig.component.html:55
|
||||
msgctxt "[Dynamic] port forwarding"
|
||||
msgid "id.port-forwarding.dynamic"
|
||||
msgstr "id.port-forwarding.dynamic"
|
||||
msgstr "Dinâmico"
|
||||
|
||||
|
12
package.json
12
package.json
@@ -9,9 +9,9 @@
|
||||
"@angular/platform-browser": "^12.0.0",
|
||||
"@angular/platform-browser-dynamic": "^12.0.0",
|
||||
"@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
|
||||
"@fortawesome/fontawesome-free": "^6.0.0",
|
||||
"@fortawesome/fontawesome-free": "^6.1.1",
|
||||
"@ng-bootstrap/ng-bootstrap": "^10.0.0",
|
||||
"@sentry/cli": "^1.73.0",
|
||||
"@sentry/cli": "^1.74.3",
|
||||
"@sentry/electron": "^2.5.4",
|
||||
"@tabby-gang/to-string-loader": "^1.1.7-beta.2",
|
||||
"@types/deep-equal": "1.0.1",
|
||||
@@ -34,11 +34,11 @@
|
||||
"cross-env": "7.0.3",
|
||||
"css-loader": "^6.7.1",
|
||||
"deep-equal": "2.0.5",
|
||||
"electron": "17.1.2",
|
||||
"electron": "18.0.1",
|
||||
"electron-builder": "^22.14.13",
|
||||
"electron-download": "^4.1.1",
|
||||
"electron-installer-snap": "^5.1.0",
|
||||
"electron-notarize": "^1.1.1",
|
||||
"electron-notarize": "^1.2.1",
|
||||
"electron-rebuild": "^3.2.7",
|
||||
"eslint": "^7.32.0",
|
||||
"file-loader": "^6.2.0",
|
||||
@@ -68,11 +68,11 @@
|
||||
"shell-quote": "^1.7.3",
|
||||
"shelljs": "0.8.5",
|
||||
"slugify": "^1.6.5",
|
||||
"sortablejs": "^1.14.0",
|
||||
"sortablejs": "^1.15.0",
|
||||
"source-code-pro": "^2.38.0",
|
||||
"source-map-loader": "^3.0.1",
|
||||
"source-sans-pro": "3.6.0",
|
||||
"ssh2": "^1.7.0",
|
||||
"ssh2": "^1.8.0",
|
||||
"style-loader": "^3.3.1",
|
||||
"svg-inline-loader": "^0.8.2",
|
||||
"ts-loader": "^9.2.8",
|
||||
|
@@ -4,9 +4,13 @@ const vars = require('./vars')
|
||||
|
||||
const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/')
|
||||
|
||||
process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch
|
||||
|
||||
builder({
|
||||
dir: true,
|
||||
linux: ['deb', 'tar.gz', 'rpm', 'pacman'],
|
||||
armv7l: process.env.ARCH === 'armv7l',
|
||||
arm64: process.env.ARCH === 'arm64',
|
||||
config: {
|
||||
extraMetadata: {
|
||||
version: vars.version,
|
||||
|
@@ -3,12 +3,14 @@ const rebuild = require('electron-rebuild').default
|
||||
const path = require('path')
|
||||
const vars = require('./vars')
|
||||
|
||||
process.env.ARCH = process.env.ARCH || process.arch === 'arm' ? 'armv7l' : process.arch
|
||||
|
||||
let lifecycles = []
|
||||
for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) {
|
||||
const build = rebuild({
|
||||
buildPath: path.resolve(__dirname, '../' + dir),
|
||||
electronVersion: vars.electronVersion,
|
||||
arch: process.env.ARCH ?? process.arch,
|
||||
arch: process.env.ARCH,
|
||||
force: true,
|
||||
})
|
||||
build.catch(e => {
|
||||
|
@@ -5,9 +5,12 @@ const vars = require('./vars')
|
||||
const isTag = (process.env.GITHUB_REF || process.env.BUILD_SOURCEBRANCH || '').startsWith('refs/tags/')
|
||||
const isCI = !!process.env.GITHUB_REF
|
||||
|
||||
process.env.ARCH = process.env.ARCH || process.arch
|
||||
|
||||
builder({
|
||||
dir: true,
|
||||
win: ['nsis', 'zip'],
|
||||
arm64: process.env.ARCH === 'arm64',
|
||||
config: {
|
||||
extraMetadata: {
|
||||
version: vars.version,
|
||||
|
@@ -4,7 +4,7 @@ hotkeys:
|
||||
close-tab:
|
||||
- 'Ctrl-Shift-W'
|
||||
reopen-tab:
|
||||
- 'Ctrl-Shift-T'
|
||||
- 'Ctrl-Shift-Z'
|
||||
toggle-last-tab: []
|
||||
rename-tab:
|
||||
- 'Ctrl-Shift-R'
|
||||
@@ -56,7 +56,7 @@ hotkeys:
|
||||
tab-19: []
|
||||
tab-20: []
|
||||
split-right:
|
||||
- 'Ctrl-Shift-E'
|
||||
- 'Ctrl-Shift-S'
|
||||
split-bottom:
|
||||
- 'Ctrl-Shift-D'
|
||||
split-left: []
|
||||
@@ -79,4 +79,4 @@ hotkeys:
|
||||
switch-profile:
|
||||
- 'Ctrl-Alt-T'
|
||||
profile-selector:
|
||||
- 'Ctrl-Shift-T'
|
||||
- 'Ctrl-Shift-E'
|
||||
|
@@ -5,7 +5,7 @@ hotkeys:
|
||||
close-tab:
|
||||
- 'Ctrl-Shift-W'
|
||||
reopen-tab:
|
||||
- 'Ctrl-Shift-T'
|
||||
- 'Ctrl-Shift-Z'
|
||||
toggle-last-tab: []
|
||||
rename-tab:
|
||||
- 'Ctrl-Shift-R'
|
||||
@@ -57,7 +57,7 @@ hotkeys:
|
||||
tab-19: []
|
||||
tab-20: []
|
||||
split-right:
|
||||
- 'Ctrl-Shift-E'
|
||||
- 'Ctrl-Shift-S'
|
||||
split-bottom:
|
||||
- 'Ctrl-Shift-D'
|
||||
split-left: []
|
||||
@@ -80,4 +80,4 @@ hotkeys:
|
||||
switch-profile:
|
||||
- 'Ctrl-Alt-T'
|
||||
profile-selector:
|
||||
- 'Ctrl-Shift-T'
|
||||
- 'Ctrl-Shift-E'
|
||||
|
File diff suppressed because one or more lines are too long
@@ -102,6 +102,10 @@ export class LocaleService {
|
||||
code: 'pt-PT',
|
||||
name: 'Português',
|
||||
},
|
||||
{
|
||||
code: 'pt-BR',
|
||||
name: 'Português do Brasil',
|
||||
},
|
||||
{
|
||||
code: 'bg-BG',
|
||||
name: 'Български',
|
||||
|
@@ -90,9 +90,9 @@ messageformat@^2.3.0:
|
||||
messageformat-parser "^4.1.2"
|
||||
|
||||
minimist@^1.2.0:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
mixpanel@^0.13.0:
|
||||
version "0.13.0"
|
||||
|
@@ -152,7 +152,7 @@ export class ElectronPlatformService extends PlatformService {
|
||||
|
||||
async listFonts (): Promise<string[]> {
|
||||
if (this.hostApp.platform === Platform.Windows || this.hostApp.platform === Platform.macOS) {
|
||||
let fonts = await new Promise<any[]>((resolve) => fontManager.findFonts({ monospace: true }, resolve))
|
||||
let fonts = await new Promise<any[]>((resolve) => fontManager.findFonts({}, resolve))
|
||||
fonts = fonts.map(x => x.family.trim())
|
||||
return fonts
|
||||
}
|
||||
|
@@ -13,6 +13,8 @@ export interface Shell {
|
||||
*/
|
||||
fsBase?: string
|
||||
|
||||
cwd?: string
|
||||
|
||||
/**
|
||||
* SVG icon
|
||||
*/
|
||||
|
@@ -80,6 +80,7 @@ export class LocalProfilesService extends ProfileProvider<LocalProfile> {
|
||||
command: shell.command,
|
||||
args: shell.args ?? [],
|
||||
env: shell.env,
|
||||
cwd: shell.cwd,
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -26,6 +26,13 @@ export class MSYS2ShellProvider extends ShellProvider {
|
||||
return []
|
||||
}
|
||||
|
||||
let homePath: string|undefined = path.resolve(msys2Path, 'home', process.env.USERNAME!)
|
||||
try {
|
||||
await fs.access(msys2Path)
|
||||
} catch {
|
||||
homePath = undefined
|
||||
}
|
||||
|
||||
const environments = ['msys', 'mingw64', 'clang64', 'ucrt64']
|
||||
|
||||
return environments.map(e => ({
|
||||
@@ -35,6 +42,7 @@ export class MSYS2ShellProvider extends ShellProvider {
|
||||
args: ['-defterm', '-here', '-no-start', '-' + e],
|
||||
icon: require('../icons/msys2.svg'),
|
||||
env: {},
|
||||
cwd: homePath,
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ ul.nav-tabs.mb-2(ngbNav, #nav='ngbNav')
|
||||
type='text',
|
||||
[(ngModel)]='_1',
|
||||
(ngModelChange)='searchAvailable(_1)',
|
||||
placeholder='Search plugins'
|
||||
[placeholder]='"Search plugins"|translate'
|
||||
)
|
||||
|
||||
ngb-accordion.mb-4(*ngIf='availablePlugins$', [closeOthers]='true')
|
||||
|
@@ -1,4 +1,5 @@
|
||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
|
||||
import { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, first, tap, flatMap, map } from 'rxjs'
|
||||
import semverGt from 'semver/functions/gt'
|
||||
|
||||
@@ -10,6 +11,8 @@ enum BusyState { Installing = 'Installing', Uninstalling = 'Uninstalling' }
|
||||
|
||||
const FORCE_ENABLE = ['tabby-core', 'tabby-settings', 'tabby-electron', 'tabby-web', 'tabby-plugin-manager']
|
||||
|
||||
_('Search plugins')
|
||||
|
||||
/** @hidden */
|
||||
@Component({
|
||||
template: require('./pluginsSettingsTab.component.pug'),
|
||||
|
@@ -4,7 +4,7 @@ h3.mb-3(translate) Hotkeys
|
||||
.input-group-prepend
|
||||
.input-group-text
|
||||
i.fas.fa-fw.fa-search
|
||||
input.form-control(type='search', placeholder='Search hotkeys', [(ngModel)]='hotkeyFilter')
|
||||
input.form-control(type='search', [placeholder]='"Search hotkeys"|translate', [(ngModel)]='hotkeyFilter')
|
||||
|
||||
.form-group.hotkeys-table
|
||||
ng-container(*ngFor='let hotkey of hotkeyDescriptions')
|
||||
|
@@ -1,4 +1,5 @@
|
||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
|
||||
import { Component, NgZone } from '@angular/core'
|
||||
import {
|
||||
ConfigService,
|
||||
@@ -7,6 +8,8 @@ import {
|
||||
HostAppService,
|
||||
} from 'tabby-core'
|
||||
|
||||
_('Search hotkeys')
|
||||
|
||||
/** @hidden */
|
||||
@Component({
|
||||
selector: 'hotkey-settings-tab',
|
||||
|
@@ -36,7 +36,7 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
|
||||
ng-container(*ngFor='let group of profileGroups')
|
||||
ng-container(*ngIf='isGroupVisible(group)')
|
||||
.list-group-item.list-group-item-action.d-flex.align-items-center(
|
||||
(click)='group.collapsed = !group.collapsed'
|
||||
(click)='toggleGroupCollapse(group)'
|
||||
)
|
||||
.fa.fa-fw.fa-chevron-right(*ngIf='group.collapsed')
|
||||
.fa.fa-fw.fa-chevron-down(*ngIf='!group.collapsed')
|
||||
|
@@ -143,6 +143,7 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
refresh (): void {
|
||||
this.profiles = this.config.store.profiles
|
||||
this.profileGroups = []
|
||||
const profileGroupCollapsed = JSON.parse(window.localStorage.profileGroupCollapsed ?? '{}')
|
||||
|
||||
for (const profile of this.profiles) {
|
||||
let group = this.profileGroups.find(x => x.name === profile.group)
|
||||
@@ -151,7 +152,7 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
name: profile.group,
|
||||
profiles: [],
|
||||
editable: true,
|
||||
collapsed: false,
|
||||
collapsed: profileGroupCollapsed[profile.group ?? ''] ?? false,
|
||||
}
|
||||
this.profileGroups.push(group)
|
||||
}
|
||||
@@ -160,12 +161,14 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
|
||||
this.profileGroups.sort((a, b) => a.name?.localeCompare(b.name ?? '') ?? -1)
|
||||
|
||||
this.profileGroups.push({
|
||||
const builtIn = {
|
||||
name: this.translate.instant('Built-in'),
|
||||
profiles: this.builtinProfiles,
|
||||
editable: false,
|
||||
collapsed: false,
|
||||
})
|
||||
}
|
||||
builtIn.collapsed = profileGroupCollapsed[builtIn.name ?? ''] ?? false
|
||||
this.profileGroups.push(builtIn)
|
||||
}
|
||||
|
||||
async editGroup (group: ProfileGroup): Promise<void> {
|
||||
@@ -246,6 +249,13 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
}[this.profilesService.providerForProfile(profile)?.id ?? ''] ?? 'warning'
|
||||
}
|
||||
|
||||
toggleGroupCollapse (group: ProfileGroup): void {
|
||||
group.collapsed = !group.collapsed
|
||||
const profileGroupCollapsed = JSON.parse(window.localStorage.profileGroupCollapsed ?? '{}')
|
||||
profileGroupCollapsed[group.name ?? ''] = group.collapsed
|
||||
window.localStorage.profileGroupCollapsed = JSON.stringify(profileGroupCollapsed)
|
||||
}
|
||||
|
||||
async editDefaults (provider: ProfileProvider<Profile>): Promise<void> {
|
||||
const modal = this.ngbModal.open(
|
||||
EditProfileModalComponent,
|
||||
|
@@ -318,8 +318,8 @@ h3.mt-4(translate) Hacks
|
||||
|
||||
.form-line(*ngIf='hostApp.platform === Platform.Windows')
|
||||
.header
|
||||
.title Disable fluent background while dragging
|
||||
.description Fluent background sometimes causes drag lag
|
||||
.title(translate) Disable fluent background while dragging
|
||||
.description(translate) Fluent background sometimes causes drag lag
|
||||
|
||||
toggle(
|
||||
[(ngModel)]='config.store.hacks.disableVibrancyWhileDragging',
|
||||
|
@@ -0,0 +1,12 @@
|
||||
.modal-body
|
||||
label(translate) Name for the new directory
|
||||
.form-group.w-100.mr-2
|
||||
input.form-control(
|
||||
type='text',
|
||||
[(ngModel)]='directoryName',
|
||||
)
|
||||
|
||||
|
||||
.modal-footer
|
||||
button.btn.btn-success((click)='create()', translate) Create
|
||||
button.btn.btn-danger((click)='cancel()', translate) Cancel
|
@@ -0,0 +1,24 @@
|
||||
import { Component } from '@angular/core'
|
||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
|
||||
import { BaseComponent } from 'tabby-core'
|
||||
|
||||
/** @hidden */
|
||||
@Component({
|
||||
template: require('./sftpCreateDirectoryModal.component.pug'),
|
||||
})
|
||||
export class SFTPCreateDirectoryModalComponent extends BaseComponent {
|
||||
directoryName: string
|
||||
|
||||
constructor (
|
||||
private modalInstance: NgbActiveModal,
|
||||
) {
|
||||
super()
|
||||
}
|
||||
|
||||
create (): void {
|
||||
this.modalInstance.close(this.directoryName)
|
||||
}
|
||||
cancel (): void {
|
||||
this.modalInstance.close('')
|
||||
}
|
||||
}
|
@@ -6,6 +6,10 @@
|
||||
(click)='navigate(segment.path)'
|
||||
) {{segment.name}}
|
||||
|
||||
button.btn.btn-link.btn-sm.d-flex((click)='openCreateDirectoryModal()')
|
||||
i.fas.fa-plus.mr-1
|
||||
div(translate) Create directory
|
||||
|
||||
button.btn.btn-link.btn-sm.d-flex((click)='upload()')
|
||||
i.fas.fa-upload.mr-1
|
||||
div(translate) Upload
|
||||
|
@@ -5,6 +5,8 @@ import { FileUpload, MenuItemOptions, NotificationsService, PlatformService } fr
|
||||
import { SFTPSession, SFTPFile } from '../session/sftp'
|
||||
import { SSHSession } from '../session/ssh'
|
||||
import { SFTPContextMenuItemProvider } from '../api'
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||
import { SFTPCreateDirectoryModalComponent } from './sftpCreateDirectoryModal.component'
|
||||
|
||||
interface PathSegment {
|
||||
name: string
|
||||
@@ -26,6 +28,7 @@ export class SFTPPanelComponent {
|
||||
pathSegments: PathSegment[] = []
|
||||
|
||||
constructor (
|
||||
private ngbModal: NgbModal,
|
||||
private platform: PlatformService,
|
||||
private notifications: NotificationsService,
|
||||
@Optional() @Inject(SFTPContextMenuItemProvider) protected contextMenuProviders: SFTPContextMenuItemProvider[],
|
||||
@@ -106,14 +109,27 @@ export class SFTPPanelComponent {
|
||||
}
|
||||
}
|
||||
|
||||
async openCreateDirectoryModal (): Promise<void> {
|
||||
const modal = this.ngbModal.open(SFTPCreateDirectoryModalComponent)
|
||||
const directoryName = await modal.result
|
||||
if (directoryName !== '') {
|
||||
this.sftp.mkdir(path.join(this.path, directoryName)).then(() => {
|
||||
this.notifications.notice('The directory was created successfully')
|
||||
this.navigate(path.join(this.path, directoryName))
|
||||
}).catch(() => {
|
||||
this.notifications.error('The directory could not be created')
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async upload (): Promise<void> {
|
||||
const transfers = await this.platform.startUpload({ multiple: true })
|
||||
await Promise.all(transfers.map(t => this.uploadOne(t)))
|
||||
}
|
||||
|
||||
async uploadOne (transfer: FileUpload): Promise<void> {
|
||||
await this.sftp.upload(path.join(this.path, transfer.getName()), transfer)
|
||||
const savedPath = this.path
|
||||
await this.sftp.upload(path.join(this.path, transfer.getName()), transfer)
|
||||
if (this.path === savedPath) {
|
||||
await this.navigate(this.path)
|
||||
}
|
||||
|
@@ -26,6 +26,7 @@ import { SFTPContextMenu } from './tabContextMenu'
|
||||
import { SSHProfilesService } from './profiles'
|
||||
import { SFTPContextMenuItemProvider } from './api/contextMenu'
|
||||
import { CommonSFTPContextMenu } from './sftpContextMenu'
|
||||
import { SFTPCreateDirectoryModalComponent } from './components/sftpCreateDirectoryModal.component'
|
||||
|
||||
/** @hidden */
|
||||
@NgModule({
|
||||
@@ -50,6 +51,7 @@ import { CommonSFTPContextMenu } from './sftpContextMenu'
|
||||
entryComponents: [
|
||||
SSHProfileSettingsComponent,
|
||||
SFTPDeleteModalComponent,
|
||||
SFTPCreateDirectoryModalComponent,
|
||||
SSHPortForwardingModalComponent,
|
||||
SSHSettingsTabComponent,
|
||||
SSHTabComponent,
|
||||
@@ -58,6 +60,7 @@ import { CommonSFTPContextMenu } from './sftpContextMenu'
|
||||
declarations: [
|
||||
SSHProfileSettingsComponent,
|
||||
SFTPDeleteModalComponent,
|
||||
SFTPCreateDirectoryModalComponent,
|
||||
SSHPortForwardingModalComponent,
|
||||
SSHPortForwardingConfigComponent,
|
||||
SSHSettingsTabComponent,
|
||||
|
@@ -123,6 +123,11 @@ export class SFTPSession {
|
||||
await promisify((f: any) => this.sftp.rmdir(p, f))()
|
||||
}
|
||||
|
||||
async mkdir (p: string): Promise<void> {
|
||||
this.logger.debug('mkdir', p)
|
||||
await promisify((f: any) => this.sftp.mkdir(p, f))()
|
||||
}
|
||||
|
||||
async rename (oldPath: string, newPath: string): Promise<void> {
|
||||
this.logger.debug('rename', oldPath, newPath)
|
||||
await promisify((f: any) => this.sftp.rename(oldPath, newPath, f))()
|
||||
|
@@ -22,6 +22,12 @@ export class CommonSFTPContextMenu extends SFTPContextMenuItemProvider {
|
||||
|
||||
async getItems (item: SFTPFile, panel: SFTPPanelComponent): Promise<MenuItemOptions[]> {
|
||||
return [
|
||||
{
|
||||
click: async () => {
|
||||
await panel.openCreateDirectoryModal()
|
||||
},
|
||||
label: this.translate.instant('Create directory'),
|
||||
},
|
||||
{
|
||||
click: async () => {
|
||||
if ((await this.platform.showMessageBox({
|
||||
|
@@ -22,9 +22,9 @@
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/ssh2@^0.5.46":
|
||||
version "0.5.51"
|
||||
resolved "https://registry.yarnpkg.com/@types/ssh2/-/ssh2-0.5.51.tgz#8fd9f9d7d3e8973b5227878f8f1e2b4eda1716b3"
|
||||
integrity sha512-aIq7ownezauW/+VWYaeXwd5J1Evnn4EXyeKi7bT3H6ZLBLoqsmhdvkHYPLpnZPM6unKKKsxTHIyQAVOZnPiJBw==
|
||||
version "0.5.52"
|
||||
resolved "https://registry.yarnpkg.com/@types/ssh2/-/ssh2-0.5.52.tgz#9dbd8084e2a976e551d5e5e70b978ed8b5965741"
|
||||
integrity sha512-lbLLlXxdCZOSJMCInKH2+9V/77ET2J6NPQHpFI0kda61Dd1KglJs+fPQBchizmzYSOJBgdTajhPqBO1xxLywvg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
"@types/ssh2-streams" "*"
|
||||
|
@@ -26,13 +26,13 @@
|
||||
"ngx-colors": "^3.0.4",
|
||||
"ps-node": "^0.1.6",
|
||||
"runes": "^0.4.2",
|
||||
"xterm": "npm:@tabby-gang/xterm@^4.17.1-beta.2",
|
||||
"xterm-addon-fit": "^0.5.0",
|
||||
"xterm-addon-ligatures": "^0.5.0",
|
||||
"xterm-addon-search": "^0.8.2",
|
||||
"xterm-addon-serialize": "^0.6.1",
|
||||
"xterm-addon-unicode11": "^0.3.0",
|
||||
"xterm-addon-webgl": "^0.12.0-beta.24",
|
||||
"xterm": "npm:@tabby-gang/xterm@^4.19.0-beta.2",
|
||||
"xterm-addon-fit": "^0.6.0-beta.8",
|
||||
"xterm-addon-ligatures": "^0.6.0-beta.14",
|
||||
"xterm-addon-search": "^0.9.0-beta.18",
|
||||
"xterm-addon-serialize": "^0.7.0-beta.12",
|
||||
"xterm-addon-unicode11": "^0.4.0-beta.3",
|
||||
"xterm-addon-webgl": "^0.12.0-beta.27",
|
||||
"zmodem.js": "^0.1.9"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@@ -11,6 +11,7 @@ import { Frontend } from '../frontends/frontend'
|
||||
import { XTermFrontend, XTermWebGLFrontend } from '../frontends/xtermFrontend'
|
||||
import { ResizeEvent } from './interfaces'
|
||||
import { TerminalDecorator } from './decorator'
|
||||
import { SearchPanelComponent } from '../components/searchPanel.component'
|
||||
|
||||
/**
|
||||
* A class to base your custom terminal tabs on
|
||||
@@ -100,6 +101,8 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
||||
|
||||
alternateScreenActive = false
|
||||
|
||||
@ViewChild(SearchPanelComponent, { 'static': false }) searchPanel?: SearchPanelComponent
|
||||
|
||||
// Deps start
|
||||
config: ConfigService
|
||||
element: ElementRef
|
||||
@@ -258,7 +261,9 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
||||
case 'search':
|
||||
this.showSearchPanel = true
|
||||
setImmediate(() => {
|
||||
this.element.nativeElement.querySelector('.search-input').focus()
|
||||
const input = this.element.nativeElement.querySelector('.search-input')
|
||||
input?.focus()
|
||||
input?.select()
|
||||
})
|
||||
break
|
||||
case 'pane-focus-all':
|
||||
|
@@ -4,7 +4,7 @@ search-panel(
|
||||
*ngIf='showSearchPanel && hasFocus',
|
||||
@toolbarSlide,
|
||||
[frontend]='frontend',
|
||||
(close)='showSearchPanel = false'
|
||||
(close)='showSearchPanel = false; frontend?.cancelSearch()'
|
||||
)
|
||||
|
||||
button.btn.btn-sm.btn-link.toolbar-pin-button(
|
||||
|
@@ -2,7 +2,7 @@
|
||||
flex: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
// overflow: hidden;
|
||||
position: relative;
|
||||
|
||||
&> .content {
|
||||
|
@@ -72,7 +72,7 @@
|
||||
.input-group-prepend
|
||||
.input-group-text
|
||||
i.fas.fa-fw.fa-search
|
||||
input.form-control(type='search', placeholder='Search color schemes', [(ngModel)]='filter')
|
||||
input.form-control(type='search', [placeholder]='"Search color schemes"|translate', [(ngModel)]='filter')
|
||||
|
||||
.body
|
||||
.list-group-light.mb-3
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
.mr-auto
|
||||
span {{scheme.name}}
|
||||
.badge.badge-info.ml-2(*ngIf='customColorSchemes.includes(scheme)') Custom
|
||||
.badge.badge-info.ml-2(*ngIf='customColorSchemes.includes(scheme)', translate) Custom
|
||||
|
||||
div
|
||||
.d-flex
|
||||
|
@@ -1,11 +1,14 @@
|
||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||
import deepEqual from 'deep-equal'
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
|
||||
|
||||
import { Component, Inject, Input, ChangeDetectionStrategy, ChangeDetectorRef, HostBinding } from '@angular/core'
|
||||
import { ConfigService, PlatformService, TranslateService } from 'tabby-core'
|
||||
import { TerminalColorSchemeProvider } from '../api/colorSchemeProvider'
|
||||
import { TerminalColorScheme } from '../api/interfaces'
|
||||
|
||||
_('Search color schemes')
|
||||
|
||||
/** @hidden */
|
||||
@Component({
|
||||
template: require('./colorSchemeSettingsTab.component.pug'),
|
||||
|
@@ -1,33 +1,37 @@
|
||||
input.search-input.form-control(
|
||||
type='text',
|
||||
[(ngModel)]='query',
|
||||
(ngModelChange)='onQueryChange()',
|
||||
[class.text-danger]='notFound',
|
||||
(click)='$event.stopPropagation()',
|
||||
(keyup.enter)='findPrevious()',
|
||||
(keyup.esc)='close.emit()',
|
||||
[placeholder]='"Search"|translate'
|
||||
)
|
||||
.input-group
|
||||
input.search-input.form-control(
|
||||
type='text',
|
||||
[(ngModel)]='query',
|
||||
(ngModelChange)='onQueryChange()',
|
||||
[class.text-danger]='state.resultCount == 0',
|
||||
(click)='$event.stopPropagation()',
|
||||
(keyup.enter)='findPrevious()',
|
||||
(keyup.esc)='close.emit()',
|
||||
[placeholder]='"Search"|translate'
|
||||
)
|
||||
.input-group-append(*ngIf='state.resultCount > 0')
|
||||
.input-group-text.result-counter {{state.resultIndex + 1}} / {{state.resultCount}}
|
||||
|
||||
button.btn.btn-link(
|
||||
(click)='findPrevious()',
|
||||
ngbTooltip='Search up',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.arrowUp'
|
||||
)
|
||||
ng-container(*ngIf='state.resultCount > 0')
|
||||
button.btn.btn-link(
|
||||
(click)='findPrevious()',
|
||||
ngbTooltip='Search up',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.arrowUp'
|
||||
)
|
||||
|
||||
button.btn.btn-link(
|
||||
(click)='findNext()',
|
||||
ngbTooltip='Search down',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.arrowDown'
|
||||
)
|
||||
button.btn.btn-link(
|
||||
(click)='findNext()',
|
||||
ngbTooltip='Search down',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.arrowDown'
|
||||
)
|
||||
|
||||
.mr-2
|
||||
|
||||
button.btn.btn-link(
|
||||
(click)='options.caseSensitive = !options.caseSensitive; saveSearchOptions()',
|
||||
[class.active]='options.caseSensitive',
|
||||
[class.btn-info]='options.caseSensitive',
|
||||
ngbTooltip='Case sensitivity',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.case'
|
||||
@@ -35,7 +39,7 @@ button.btn.btn-link(
|
||||
|
||||
button.btn.btn-link(
|
||||
(click)='options.regex = !options.regex; saveSearchOptions()',
|
||||
[class.active]='options.regex',
|
||||
[class.btn-info]='options.regex',
|
||||
ngbTooltip='Regular expression',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.regexp'
|
||||
@@ -43,7 +47,7 @@ button.btn.btn-link(
|
||||
|
||||
button.btn.btn-link(
|
||||
(click)='options.wholeWord = !options.wholeWord; saveSearchOptions()',
|
||||
[class.active]='options.wholeWord',
|
||||
[class.btn-info]='options.wholeWord',
|
||||
ngbTooltip='Whole word',
|
||||
placement='bottom',
|
||||
[fastHtmlBind]='icons.wholeWord'
|
||||
|
@@ -1,6 +1,6 @@
|
||||
:host {
|
||||
position: fixed;
|
||||
width: 400px;
|
||||
width: 600px;
|
||||
right: 40px;
|
||||
z-index: 5;
|
||||
border-radius: 0 0 5px 5px;
|
||||
@@ -15,3 +15,8 @@
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.result-counter {
|
||||
font-size: 0.7rem;
|
||||
opacity: .5;
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { Component, Input, Output, EventEmitter } from '@angular/core'
|
||||
import { Frontend, SearchOptions } from '../frontends/frontend'
|
||||
import { Frontend, SearchOptions, SearchState } from '../frontends/frontend'
|
||||
import { ConfigService, NotificationsService, TranslateService } from 'tabby-core'
|
||||
|
||||
@Component({
|
||||
@@ -10,7 +10,7 @@ import { ConfigService, NotificationsService, TranslateService } from 'tabby-cor
|
||||
export class SearchPanelComponent {
|
||||
@Input() query: string
|
||||
@Input() frontend: Frontend
|
||||
notFound = false
|
||||
state: SearchState = { resultCount: 0 }
|
||||
options: SearchOptions = {
|
||||
incremental: true,
|
||||
...this.config.store.terminal.searchOptions,
|
||||
@@ -34,7 +34,7 @@ export class SearchPanelComponent {
|
||||
) { }
|
||||
|
||||
onQueryChange (): void {
|
||||
this.notFound = false
|
||||
this.state = { resultCount: 0 }
|
||||
this.findPrevious(true)
|
||||
}
|
||||
|
||||
@@ -42,8 +42,8 @@ export class SearchPanelComponent {
|
||||
if (!this.query) {
|
||||
return
|
||||
}
|
||||
if (!this.frontend.findNext(this.query, { ...this.options, incremental: incremental || undefined })) {
|
||||
this.notFound = true
|
||||
this.state = this.frontend.findNext(this.query, { ...this.options, incremental: incremental || undefined })
|
||||
if (!this.state.resultCount) {
|
||||
this.notifications.notice(this.translate.instant('Not found'))
|
||||
}
|
||||
}
|
||||
@@ -52,8 +52,8 @@ export class SearchPanelComponent {
|
||||
if (!this.query) {
|
||||
return
|
||||
}
|
||||
if (!this.frontend.findPrevious(this.query, { ...this.options, incremental: incremental || undefined })) {
|
||||
this.notFound = true
|
||||
this.state = this.frontend.findPrevious(this.query, { ...this.options, incremental: incremental || undefined })
|
||||
if (!this.state.resultCount) {
|
||||
this.notifications.notice(this.translate.instant('Not found'))
|
||||
}
|
||||
}
|
||||
|
@@ -127,6 +127,14 @@ div.mt-4
|
||||
(ngModelChange)='config.save()',
|
||||
)
|
||||
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Copy with formatting
|
||||
toggle(
|
||||
[(ngModel)]='config.store.terminal.copyAsHTML',
|
||||
(ngModelChange)='config.save()',
|
||||
)
|
||||
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Bracketed paste (requires shell support)
|
||||
|
@@ -24,6 +24,7 @@ export class TerminalConfigProvider extends ConfigProvider {
|
||||
rightClick: 'menu',
|
||||
pasteOnMiddleClick: true,
|
||||
copyOnSelect: false,
|
||||
copyAsHTML: true,
|
||||
scrollOnInput: true,
|
||||
altIsMeta: false,
|
||||
wordSeparator: ' ()[]{}\'"',
|
||||
|
@@ -9,6 +9,11 @@ export interface SearchOptions {
|
||||
incremental?: true
|
||||
}
|
||||
|
||||
export interface SearchState {
|
||||
resultIndex?: number
|
||||
resultCount: number
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend to add support for a different VT frontend implementation
|
||||
*/
|
||||
@@ -75,8 +80,9 @@ export abstract class Frontend {
|
||||
abstract configure (): void
|
||||
abstract setZoom (zoom: number): void
|
||||
|
||||
abstract findNext (term: string, searchOptions?: SearchOptions): boolean
|
||||
abstract findPrevious (term: string, searchOptions?: SearchOptions): boolean
|
||||
abstract findNext (term: string, searchOptions?: SearchOptions): SearchState
|
||||
abstract findPrevious (term: string, searchOptions?: SearchOptions): SearchState
|
||||
abstract cancelSearch (): void
|
||||
|
||||
abstract saveState (): any
|
||||
abstract restoreState (state: string): void
|
||||
|
@@ -1,180 +1,4 @@
|
||||
/**
|
||||
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
||||
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
||||
* https://github.com/chjj/term.js
|
||||
* @license MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
* Originally forked from (with the author's permission):
|
||||
* Fabrice Bellard's javascript vt100 for jslinux:
|
||||
* http://bellard.org/jslinux/
|
||||
* Copyright (c) 2011 Fabrice Bellard
|
||||
* The original design remains. The terminal itself
|
||||
* has been extended to include xterm CSI codes, among
|
||||
* other features.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Default styles for xterm.js
|
||||
*/
|
||||
|
||||
.xterm {
|
||||
position: relative;
|
||||
user-select: none;
|
||||
-ms-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
.xterm.focus,
|
||||
.xterm:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.xterm .xterm-helpers {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
/**
|
||||
* The z-index of the helpers must be higher than the canvases in order for
|
||||
* IMEs to appear on top.
|
||||
*/
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.xterm .xterm-helper-textarea {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
/* Move textarea out of the screen to the far left, so that the cursor is not visible */
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
left: -9999em;
|
||||
top: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
z-index: -5;
|
||||
/** Prevent wrapping so the IME appears against the textarea at the correct position */
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.xterm .composition-view {
|
||||
/* TODO: Composition position got messed up somewhere */
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
display: none;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.xterm .composition-view.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.xterm .xterm-viewport {
|
||||
/* On OS X this is required in order for the scroll bar to appear fully opaque */
|
||||
background-color: #000;
|
||||
overflow-y: scroll;
|
||||
cursor: default;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.xterm .xterm-screen {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.xterm .xterm-screen canvas {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.xterm .xterm-scroll-area {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.xterm-char-measure-element {
|
||||
display: inline-block;
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -9999em;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.xterm {
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
.xterm.enable-mouse-events {
|
||||
/* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xterm.xterm-cursor-pointer,
|
||||
.xterm .xterm-cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.xterm.column-select.focus {
|
||||
/* Column selection mode */
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.xterm .xterm-accessibility,
|
||||
.xterm .xterm-message {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 10;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.xterm .live-region {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.xterm-dim {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.xterm-underline {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.xterm-strikethrough {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/*----*/
|
||||
@import url("../../node_modules/xterm/css/xterm.css");
|
||||
|
||||
@font-face {
|
||||
font-family: "monospace-fallback";
|
||||
@@ -188,3 +12,17 @@
|
||||
.xterm-viewport::-webkit-scrollbar-thumb {
|
||||
background: rgba(255, 255, 255, .25);
|
||||
}
|
||||
|
||||
.xterm-decoration-overview-ruler {
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
.xterm-find-result-decoration {
|
||||
box-sizing: content-box;
|
||||
|
||||
border-radius: 3px;
|
||||
padding: 2px;
|
||||
margin: -2px;
|
||||
outline: 2px solid yellow;
|
||||
backdrop-filter: contrast(2);
|
||||
}
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import { Injector } from '@angular/core'
|
||||
import { ConfigService, getCSSFontFamily, HostAppService, HotkeysService, Platform, PlatformService } from 'tabby-core'
|
||||
import { Frontend, SearchOptions } from './frontend'
|
||||
import { Frontend, SearchOptions, SearchState } from './frontend'
|
||||
import { takeUntil } from 'rxjs'
|
||||
import { Terminal, ITheme } from 'xterm'
|
||||
import { FitAddon } from 'xterm-addon-fit'
|
||||
import { LigaturesAddon } from 'xterm-addon-ligatures'
|
||||
import { SearchAddon } from 'xterm-addon-search'
|
||||
import { ISearchOptions, SearchAddon } from 'xterm-addon-search'
|
||||
import { WebglAddon } from 'xterm-addon-webgl'
|
||||
import { Unicode11Addon } from 'xterm-addon-unicode11'
|
||||
import { SerializeAddon } from 'xterm-addon-serialize'
|
||||
@@ -34,6 +34,7 @@ export class XTermFrontend extends Frontend {
|
||||
private configuredTheme: ITheme = {}
|
||||
private copyOnSelect = false
|
||||
private search = new SearchAddon()
|
||||
private searchState: SearchState = { resultCount: 0 }
|
||||
private fitAddon = new FitAddon()
|
||||
private serializeAddon = new SerializeAddon()
|
||||
private ligaturesAddon?: LigaturesAddon
|
||||
@@ -55,6 +56,7 @@ export class XTermFrontend extends Frontend {
|
||||
|
||||
this.xterm = new Terminal({
|
||||
allowTransparency: true,
|
||||
overviewRulerWidth: 8,
|
||||
windowsMode: process.platform === 'win32',
|
||||
})
|
||||
this.xtermCore = this.xterm['_core']
|
||||
@@ -177,6 +179,10 @@ export class XTermFrontend extends Frontend {
|
||||
|
||||
this.xterm.loadAddon(this.search)
|
||||
|
||||
this.search.onDidChangeResults(state => {
|
||||
this.searchState = state ?? { resultCount: 0 }
|
||||
})
|
||||
|
||||
window.addEventListener('resize', this.resizeHandler)
|
||||
|
||||
this.resizeHandler()
|
||||
@@ -217,7 +223,7 @@ export class XTermFrontend extends Frontend {
|
||||
if (!text.trim().length) {
|
||||
return
|
||||
}
|
||||
if (text.length < 1024 * 32) {
|
||||
if (text.length < 1024 * 32 && this.configService.store.terminal.copyAsHTML) {
|
||||
this.platformService.setClipboard({
|
||||
text: this.getSelection(),
|
||||
html: this.getSelectionAsHTML(),
|
||||
@@ -320,12 +326,40 @@ export class XTermFrontend extends Frontend {
|
||||
this.setFontSize()
|
||||
}
|
||||
|
||||
findNext (term: string, searchOptions?: SearchOptions): boolean {
|
||||
return this.search.findNext(term, searchOptions)
|
||||
private getSearchOptions (searchOptions?: SearchOptions): ISearchOptions {
|
||||
return {
|
||||
...searchOptions,
|
||||
decorations: {
|
||||
matchOverviewRuler: '#cccc00',
|
||||
activeMatchColorOverviewRuler: '#ffff00',
|
||||
matchBorder: '#cc0',
|
||||
activeMatchBorder: '#ff0',
|
||||
activeMatchBackground: 'rgba(255, 255, 0, 0.125)',
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
findPrevious (term: string, searchOptions?: SearchOptions): boolean {
|
||||
return this.search.findPrevious(term, searchOptions)
|
||||
private wrapSearchResult (result: boolean): SearchState {
|
||||
if (!result) {
|
||||
return { resultCount: 0 }
|
||||
}
|
||||
return this.searchState
|
||||
}
|
||||
|
||||
findNext (term: string, searchOptions?: SearchOptions): SearchState {
|
||||
return this.wrapSearchResult(
|
||||
this.search.findNext(term, this.getSearchOptions(searchOptions))
|
||||
)
|
||||
}
|
||||
|
||||
findPrevious (term: string, searchOptions?: SearchOptions): SearchState {
|
||||
return this.wrapSearchResult(
|
||||
this.search.findPrevious(term, this.getSearchOptions(searchOptions))
|
||||
)
|
||||
}
|
||||
|
||||
cancelSearch (): void {
|
||||
this.search.clearDecorations()
|
||||
}
|
||||
|
||||
saveState (): any {
|
||||
|
@@ -90,9 +90,9 @@ lru-cache@^6.0.0:
|
||||
yallist "^4.0.0"
|
||||
|
||||
minimist@^1.1.0:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
ngx-colors@^3.0.4:
|
||||
version "3.0.4"
|
||||
@@ -157,43 +157,43 @@ xtend@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
||||
xterm-addon-fit@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz#2d51b983b786a97dcd6cde805e700c7f913bc596"
|
||||
integrity sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==
|
||||
xterm-addon-fit@^0.6.0-beta.8:
|
||||
version "0.6.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.6.0-beta.8.tgz#d1df80c146ee63a8bcb135e5337dba84fa87d753"
|
||||
integrity sha512-T3bmdIXg019PQnJ7tMx81YUOW8Tjzw6ZB+ejWGNMsgYauFtgXTBAmdXzJ4dDJTlWDW18SHId+O6EmGzC77c44g==
|
||||
|
||||
xterm-addon-ligatures@^0.5.0:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.5.2.tgz#b822487a59f73b734d95aecd24167a83adff5828"
|
||||
integrity sha512-VhBc6fa7Tnl9w5bQpYscgjKgy87v9Aysm4jRcPxWTHwVa9YUpEYjSmg9V7LvCUkCTRH9zvFiw3qZMZYsdeeg6Q==
|
||||
xterm-addon-ligatures@^0.6.0-beta.14:
|
||||
version "0.6.0-beta.14"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.14.tgz#392b8df0e32dcfc87f43b79901ec1c2abc997ae7"
|
||||
integrity sha512-WeObuNFfGULKhfvbFyCccjxBk+BX6YMvG54lu40kgW5ubwpt0BcnKTQAxHvt9mSeT0lG0A5GxcbimBeRWc484Q==
|
||||
dependencies:
|
||||
font-finder "^1.1.0"
|
||||
font-ligatures "^1.4.1"
|
||||
|
||||
xterm-addon-search@^0.8.2:
|
||||
version "0.8.2"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.8.2.tgz#be7aa74d5ff12c901707c6ff674229f214318032"
|
||||
integrity sha512-I1863mjn8P6uVrqm/X+btalVsqjAKLhnhpbP7SavAOpEkI1jJhbHU2UTp7NjeRtcKTks6UWk/ycgds5snDSejg==
|
||||
xterm-addon-search@^0.9.0-beta.18:
|
||||
version "0.9.0-beta.18"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.18.tgz#5317aed1dc747f468ccb7ecd151fb00d82a8a19d"
|
||||
integrity sha512-SAeA3thc2WJNYXwjOEJFLpZ1ZVOs22RLmz9a6WcrzXkvCjLZRvbRGwX25Ms+Dd7dVDQNbKVUzUJohspP/vYr0Q==
|
||||
|
||||
xterm-addon-serialize@^0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.6.1.tgz#509335afee1367628dc685b822a1055b1213de83"
|
||||
integrity sha512-dKscxAaNU6+cWEpuLrUGEn/IjrRvhdaVbDyJlIN1uQYGTi8HOgoGIoy6D5WtPabl2/CJ0W4OwlOQaUotCktXYA==
|
||||
xterm-addon-serialize@^0.7.0-beta.12:
|
||||
version "0.7.0-beta.12"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.12.tgz#4f845d8b1a9f9b7ae3f910455ce8c58b041babc7"
|
||||
integrity sha512-b4Ug0B/RSJMux+KAcp+PXVqubVyXjN1yCQw1FOkgVYTpmd9AH/X+EcxKml5Lz8DsKmsXqfD9AlV3WpEeT+OtMw==
|
||||
|
||||
xterm-addon-unicode11@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.3.0.tgz#e4435c3c91a5294a7eb8b79c380acbb28a659463"
|
||||
integrity sha512-x5fHDZT2j9tlTlHnzPHt++9uKZ2kJ/lYQOj3L6xJA22xoJsS8UQRw/5YIFg2FUHqEAbV77Z1fZij/9NycMSH/A==
|
||||
xterm-addon-unicode11@^0.4.0-beta.3:
|
||||
version "0.4.0-beta.3"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa"
|
||||
integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q==
|
||||
|
||||
xterm-addon-webgl@^0.12.0-beta.24:
|
||||
version "0.12.0-beta.24"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.24.tgz#5c17256933991856554c95c9bd1eaab42e9727a0"
|
||||
integrity sha512-+wZxKReEOlfN9JRHyikoffA6Do61/THR7QY35ajkQo0lLutKr6hTd/TLTuZh0PhFVelgTgudpXqlP++Lc0WFIA==
|
||||
xterm-addon-webgl@^0.12.0-beta.27:
|
||||
version "0.12.0-beta.27"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.27.tgz#afc5bc01d1ef3af9005fb9f6325a4db9c92aa8d9"
|
||||
integrity sha512-P948trotU8FMHtaA7C2x97VpLq6QLSjO53kWNvONS0/XwEKQBIYCI7Jfri2wcLgfQg6Cn4OQGLoj2YBK3MMyww==
|
||||
|
||||
"xterm@npm:@tabby-gang/xterm@^4.17.1-beta.2":
|
||||
version "4.17.1-beta.2"
|
||||
resolved "https://registry.yarnpkg.com/@tabby-gang/xterm/-/xterm-4.17.1-beta.2.tgz#3b4b542297609f082c12b0877582cdf1398a84b5"
|
||||
integrity sha512-tKePw6VBFVGvnKaxtfuS7qKbeX8bIT0+7asXSP70RA/78h8xeq3YoRHaV/cZEHaicNHMchlYFbXl3VpHXwusDw==
|
||||
"xterm@npm:@tabby-gang/xterm@^4.19.0-beta.2":
|
||||
version "4.19.0-beta.2"
|
||||
resolved "https://registry.yarnpkg.com/@tabby-gang/xterm/-/xterm-4.19.0-beta.2.tgz#ffac3b0e776130f96ed860c8d44b30328d08ef62"
|
||||
integrity sha512-6V4xlCFfvZ3SXy+fQL4n0rn/gyil5sThvVz6FSbfSVIHCY14JGiWt/7ouZwm3V4kdEgWmsf2P9KjR15YqVjECg==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
@@ -34,9 +34,9 @@ loader-utils@^1.1.0:
|
||||
json5 "^1.0.1"
|
||||
|
||||
minimist@^1.2.0:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
object-assign@^4.0.1:
|
||||
version "4.1.1"
|
||||
|
@@ -644,9 +644,9 @@ minimatch@^3.0.4:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@^1.2.0:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
nice-try@^1.0.4:
|
||||
version "1.0.5"
|
||||
|
@@ -87,9 +87,13 @@ module.exports = options => {
|
||||
{ test: /\.yaml$/, use: ['json-loader', 'yaml-loader'] },
|
||||
{ test: /\.svg/, use: ['svg-inline-loader'] },
|
||||
{
|
||||
test: /\.(ttf|eot|otf|woff|woff2|ogg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
||||
test: /\.(eot|otf|woff|woff2|ogg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
||||
type: 'asset',
|
||||
},
|
||||
{
|
||||
test: /\.ttf$/,
|
||||
type: 'asset/inline',
|
||||
},
|
||||
{
|
||||
test: /\.po$/,
|
||||
use: [
|
||||
|
95
yarn.lock
95
yarn.lock
@@ -187,10 +187,10 @@
|
||||
minimatch "^3.0.4"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@fortawesome/fontawesome-free@^6.0.0":
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.0.0.tgz#6f3bd8e42997c7d536a1246877ed8bcd4f005a54"
|
||||
integrity sha512-6LB4PYBST1Rx40klypw1SmSDArjFOcfBf2LeX9Zg5EKJT2eXiyiJq+CyBYKeXyK0sXS2FsCJWSPr/luyhuvh0Q==
|
||||
"@fortawesome/fontawesome-free@^6.1.1":
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.1.tgz#bf5d45611ab74890be386712a0e5d998c65ee2a1"
|
||||
integrity sha512-J/3yg2AIXc9wznaVqpHVX3Wa5jwKovVF0AMYSnbmcXTiL3PpRPfF58pzWucCwEiCJBp+hCNRLWClTomD8SseKg==
|
||||
|
||||
"@gar/promisify@^1.0.1":
|
||||
version "1.1.2"
|
||||
@@ -294,10 +294,10 @@
|
||||
"@sentry/utils" "6.7.1"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/cli@^1.73.0":
|
||||
version "1.73.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.73.0.tgz#0d0bce913e0060ae192741c6693c57e50078c886"
|
||||
integrity sha512-n4YINqmoncGUkLEpd4WuW+oD+aoUyQPhRbSBSYkbCFxPPmopn1VExCB2Vvzwj7vjXYRRGkix6keBMS0LLs3A3Q==
|
||||
"@sentry/cli@^1.74.3":
|
||||
version "1.74.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.3.tgz#8405a19f6bb21b2ff3d051fb8a18056cc796c5ae"
|
||||
integrity sha512-74NiqWTgTFDPe2S99h1ge5UMe6aAC44ebareadd1P6MdaNfYz6JUEa2QrDfMq7TKccEiRFXhXBHbUI8mxzrzuQ==
|
||||
dependencies:
|
||||
https-proxy-agent "^5.0.0"
|
||||
mkdirp "^0.5.5"
|
||||
@@ -305,6 +305,7 @@
|
||||
npmlog "^4.1.2"
|
||||
progress "^2.0.3"
|
||||
proxy-from-env "^1.1.0"
|
||||
which "^2.0.2"
|
||||
|
||||
"@sentry/core@6.7.1":
|
||||
version "6.7.1"
|
||||
@@ -554,16 +555,16 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
|
||||
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
|
||||
|
||||
"@types/node@*", "@types/node@16.0.1":
|
||||
"@types/node@*", "@types/node@^16.11.26":
|
||||
version "16.11.26"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.26.tgz#63d204d136c9916fb4dcd1b50f9740fe86884e47"
|
||||
integrity sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==
|
||||
|
||||
"@types/node@16.0.1":
|
||||
version "16.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.1.tgz#70cedfda26af7a2ca073fdcc9beb2fff4aa693f8"
|
||||
integrity sha512-hBOx4SUlEPKwRi6PrXuTGw1z6lz0fjsibcWCM378YxsSu/6+C30L6CR49zIBKHiwNWCYIcOLjg4OHKZaFeLAug==
|
||||
|
||||
"@types/node@^14.6.2":
|
||||
version "14.14.35"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313"
|
||||
integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==
|
||||
|
||||
"@types/normalize-package-data@^2.4.0":
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
|
||||
@@ -1533,6 +1534,11 @@ buffer@^5.1.0:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
buildcheck@0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5"
|
||||
integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==
|
||||
|
||||
builder-util-runtime@8.9.2:
|
||||
version "8.9.2"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz#a9669ae5b5dcabfe411ded26678e7ae997246c28"
|
||||
@@ -2155,12 +2161,13 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
|
||||
|
||||
cpu-features@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz#9f636156f1155fd04bdbaa028bb3c2fbef3cea7a"
|
||||
integrity sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==
|
||||
cpu-features@0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.3.tgz#2acee87f762d11d5197babb34629293007a09edd"
|
||||
integrity sha512-p6C/uud4F4bDyCz9+BNU22KdV1AGxPK6L9rQG9x3x4SSzdMPyBPErP7Rxn8avT2ex1M2g5Rpjz5Us/ri/766Qg==
|
||||
dependencies:
|
||||
nan "^2.14.1"
|
||||
buildcheck "0.0.3"
|
||||
nan "^2.15.0"
|
||||
|
||||
crc@^3.8.0:
|
||||
version "3.8.0"
|
||||
@@ -2692,10 +2699,10 @@ electron-localshortcut@^3.1.0:
|
||||
keyboardevent-from-electron-accelerator "^2.0.0"
|
||||
keyboardevents-areequal "^0.2.1"
|
||||
|
||||
electron-notarize@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.1.1.tgz#3ed274b36158c1beb1dbef14e7faf5927e028629"
|
||||
integrity sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==
|
||||
electron-notarize@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.2.1.tgz#347c18eca8e29dddadadee511b870c13d4008baf"
|
||||
integrity sha512-u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
fs-extra "^9.0.1"
|
||||
@@ -2750,13 +2757,13 @@ electron-to-chromium@^1.3.723:
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
|
||||
integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
|
||||
|
||||
electron@17.1.2:
|
||||
version "17.1.2"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-17.1.2.tgz#b4e4a0df883d9a9854cf865efa2bb00b12d55b1d"
|
||||
integrity sha512-hqKQaUIRWX5Y2eAD8FZINWD/e5TKdpkbBYbkcZmJS4Bd1PKQsaDVc9h5xoA8zZQkPymE9rss+swjRpAFurOPGQ==
|
||||
electron@18.0.1:
|
||||
version "18.0.1"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-18.0.1.tgz#70653ecee008bea8a4240da78d0f5a426bb24d50"
|
||||
integrity sha512-8y3nxmK+v/tiuaR8yd4K83ApHxgomMIPAEl3J+2Jfv/D5G6M3KnvxNlNiNoTXI8uOegfmoqiDm5/2xlWFLzfLQ==
|
||||
dependencies:
|
||||
"@electron/get" "^1.13.0"
|
||||
"@types/node" "^14.6.2"
|
||||
"@types/node" "^16.11.26"
|
||||
extract-zip "^1.0.3"
|
||||
|
||||
elliptic@^6.5.3:
|
||||
@@ -5328,9 +5335,9 @@ minimist-options@4.1.0:
|
||||
kind-of "^6.0.3"
|
||||
|
||||
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||
version "1.2.6"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||
|
||||
minipass-collect@^1.0.2:
|
||||
version "1.0.2"
|
||||
@@ -5451,7 +5458,7 @@ mute-stream@~0.0.4:
|
||||
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz"
|
||||
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
|
||||
|
||||
nan@^2.13.2, nan@^2.14.1, nan@^2.15.0:
|
||||
nan@^2.13.2, nan@^2.15.0:
|
||||
version "2.15.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
|
||||
integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
|
||||
@@ -6400,9 +6407,9 @@ pkg-up@^2.0.0:
|
||||
find-up "^2.1.0"
|
||||
|
||||
plist@^3.0.1:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
|
||||
integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987"
|
||||
integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==
|
||||
dependencies:
|
||||
base64-js "^1.5.1"
|
||||
xmlbuilder "^9.0.7"
|
||||
@@ -7615,10 +7622,10 @@ socks@^2.6.1:
|
||||
ip "^1.1.5"
|
||||
smart-buffer "^4.1.0"
|
||||
|
||||
sortablejs@^1.14.0:
|
||||
version "1.14.0"
|
||||
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.14.0.tgz#6d2e17ccbdb25f464734df621d4f35d4ab35b3d8"
|
||||
integrity sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==
|
||||
sortablejs@^1.15.0:
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.15.0.tgz#53230b8aa3502bb77a29e2005808ffdb4a5f7e2a"
|
||||
integrity sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==
|
||||
|
||||
sorted-object@~2.0.1:
|
||||
version "2.0.1"
|
||||
@@ -7729,15 +7736,15 @@ sprintf-js@~1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||
|
||||
ssh2@^1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz#7aa30f2a5266f0ffd93944621b4eb1f403330fd4"
|
||||
integrity sha512-u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==
|
||||
ssh2@^1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.8.0.tgz#97a9bfa3348412a2ed266265ddb351746b6edfc8"
|
||||
integrity sha512-NVIRkIwJvWl+mcRozp+EBzHMVCcbDKBea64ToPdZEk43yAVGwmfqYZRPFRnnvGjsKC34wYCmiupTcKgCVNVNNg==
|
||||
dependencies:
|
||||
asn1 "^0.2.4"
|
||||
bcrypt-pbkdf "^1.0.2"
|
||||
optionalDependencies:
|
||||
cpu-features "0.0.2"
|
||||
cpu-features "0.0.3"
|
||||
nan "^2.15.0"
|
||||
|
||||
sshpk@^1.7.0:
|
||||
|
Reference in New Issue
Block a user