Compare commits

..

98 Commits

Author SHA1 Message Date
dependabot[bot]
e0fb98bfc6 build(deps): bump patch-package from 6.5.0 to 8.0.0 in /app
Bumps [patch-package](https://github.com/ds300/patch-package) from 6.5.0 to 8.0.0.
- [Release notes](https://github.com/ds300/patch-package/releases)
- [Changelog](https://github.com/ds300/patch-package/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ds300/patch-package/commits)

---
updated-dependencies:
- dependency-name: patch-package
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 08:25:44 +00:00
Eugene
217ab641b5 Merge pull request #8745 from Eugeny/dependabot/npm_and_yarn/tabby-settings/marked-and-types/marked-5.1.2 2023-08-03 10:24:52 +02:00
Eugene
7572f3c26f Merge pull request #8751 from Eugeny/dependabot/npm_and_yarn/app/serialport-11.0.1 2023-08-03 10:23:48 +02:00
Eugene
326d8b3fb1 Merge pull request #8752 from Eugeny/dependabot/npm_and_yarn/app/atomically-2.0.2 2023-08-03 10:23:39 +02:00
Eugene
9b4f1a3a0d Merge pull request #8720 from Eugeny/dependabot/npm_and_yarn/word-wrap-1.2.4 2023-08-03 10:22:51 +02:00
Eugene
0d275595cf Merge pull request #8656 from Eugeny/dependabot/github_actions/actions/setup-node-3.7.0 2023-08-03 10:22:25 +02:00
dependabot[bot]
7860c73e49 build(deps-dev): bump atomically from 1.7.0 to 2.0.2 in /app
Bumps [atomically](https://github.com/fabiospampinato/atomically) from 1.7.0 to 2.0.2.
- [Commits](https://github.com/fabiospampinato/atomically/compare/v1.7.0...v2.0.2)

---
updated-dependencies:
- dependency-name: atomically
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 04:54:46 +00:00
dependabot[bot]
fa9dea0f64 build(deps): bump serialport from 11.0.0 to 11.0.1 in /app
Bumps [serialport](https://github.com/serialport/node-serialport) from 11.0.0 to 11.0.1.
- [Release notes](https://github.com/serialport/node-serialport/releases)
- [Changelog](https://github.com/serialport/node-serialport/blob/master/CHANGELOG.md)
- [Commits](https://github.com/serialport/node-serialport/compare/v11.0.0...v11.0.1)

---
updated-dependencies:
- dependency-name: serialport
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-27 04:54:31 +00:00
dependabot[bot]
6813fd54cd build(deps-dev): bump marked and @types/marked in /tabby-settings
Bumps [marked](https://github.com/markedjs/marked) and [@types/marked](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/marked). These dependencies needed to be updated together.

Updates `marked` from 4.2.12 to 5.1.2
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v4.2.12...v5.1.2)

Updates `@types/marked` from 4.0.8 to 5.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/marked)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/marked"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-26 04:33:20 +00:00
Eugene Pankov
0101ffddb6 Update build-macos.mjs 2023-07-19 10:21:00 +02:00
Eugene Pankov
726ad23a32 Update build.yml 2023-07-19 09:56:45 +02:00
Eugene Pankov
4fe2a45664 Update build-macos.mjs 2023-07-19 09:13:43 +02:00
Eugene Pankov
6f8d687529 Update build-macos.mjs 2023-07-19 09:08:21 +02:00
Eugene Pankov
9d05fbeb90 use native notarization 2023-07-19 00:03:58 +02:00
Eugene Pankov
299be86498 automatic dark/light theme - fixes #3934 2023-07-18 23:48:43 +02:00
Eugene Pankov
bd337a4197 updated patch 2023-07-18 23:18:54 +02:00
Eugene Pankov
a1cb0ff223 fix deprecation 2023-07-18 23:17:07 +02:00
Eugene Pankov
ae2f3f162e bumped electron-builder 2023-07-18 22:46:20 +02:00
dependabot[bot]
91cb9e5c63 Bump actions/setup-node from 3.6.0 to 3.7.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 20:07:17 +00:00
dependabot[bot]
e2cc9b98ee build(deps): bump word-wrap from 1.2.3 to 1.2.4
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 20:06:31 +00:00
Eugene Pankov
b8f2204d4f Update build.yml 2023-07-18 22:05:36 +02:00
Eugene Pankov
35bca545f8 Update README.md 2023-07-18 21:07:05 +02:00
Eugene
8b89db41d2 Merge pull request #8709 from Clem-Fern/feat#8680 2023-07-18 17:12:14 +02:00
Clem
d36b2b21c9 feat(settings): Eugeny/tabby#8680 configurable priotity on quick connect profile selector option 2023-07-18 14:10:31 +02:00
Eugene
2d8a0aff61 Merge pull request #8711 from Eugeny/all-contributors/add-FeroTheFox 2023-07-16 23:12:59 +02:00
allcontributors[bot]
db916c922a update README.id-ID.md [skip ci] 2023-07-16 21:09:41 +00:00
allcontributors[bot]
dfc438258d update .all-contributorsrc [skip ci] 2023-07-16 21:09:40 +00:00
allcontributors[bot]
6a714a746f update README.es-ES.md [skip ci] 2023-07-16 21:09:38 +00:00
allcontributors[bot]
54284741e0 update README.pt-BR.md [skip ci] 2023-07-16 21:04:18 +00:00
allcontributors[bot]
e4b545f231 update README.ja-JP.md [skip ci] 2023-07-16 21:04:17 +00:00
allcontributors[bot]
c27566a561 update README.de-DE.md [skip ci] 2023-07-16 21:03:44 +00:00
allcontributors[bot]
43121c33f2 update README.it-IT.md [skip ci] 2023-07-16 21:03:43 +00:00
allcontributors[bot]
4b34f76997 update README.ko-KR.md [skip ci] 2023-07-16 21:03:42 +00:00
allcontributors[bot]
24db1cb99a update README.ru-RU.md [skip ci] 2023-07-16 21:03:41 +00:00
allcontributors[bot]
147d22f386 update README.zh-CN.md [skip ci] 2023-07-16 21:03:40 +00:00
allcontributors[bot]
c04b93c56c update README.md [skip ci] 2023-07-16 21:03:39 +00:00
Eugene
ddab79d3ac Merge pull request #8707 from FeroTheFox/master 2023-07-16 23:02:58 +02:00
Evan / Fero
c501f541c8 fix: @input typo 2023-07-16 13:29:50 -07:00
Evan / Fero
8af3c95212 fix: linting 2023-07-16 12:06:11 -07:00
Evan / Fero
2fa612fe2c feat: use @input on titlebar component; chore: comment cleaning 2023-07-16 11:57:19 -07:00
Eugene
725bc225f1 Merge pull request #8710 from Eugeny/all-contributors/add-wljince007 2023-07-16 12:34:23 +02:00
allcontributors[bot]
8451848ba6 update .all-contributorsrc [skip ci] 2023-07-16 10:02:57 +00:00
allcontributors[bot]
186a4afa1c update README.id-ID.md [skip ci] 2023-07-16 09:59:26 +00:00
allcontributors[bot]
1d1b149ea8 update README.es-ES.md [skip ci] 2023-07-16 09:58:32 +00:00
allcontributors[bot]
b217aaf03b update README.pt-BR.md [skip ci] 2023-07-16 09:54:21 +00:00
allcontributors[bot]
c7471f737f update README.ja-JP.md [skip ci] 2023-07-16 09:53:23 +00:00
allcontributors[bot]
124d600bfd update README.de-DE.md [skip ci] 2023-07-16 09:50:34 +00:00
allcontributors[bot]
a3f2405092 update README.it-IT.md [skip ci] 2023-07-16 09:50:33 +00:00
allcontributors[bot]
a92f8956d4 update README.ko-KR.md [skip ci] 2023-07-16 09:50:32 +00:00
allcontributors[bot]
22fb2dbda2 update README.ru-RU.md [skip ci] 2023-07-16 09:50:31 +00:00
allcontributors[bot]
303eab2f0e update README.zh-CN.md [skip ci] 2023-07-16 09:50:30 +00:00
allcontributors[bot]
8a12e7c6d1 update README.md [skip ci] 2023-07-16 09:50:29 +00:00
Eugene
821dcbff69 Merge pull request #8693 from wljince007/v1.0.197_fixerror 2023-07-16 11:50:18 +02:00
wljince007
44d8c3f04b config of different configProviders combination merge together 2023-07-16 17:46:27 +08:00
Evan / Fero
af515e01cf Merge remote-tracking branch 'upstream/master' 2023-07-15 20:07:57 -07:00
Clem Fern
aba773b546 lint 2023-07-15 21:37:23 +02:00
Clem Fern
9ac5286017 fix(core): push all freeInputPattern into filteredOptions selectorModal 2023-07-15 21:35:01 +02:00
Clem Fern
555c7f7b20 feat(telnet): enable quick connect 2023-07-15 21:32:47 +02:00
Clem Fern
3857beb46b feat(core): Eugeny/tabby#8680 push all quick-connect provider into profile selector 2023-07-15 21:10:16 +02:00
Eugene Pankov
fcac52a844 fixed #5862 - configurable Backspace behaviour 2023-07-15 12:17:47 +02:00
Eugene Pankov
4736b11c62 bumped node-pty 2023-07-15 11:30:29 +02:00
Eugene Pankov
a128a647d9 renamed patch 2023-07-15 11:30:29 +02:00
Evan / Fero
9638be5349 Update appRoot.component.pug 2023-07-14 12:36:36 -07:00
Evan / Fero
9c863762c3 Fix: formatting err 2023-07-14 12:27:35 -07:00
Evan / Fero
539c213ef6 Fix: linting errors 2023-07-14 12:15:53 -07:00
Evan / Fero
d2bdb55c6d Fix: spacer div doesn't need full height 2023-07-14 12:14:05 -07:00
Evan / Fero
4edc0be280 Fix: wrong condition for spacer div 2023-07-14 12:07:51 -07:00
Evan / Fero
f10b8c0f35 Fix: spacer div should not appear in vertical tab layout 2023-07-14 12:04:32 -07:00
Evan / Fero
e38b826fd6 fix: WCO color, settings icon position 2023-07-14 11:57:27 -07:00
Evan / Fero
2f1c388a8b Feat: implement window controls overlay 2023-07-13 23:53:33 -07:00
Eugene
e7f7d9b024 Merge pull request #8663 from Clem-Fern/feat#5688 2023-07-11 20:01:10 +02:00
Clem
47a6e81998 fix Eugeny/tabby#8534 by @Eugeny 2023-07-11 19:00:27 +02:00
Clem
eea3ab9c74 Revert "fix Eugeny/tabby#8534 : skip yaml unacceptable kind of object to dump"
This reverts commit 82a262026f.
2023-07-11 18:49:53 +02:00
Clem
0313e872fd fix(core): new config migration to recover profile without ID 2023-07-10 18:03:14 +02:00
Eugene
84422d4453 Merge pull request #8678 from Eugeny/all-contributors/add-DehanLUO 2023-07-10 09:15:26 +02:00
allcontributors[bot]
32696cc047 update .all-contributorsrc [skip ci] 2023-07-10 07:06:10 +00:00
allcontributors[bot]
78485617e9 update README.ja-JP.md [skip ci] 2023-07-10 07:06:06 +00:00
allcontributors[bot]
56f6b88ac2 update README.es-ES.md [skip ci] 2023-07-10 07:05:52 +00:00
allcontributors[bot]
50fac29c5e update README.pt-BR.md [skip ci] 2023-07-10 07:05:50 +00:00
allcontributors[bot]
c13effeadc update README.id-ID.md [skip ci] 2023-07-10 07:05:47 +00:00
allcontributors[bot]
f0f0bbedf9 update README.de-DE.md [skip ci] 2023-07-10 07:05:38 +00:00
allcontributors[bot]
897d6167a9 update README.it-IT.md [skip ci] 2023-07-10 07:05:37 +00:00
allcontributors[bot]
a63011ca15 update README.ko-KR.md [skip ci] 2023-07-10 07:05:36 +00:00
allcontributors[bot]
eae2095787 update README.ru-RU.md [skip ci] 2023-07-10 07:05:36 +00:00
allcontributors[bot]
3efe6ce4cd update README.zh-CN.md [skip ci] 2023-07-10 07:05:34 +00:00
allcontributors[bot]
4966397fca update README.md [skip ci] 2023-07-10 07:05:33 +00:00
Eugene
57da067727 Merge pull request #8677 from DehanLUO/master 2023-07-10 09:05:32 +02:00
DehanLUO
fa50c7d9fa Stop local echo when remote echo is on 2023-07-10 02:10:54 -04:00
DehanLUO
9a82c4c5c0 Stop local echo when remote echo is on 2023-07-10 01:48:48 -04:00
Clem
a4136bec6e lint 2023-07-07 15:15:13 +02:00
Clem
82a262026f fix Eugeny/tabby#8534 : skip yaml unacceptable kind of object to dump 2023-07-07 15:06:47 +02:00
Clem
6709217a86 fix(tabby-terminal): save icon/color/group/dynamic title/behavior on session end with 'Save As' Profile 2023-07-07 15:03:57 +02:00
Clem
4bbf86a7a7 fix(tabby-terminal): create an ID for 'Save As' Profile 2023-07-07 11:23:19 +02:00
Clem
d98fbe8b44 feat(tabby-terminal): Eugeny/tabby#5688 add global Save As Profile context menu 2023-07-07 10:37:28 +02:00
Clem
3d9b15a82d ref(tabby-local): remove SaveAsProfile context menu 2023-07-07 10:35:03 +02:00
Eugene Pankov
77b74ad659 added Czech locale, updated other locales 2023-06-28 10:46:13 +02:00
Eugene Pankov
8de26cfeb8 updated contributors 2023-06-26 16:55:38 +02:00
Eugene Pankov
87a893480c Cross Compile linux armhf/arm64 artifacts #8613 by @Jai-JAP 2023-06-26 16:29:37 +02:00
93 changed files with 3988 additions and 1040 deletions

View File

@@ -1184,6 +1184,42 @@
"contributions": [
"code"
]
},
{
"login": "qyecst",
"name": "qyecst",
"avatar_url": "https://avatars.githubusercontent.com/u/13901864?v=4",
"profile": "https://github.com/qyecst",
"contributions": [
"code"
]
},
{
"login": "DehanLUO",
"name": "Han",
"avatar_url": "https://avatars.githubusercontent.com/u/53093688?v=4",
"profile": "https://github.com/DehanLUO",
"contributions": [
"code"
]
},
{
"login": "wljince007",
"name": "wljince007",
"avatar_url": "https://avatars.githubusercontent.com/u/88243938?v=4",
"profile": "https://github.com/wljince007",
"contributions": [
"code"
]
},
{
"login": "FeroTheFox",
"name": "fero",
"avatar_url": "https://avatars.githubusercontent.com/u/52982404?v=4",
"profile": "https://github.com/FeroTheFox",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
@@ -1192,5 +1228,6 @@
"repoType": "github",
"repoHost": "https://github.com",
"commitConvention": "none",
"skipCi": true
"skipCi": true,
"commitType": "docs"
}

View File

@@ -11,7 +11,7 @@ jobs:
fetch-depth: 0
- name: Installing Node
uses: actions/setup-node@v3.6.0
uses: actions/setup-node@v3.7.0
with:
node-version: 16
@@ -47,7 +47,7 @@ jobs:
fetch-depth: 0
- name: Installing Node
uses: actions/setup-node@v3.6.0
uses: actions/setup-node@v3.7.0
with:
node-version: 16
@@ -86,6 +86,7 @@ jobs:
KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPSTORE_USERNAME: ${{ secrets.APPSTORE_USERNAME }}
APPSTORE_PASSWORD: ${{ secrets.APPSTORE_PASSWORD }}
USE_HARD_LINKS: false
@@ -131,7 +132,21 @@ jobs:
needs: Lint
strategy:
matrix:
build-arch: [ x64, arm64, armv7l ]
include:
- build-arch: x64
arch: amd64
- build-arch: arm64
arch: arm64
triplet: aarch64-linux-gnu-
- build-arch: arm
arch: armhf
triplet: arm-linux-gnueabihf-
env:
CC: ${{matrix.triplet}}gcc
CXX: ${{matrix.triplet}}g++
ARCH: ${{matrix.build-arch}}
npm_config_arch: ${{matrix.build-arch}}
npm_config_target_arch: ${{matrix.build-arch}}
steps:
- name: Checkout
@@ -139,35 +154,66 @@ jobs:
with:
fetch-depth: 0
- name: Set up multiarch/qemu-user-static
run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
if: matrix.build-arch != 'x64'
- name: Install Node (x64)
uses: actions/setup-node@v3.6.0
- name: Install Node
uses: actions/setup-node@v3.7.0
with:
node-version: 16
if: matrix.build-arch == 'x64'
node-version: 18
- name: Install deps (x64)
- name: Install deps (amd64)
run: |
sudo apt-get update
sudo apt-get install libarchive-tools zsh
- name: Install npm_modules (amd64)
run: |
npm i -g yarn
yarn --network-timeout 1000000
if: matrix.build-arch == 'x64'
- name: Webpack (x64)
run: yarn run build
if: matrix.build-arch == 'x64'
- name: Setup Crossbuild (${{matrix.arch}})
run: |
sudo apt-get update -y && sudo apt-get install schroot sbuild debootstrap -y
sudo debootstrap --include=git,curl,gnupg,ca-certificates,crossbuild-essential-${{matrix.arch}},python-dev,python3-dev,libarchive-tools,cmake --variant=buildd --exclude=snapd --components=main,restricted,universe,multiverse --extractor=dpkg-deb bionic /build-chroot/
echo 'deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse' | sudo tee /build-chroot/etc/apt/sources.list >/dev/null
echo 'deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports bionic main restricted universe multiverse' | sudo tee -a /build-chroot/etc/apt/sources.list >/dev/null
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | sudo tee /build-chroot/etc/apt/trusted.gpg.d/nodesource.gpg >/dev/null
echo 'deb http://deb.nodesource.com/node_16.x bionic main' | sudo tee /build-chroot/etc/apt/sources.list.d/nodesource.list >/dev/null
echo "[build-chroot]
description=Ubuntu 18.04 Build chroot
type=directory
directory=/build-chroot
root-groups=root,sudo
profile=buildd
personality=linux
union-type=overlay" | sudo tee /etc/schroot/chroot.d/build-chroot.pref >/dev/null
echo "/home /home none rw,bind 0 0" | sudo tee -a /etc/schroot/buildd/fstab >/dev/null
- name: Prepackage plugins (x64)
if: matrix.build-arch != 'x64'
- name: Install node_modules & CrossBuild native modules for ${{matrix.arch}}
run: |
sudo schroot -c build-chroot -u root -- bash -c "apt-get update -y
dpkg --add-architecture ${{matrix.arch}}
apt-get install -y nodejs libfontconfig-dev:${{matrix.arch}} libsecret-1-dev:${{matrix.arch}} libnss3:${{matrix.arch}} libatk1.0-0:${{matrix.arch}} libatk-bridge2.0-0:${{matrix.arch}} libgdk-pixbuf2.0-0:${{matrix.arch}} libgtk-3-0:${{matrix.arch}} libgbm1:${{matrix.arch}}
export CC=${{matrix.triplet}}gcc CXX=${{matrix.triplet}}g++ LD=${{matrix.triplet}}ld
if [[ ${{matrix.arch}} == 'arm64' ]]; then
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/aarch64-linux-gnu/pkgconfig/
elif [[ ${{matrix.arch}} == 'armhf' ]]; then
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/arm-linux-gnueabihf/pkgconfig/
fi
export ARCH=${{matrix.build-arch}} npm_config_arch=${{matrix.build-arch}} npm_config_target_arch=${{matrix.build-arch}}
npm i -g yarn
yarn --network-timeout 1000000 --arch=${{matrix.build-arch}} --target_arch=${{matrix.build-arch}}"
if: matrix.build-arch != 'x64'
- name: Webpack (${{matrix.arch}})
run: yarn run build --arch=${{matrix.build-arch}} --target_arch=${{matrix.build-arch}}
- name: Prepackage plugins (${{matrix.arch}})
run: scripts/prepackage-plugins.mjs
if: ${{matrix.build-arch == 'x64'}}
- name: Build packages (x64)
- name: Build packages (${{matrix.arch}})
run: scripts/build-linux.mjs
if: ${{matrix.build-arch == 'x64'}}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
@@ -178,54 +224,54 @@ jobs:
run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist'
if: matrix.build-arch == 'x64'
- name: Install deps and Build (arm64)
uses: docker://multiarch/ubuntu-core:arm64-bionic
with:
args: >
bash -c
"apt update && apt install curl lsb-release gnupg -y &&
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&
apt install make build-essential git ruby libarchive-tools nodejs rpm libsecret-1-dev libfontconfig1-dev -y &&
git config --global --add safe.directory /github/workspace &&
gem install public_suffix -v 4.0.7 &&
gem install fpm --no-document &&
npm i -g yarn &&
cd /github/workspace &&
yarn --network-timeout 1000000 &&
yarn run build &&
scripts/prepackage-plugins.mjs &&
USE_SYSTEM_FPM=true scripts/build-linux.mjs"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
USE_HARD_LINKS: false
if: matrix.build-arch == 'arm64' && github.repository == 'Eugeny/tabby' && startsWith(github.ref, 'refs/tags')
# - name: Install deps and Build (arm64)
# uses: docker://multiarch/ubuntu-core:arm64-bionic
# with:
# args: >
# bash -c
# "apt update && apt install curl lsb-release gnupg -y &&
# curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&
# apt install make build-essential git ruby libarchive-tools nodejs rpm libsecret-1-dev libfontconfig1-dev -y &&
# git config --global --add safe.directory /github/workspace &&
# gem install public_suffix -v 4.0.7 &&
# gem install fpm --no-document &&
# npm i -g yarn &&
# cd /github/workspace &&
# yarn --network-timeout 1000000 &&
# yarn run build &&
# scripts/prepackage-plugins.mjs &&
# USE_SYSTEM_FPM=true scripts/build-linux.mjs"
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
# USE_HARD_LINKS: false
# if: matrix.build-arch == 'arm64' && github.repository == 'Eugeny/tabby' && startsWith(github.ref, 'refs/tags')
- name: Install deps and Build (armv7l)
uses: docker://multiarch/ubuntu-core:armhf-bionic
with:
args: >
bash -c
"apt update && apt install curl lsb-release gnupg -y &&
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&
apt install make build-essential git ruby libarchive-tools nodejs rpm libsecret-1-dev libfontconfig1-dev -y &&
git config --global --add safe.directory /github/workspace &&
gem install public_suffix -v 4.0.7 &&
gem install fpm --no-document &&
npm i -g yarn &&
cd /github/workspace &&
sed -i '/ \"electron\":/c\ \"electron\": \"17.0.0\",' package.json &&
yarn --network-timeout 1000000 &&
yarn run build &&
scripts/prepackage-plugins.mjs &&
USE_SYSTEM_FPM=true scripts/build-linux.mjs"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
USE_HARD_LINKS: false
if: matrix.build-arch == 'armv7l' && github.repository == 'Eugeny/tabby' && startsWith(github.ref, 'refs/tags')
# - name: Install deps and Build (armv7l)
# uses: docker://multiarch/ubuntu-core:armhf-bionic
# with:
# args: >
# bash -c
# "apt update && apt install curl lsb-release gnupg -y &&
# curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&
# apt install make build-essential git ruby libarchive-tools nodejs rpm libsecret-1-dev libfontconfig1-dev -y &&
# git config --global --add safe.directory /github/workspace &&
# gem install public_suffix -v 4.0.7 &&
# gem install fpm --no-document &&
# npm i -g yarn &&
# cd /github/workspace &&
# sed -i '/ \"electron\":/c\ \"electron\": \"17.0.0\",' package.json &&
# yarn --network-timeout 1000000 &&
# yarn run build &&
# scripts/prepackage-plugins.mjs &&
# USE_SYSTEM_FPM=true scripts/build-linux.mjs"
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# KEYGEN_TOKEN: ${{ secrets.KEYGEN_TOKEN }}
# USE_HARD_LINKS: false
# if: matrix.build-arch == 'arm' && github.repository == 'Eugeny/tabby' && startsWith(github.ref, 'refs/tags')
- name: Upload symbols
- name: Upload symbols (amd64 only)
run: |
sudo npm install -g @sentry/cli --unsafe-perm
./scripts/sentry-upload.mjs
@@ -245,31 +291,37 @@ jobs:
dir: 'dist'
- uses: actions/upload-artifact@master
name: Upload DEB
name: Upload AppImage (${{matrix.arch}})
with:
name: Linux DEB (${{matrix.build-arch}})
name: Linux AppImage (${{matrix.arch}})
path: dist/*.AppImage
- uses: actions/upload-artifact@master
name: Upload DEB (${{matrix.arch}})
with:
name: Linux DEB (${{matrix.arch}})
path: dist/*.deb
- uses: actions/upload-artifact@master
name: Upload RPM
name: Upload RPM (${{matrix.arch}})
with:
name: Linux RPM (${{matrix.build-arch}})
name: Linux RPM (${{matrix.arch}})
path: dist/*.rpm
- uses: actions/upload-artifact@master
name: Upload Pacman Package
name: Upload Pacman Package (${{matrix.arch}})
with:
name: Linux Pacman (${{matrix.build-arch}})
name: Linux Pacman (${{matrix.arch}})
path: dist/*.pacman
- uses: actions/upload-artifact@master
name: Upload Linux tarball
name: Upload Linux tarball (${{matrix.arch}})
with:
name: Linux tarball (${{matrix.build-arch}})
name: Linux tarball (${{matrix.arch}})
path: dist/*.tar.gz
- uses: actions/upload-artifact@master
name: Upload web tarball
name: Upload web tarball (amd64 only)
with:
name: Web tarball
path: tabby-web.tar.gz
@@ -293,7 +345,7 @@ jobs:
fetch-depth: 0
- name: Installing Node
uses: actions/setup-node@v3.6.0
uses: actions/setup-node@v3.7.0
with:
node-version: 16

View File

@@ -12,7 +12,7 @@ jobs:
fetch-depth: 0
- name: Installing Node
uses: actions/setup-node@v3.6.0
uses: actions/setup-node@v3.7.0
with:
node-version: 16

View File

@@ -17,8 +17,6 @@ First, from within the `tabby` directory install the dependencies via yarn:
yarn
```
**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

View File

@@ -322,6 +322,9 @@ Dank geht an diese wunderbaren Menschen ([emoji key](https://allcontributors.org
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -323,6 +323,10 @@ Gracias a estas maravillosas personas ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="http://kapocsi.ca"><img src="https://avatars.githubusercontent.com/u/84490604?v=4?s=100" width="100px;" alt="Thomas Kapocsi"/><br /><sub><b>Thomas Kapocsi</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Kapocsi" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -320,6 +320,10 @@ Terima kasih kepada mereka yang telah membantu ([emoji key](https://allcontribut
<td align="center" valign="top" width="14.28%"><a href="http://kapocsi.ca"><img src="https://avatars.githubusercontent.com/u/84490604?v=4?s=100" width="100px;" alt="Thomas Kapocsi"/><br /><sub><b>Thomas Kapocsi</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Kapocsi" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -317,6 +317,9 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -331,6 +331,10 @@ Windows上では、`Tabby.exe`がある場所と同じ場所に`data`フォル
<td align="center" valign="top" width="14.28%"><a href="http://kapocsi.ca"><img src="https://avatars.githubusercontent.com/u/84490604?v=4?s=100" width="100px;" alt="Thomas Kapocsi"/><br /><sub><b>Thomas Kapocsi</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Kapocsi" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -311,6 +311,9 @@ Pull requests and plugins are welcome!
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -34,7 +34,7 @@ This README is also available in: <a href="./README.es-ES.md">:es: Spanish</a>
----
[**Tabby**](https://tabby.sh) (formerly **Terminus**) is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux
[**Tabby**](https://tabby.sh) (formerly **Terminus**) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux
* Integrated SSH and Telnet client and connection manager
* Integrated serial terminal
@@ -333,6 +333,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -324,6 +324,10 @@ Obrigado vai para essas pessoas maravilhosas ([emoji key](https://allcontributor
<td align="center" valign="top" width="14.28%"><a href="http://kapocsi.ca"><img src="https://avatars.githubusercontent.com/u/84490604?v=4?s=100" width="100px;" alt="Thomas Kapocsi"/><br /><sub><b>Thomas Kapocsi</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Kapocsi" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -317,6 +317,9 @@ Pull-запросы и плагины приветствуются!
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -316,6 +316,9 @@
<td align="center" valign="top" width="14.28%"><a href="https://dylhack.dev/"><img src="https://avatars.githubusercontent.com/u/27179786?v=4?s=100" width="100px;" alt="Dylan Hackworth"/><br /><sub><b>Dylan Hackworth</b></sub></a><br /><a href="#financial-dylhack" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echo304"><img src="https://avatars.githubusercontent.com/u/16456651?v=4?s=100" width="100px;" alt="Sangboak Lee"/><br /><sub><b>Sangboak Lee</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=echo304" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/qyecst"><img src="https://avatars.githubusercontent.com/u/13901864?v=4?s=100" width="100px;" alt="qyecst"/><br /><sub><b>qyecst</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=qyecst" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DehanLUO"><img src="https://avatars.githubusercontent.com/u/53093688?v=4?s=100" width="100px;" alt="Han"/><br /><sub><b>Han</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=DehanLUO" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
</tr>
</tbody>
</table>

View File

@@ -1,4 +1,4 @@
import * as nodePTY from '@tabby-gang/node-pty'
import * as nodePTY from 'node-pty'
import { v4 as uuidv4 } from 'uuid'
import { ipcMain } from 'electron'
import { Application } from './app'

View File

@@ -92,8 +92,11 @@ export class Window {
if (this.configStore.appearance?.frame === 'native') {
bwOptions.frame = true
} else {
if (process.platform === 'darwin') {
bwOptions.titleBarStyle = 'hidden'
bwOptions.titleBarStyle = 'hidden'
if (process.platform === 'win32') {
bwOptions.titleBarOverlay = {
color: '#00000000',
}
}
}
@@ -384,6 +387,21 @@ export class Window {
this.setVibrancy(enabled, type)
})
ipcMain.on('window-set-window-controls-color', (event, theme) => {
if (!this.window || event.sender !== this.window.webContents) {
return
}
const symbolColor: string = theme.foreground
this.window.setTitleBarOverlay(
{
symbolColor: symbolColor,
height: 32,
},
)
})
ipcMain.on('window-set-title', (event, title) => {
if (!this.window || event.sender !== this.window.webContents) {
return
@@ -442,7 +460,7 @@ export class Window {
this.window.on('resize', onBoundsChange)
ipcMain.on('window-set-traffic-light-position', (_event, x, y) => {
this.window.setTrafficLightPosition({ x, y })
this.window.setWindowButtonPosition({ x, y })
})
ipcMain.on('window-set-opacity', (_event, opacity) => {

View File

@@ -16,7 +16,7 @@
},
"dependencies": {
"@electron/remote": "2.0.10",
"@tabby-gang/node-pty": "^0.11.0-beta.203",
"node-pty": "^1.0",
"any-promise": "^1.3.0",
"electron-config": "2.0.0",
"electron-debug": "^3.2.0",
@@ -37,8 +37,8 @@
"optionalDependencies": {
"@tabby-gang/windows-blurbehind": "^3.0.0",
"macos-native-processlist": "^2.1.0",
"patch-package": "^6.5.0",
"serialport": "11.0.0",
"patch-package": "^8.0.0",
"serialport": "11.0.1",
"serialport-binding-webserialapi": "^1.0.3",
"windows-native-registry": "^3.2.1",
"windows-process-tree": "^0.4.0"
@@ -47,7 +47,7 @@
"@ngx-translate/core": "^14.0.0",
"@types/mz": "2.7.4",
"@types/node": "20.3.1",
"atomically": "^1.7.0",
"atomically": "^2.0.2",
"filesize": "^9",
"ngx-filesize": "^3.0.2"
},

View File

@@ -47,7 +47,7 @@ const config = {
mz: 'commonjs mz',
npm: 'commonjs npm',
'node:os': 'commonjs os',
'@tabby-gang/node-pty': 'commonjs @tabby-gang/node-pty',
'node-pty': 'commonjs node-pty',
path: 'commonjs path',
util: 'commonjs util',
'source-map-support': 'commonjs source-map-support',

View File

@@ -38,13 +38,13 @@
"@serialport/bindings-interface" "^1.2.1"
debug "^4.3.3"
"@serialport/bindings-cpp@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/bindings-cpp/-/bindings-cpp-11.0.1.tgz#38afa6105ceb7888c6a2af2782822fca9130d65a"
integrity sha512-3I1mniVg3osYuIUXxU0jB5AHPsxWmErmc3JC3WfUSlfXsjWMHkHfFzbW9Scuv/z/6DLCJIDyltabRa2FoW2qsQ==
"@serialport/bindings-cpp@11.0.3":
version "11.0.3"
resolved "https://registry.yarnpkg.com/@serialport/bindings-cpp/-/bindings-cpp-11.0.3.tgz#ab4d4826ef657e326b6c99d6b8a113d834378a93"
integrity sha512-xgNDJ7pHHZCJMoDsEH+D8q5CV+V3RGN4/jLEG9SQ7q6kh+o03axV0l/upPHZ0HW4tTXpGgqPIGbXOTrD4RGQQA==
dependencies:
"@serialport/bindings-interface" "1.2.2"
"@serialport/parser-readline" "10.5.0"
"@serialport/parser-readline" "11.0.0"
debug "4.3.4"
node-addon-api "6.1.0"
node-gyp-build "4.6.0"
@@ -59,42 +59,35 @@
resolved "https://registry.yarnpkg.com/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz#1ee80b0951ef4e4fd8a5a186621feff046aa2faf"
integrity sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==
"@serialport/parser-byte-length@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-byte-length/-/parser-byte-length-11.0.0.tgz#074e6ed6b18d7a61edc75dba22d3115e8f37dd8c"
integrity sha512-rExsdFKdzOIHOBqTwzxUF1A9nrluVIZKZOtvMq5i0Hc3euooGdmkx0VXYNRlI2rd6kJLTL2P+uIR+ZtCTRyT+w==
"@serialport/parser-byte-length@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-byte-length/-/parser-byte-length-11.0.1.tgz#26e4f3b2d66aaac0859b18a57c648d0eec78392a"
integrity sha512-UsffR5b3NHwhjJzsWv5fZMkoq3wGNyUcRTA9jlu02w+2kMlBRJPzlPVB5szVX0VWUEqkCg+3VaU2XWuYr+uAUA==
"@serialport/parser-cctalk@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-cctalk/-/parser-cctalk-11.0.0.tgz#6a5e2b299e8f1ef00308980e45ecdae23825181e"
integrity sha512-eN1MvEIFwI4GedWJhte6eWF+NZtrjchZbMf0CE6NV9TRzJI1KLnFf90ZOj/mhGuANojX4sqWfJKQXwN6E8VSHQ==
"@serialport/parser-delimiter@10.5.0":
version "10.5.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-delimiter/-/parser-delimiter-10.5.0.tgz#b0d93100cdfd0619d020a427d652495073f3b828"
integrity sha512-/uR/yT3jmrcwnl2FJU/2ySvwgo5+XpksDUR4NF/nwTS5i3CcuKS+FKi/tLzy1k8F+rCx5JzpiK+koqPqOUWArA==
"@serialport/parser-cctalk@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-cctalk/-/parser-cctalk-11.0.1.tgz#70c5ccc8fc5ebbe5c317005791155d3b2812efa6"
integrity sha512-klzVQfRcC1m0SVDV2Dy9hHfwweO2/mUMUyuXK04FRkKHy5/AdETmk9KTVVVVfpDCSysvHoyQPwiDFq8ddwX3cQ==
"@serialport/parser-delimiter@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-delimiter/-/parser-delimiter-11.0.0.tgz#e830c6bb49723d4446131277dc3243b502d09388"
integrity sha512-aZLJhlRTjSmEwllLG7S4J8s8ctRAS0cbvCpO87smLvl3e4BgzbVgF6Z6zaJd3Aji2uSiYgfedCdNc4L6W+1E2g==
"@serialport/parser-inter-byte-timeout@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-11.0.0.tgz#baf7223bf3d49d159c82386928c763bfecf8f70f"
integrity sha512-RLgqZC50IET6FtEIt6Oi0vdRsesSBWLNwB7ldzR9OzyXKgK0XHRzqKqbB0u5Q+tC5OScdWeiQ2AO6jooKUZtsw==
"@serialport/parser-delimiter@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-delimiter/-/parser-delimiter-11.0.1.tgz#c0bcc24d8060c6b352cbe6003ebe95671ad32221"
integrity sha512-NAsYa3OFt2xEnj/+0BRkQP2qkRNbXBPEq6uFJEdNdzcTSF+BTRXkoIRrWBq3N6koovPqW6lnbxc/iJYe5AX/2Q==
"@serialport/parser-packet-length@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-packet-length/-/parser-packet-length-11.0.0.tgz#ec06934b40b45b8f5eb04ba5527e98a1062c2a20"
integrity sha512-6ZkOiaCooabpV/EM7ttSRbisbDWpGEf7Yxyr13t28LicYR43THRdjdMZcRnWxEM/jpwfskkLLXAR6wziVpKrlw==
"@serialport/parser-inter-byte-timeout@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-11.0.1.tgz#ed6d939eeb3bec94579fb3628dc6dcd0c9a3dd21"
integrity sha512-PEFV9dSpW+ptH1rLhdB9KgE+rbJ/FvQiZz0mx+4jkv/Po4g3PNsEEMXfMW0aQVSFVsmitvmE0jHlhGjLv8GQEg==
"@serialport/parser-readline@10.5.0":
version "10.5.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-readline/-/parser-readline-10.5.0.tgz#df23365ae7f45679b1735deae26f72ba42802862"
integrity sha512-0aXJknodcl94W9zSjvU+sLdXiyEG2rqjQmvBWZCr8wJZjWEtv3RgrnYiWq4i2OTOyC8C/oPK8ZjpBjQptRsoJQ==
dependencies:
"@serialport/parser-delimiter" "10.5.0"
"@serialport/parser-packet-length@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-packet-length/-/parser-packet-length-11.0.1.tgz#9d7982a6eeaf9a5bdfe642ceb287f171ab2965b7"
integrity sha512-KwPu8dsAI+eN4fnUS1vVmrOpUtBK4p9L9cHhwn5ZmfcvwvZMHp/J+IEu7xH0g5aM1/8QEoaql26BQP+sZ71NQQ==
"@serialport/parser-readline@11.0.0":
version "11.0.0"
@@ -103,30 +96,37 @@
dependencies:
"@serialport/parser-delimiter" "11.0.0"
"@serialport/parser-ready@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-ready/-/parser-ready-11.0.0.tgz#802e7189d9e5d13df70d3aa1559403b72fcfa700"
integrity sha512-lSsCPIctoc5kADCKnZDYBz1j69TsFqtnaWUicBzUAIAoUXpYKeYld8YX5NrvjViuVfIJeiqLZeGjxOWe5fqQqQ==
"@serialport/parser-readline@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-readline/-/parser-readline-11.0.1.tgz#e85805ae803c2dc507eefa390abec6a67ceef313"
integrity sha512-wkJ3EI733+yhbi7eBWzs/qn8+cfIBcYQjfrILPNqslAy6VlgdKw+pHoblDFmg78GN0TqGUDSWlTJ65oLEPVp5Q==
dependencies:
"@serialport/parser-delimiter" "11.0.1"
"@serialport/parser-regex@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-regex/-/parser-regex-11.0.0.tgz#bb247297851b1a789f4dde1c4ad48c39d6db7ed6"
integrity sha512-aKuc/+/KE9swahTbYpSuOsQa7LggPx7jhfobJLPVVbAic80OpfCIY+MKr6Ax4R6UtQwF90O5Yk6OEmbbvtEmiA==
"@serialport/parser-ready@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-ready/-/parser-ready-11.0.1.tgz#bba01283a121880641e43c27193e6708fef2907c"
integrity sha512-v/bvlgKhrNt+SVLSqlfXCO1HEinfRRMGnzqbpdVCgu2SiWIEenCLjs51JisKVYQoQFcXdP/EHZnzm7NPXHDlAg==
"@serialport/parser-slip-encoder@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-slip-encoder/-/parser-slip-encoder-11.0.0.tgz#f1c3f56e04c497ca89059c69ea79411b30e8da60"
integrity sha512-3ZI/swd2it20vmu2tzqDbkyE4dqy+kExEDY6T33YQ210HDKPVhqj7FAVGo5P++MZ3dup1of11t4P9UPBNkuJnQ==
"@serialport/parser-regex@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-regex/-/parser-regex-11.0.1.tgz#7833ca6029c8c58eb39dd6fe984756cf09d769b7"
integrity sha512-Lf3k7qibYqZ0+/wX3UA8fRng3WtQ+UyLpjQhG1COs6OBSq5/I5tYXczfhlrbA0gHo1qzgzr2V2t7m6FoBSc81Q==
"@serialport/parser-spacepacket@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/parser-spacepacket/-/parser-spacepacket-11.0.0.tgz#7737aaa1397db4bf820160dd2f7dd0c9df5f74a0"
integrity sha512-+hqRckrTEqz+/uAUZY0Tq6YIRyCl4oQOH1MeVzKiFiGNjZP7hDJCDoY7LTr9CeJhxvcT0ItTbtjGBqGumV8fxg==
"@serialport/parser-slip-encoder@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-slip-encoder/-/parser-slip-encoder-11.0.1.tgz#4ba0c335627e3d1203279a5f8a4c1af0c829b7fe"
integrity sha512-l4mXsAGzpmPO7+uqKJqtPDW643irfnGEWbiy34FoYvuOs8n0SmiMtgQZFAtvlTNQCRWE2tykF/WG6K/McJthDw==
"@serialport/stream@11.0.0":
version "11.0.0"
resolved "https://registry.yarnpkg.com/@serialport/stream/-/stream-11.0.0.tgz#9887db096b51fabe1919a591b920b06f7580e8ee"
integrity sha512-Zty7B8C1H2XRnay2mVmW1ygEHXRHXQDcaC5wAVvOZMbQSc7ye03rMlPvviDS+pGxU2t2A2bMo34CUrRduSBong==
"@serialport/parser-spacepacket@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/parser-spacepacket/-/parser-spacepacket-11.0.1.tgz#9e1c372f45433afb9a5dbec7b5a298c710b0455b"
integrity sha512-Lq7fXoOsLOMo4XEt9HB31zV5LhrteXlsOy2o6r39TfRwU6x8Nou9jQMA9vW0a6yPra5zwsHIaNrA6tDOGj2Ozg==
"@serialport/stream@11.0.1":
version "11.0.1"
resolved "https://registry.yarnpkg.com/@serialport/stream/-/stream-11.0.1.tgz#ed40c66d517cfebf7185cd9c37ba0a08e76f88b2"
integrity sha512-6pjyKRg8MQuvhGfg36+PF7K5eGNQcEswCSiAg1UPilqqFS8X1QnaiSCn5UFp/hCN+pAtlFjkOi0ztvtmSI7n4g==
dependencies:
"@serialport/bindings-interface" "1.2.2"
debug "4.3.4"
@@ -138,13 +138,6 @@
dependencies:
debug "^4.3.2"
"@tabby-gang/node-pty@^0.11.0-beta.203":
version "0.11.0-beta.204"
resolved "https://registry.yarnpkg.com/@tabby-gang/node-pty/-/node-pty-0.11.0-beta.204.tgz#80d4393c7a233d3298f47a4755467a246b0099f9"
integrity sha512-sNT5Z2MEkEIhToAdVAdZ/lfeQ9UgFE3h2ENlOux+WHBrl1k0BiUEIOd/jh/K3mNAGEfcZ44gNQQ50g5KXTQEmA==
dependencies:
nan "^2.16.0"
"@tabby-gang/windows-blurbehind@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@tabby-gang/windows-blurbehind/-/windows-blurbehind-3.0.0.tgz#48d409c2eb14a12c867b70de5ee4d6769ef45e8f"
@@ -334,10 +327,18 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
atomically@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe"
integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==
at-least-node@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
atomically@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/atomically/-/atomically-2.0.2.tgz#e5a6e8021441405b7a1c36d4587e25f7a13545f2"
integrity sha512-Xfmb4q5QV7uqTlVdMSTtO5eF4DCHfNOdaPyKlbFShkzeNP+3lj3yjjcbdjSmEY4+pDBKJ9g26aP+ImTe88UHoQ==
dependencies:
stubborn-fs "^1.2.5"
when-exit "^2.0.0"
aws-sign2@~0.7.0:
version "0.7.0"
@@ -542,6 +543,11 @@ ci-info@^2.0.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
ci-info@^3.7.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
cidr-regex@^2.0.10:
version "2.0.10"
resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-2.0.10.tgz#af13878bd4ad704de77d6dc800799358b3afa70d"
@@ -745,16 +751,14 @@ cross-spawn@^5.0.1:
shebang-command "^1.2.0"
which "^1.2.9"
cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
nice-try "^1.0.4"
path-key "^2.0.1"
semver "^5.5.0"
shebang-command "^1.2.0"
which "^1.2.9"
path-key "^3.1.0"
shebang-command "^2.0.0"
which "^2.0.1"
crypto-random-string@^1.0.0:
version "1.0.0"
@@ -1210,14 +1214,15 @@ fs-extra@^10.0.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-extra@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
fs-extra@^9.0.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
dependencies:
graceful-fs "^4.1.2"
jsonfile "^4.0.0"
universalify "^0.1.0"
at-least-node "^1.0.0"
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-minipass@^1.2.7:
version "1.2.7"
@@ -1578,13 +1583,6 @@ is-ci@^1.0.10:
dependencies:
ci-info "^1.5.0"
is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
dependencies:
ci-info "^2.0.0"
is-cidr@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.1.tgz#e92ef121bdec2782271a77ce487a8b8df3718ab7"
@@ -1759,18 +1757,18 @@ json-schema@0.2.3:
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
json-stable-stringify@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0"
integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==
dependencies:
jsonify "^0.0.1"
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
optionalDependencies:
graceful-fs "^4.1.6"
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
@@ -1780,6 +1778,11 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
jsonify@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978"
integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
jsonparse@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
@@ -2264,7 +2267,7 @@ mz@^2.7.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
nan@^2.16.0, nan@^2.17.0, "nan@github:jkleinsc/nan#remove_accessor_signature":
nan@^2.17.0, "nan@github:jkleinsc/nan#remove_accessor_signature":
version "2.16.0"
resolved "https://codeload.github.com/jkleinsc/nan/tar.gz/6a2f95a6a2209d8aa7542fb18099fd808a802059"
@@ -2287,11 +2290,6 @@ ngx-filesize@^3.0.2:
dependencies:
tslib "^2.3.0"
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
node-abi@^2.20.0:
version "2.30.1"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf"
@@ -2352,6 +2350,13 @@ node-gyp@^5.0.2, node-gyp@^5.1.0:
tar "^4.4.12"
which "^1.3.1"
node-pty@^1.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-1.0.0.tgz#7daafc0aca1c4ca3de15c61330373af4af5861fd"
integrity sha512-wtBMWWS7dFZm/VgqElrTvtfMq4GzJ6+edFI0Y0zyzygUSZMgZdraDUMUhCIvkjhJjme15qWmbyJbtAx4ot4uZA==
dependencies:
nan "^2.17.0"
nopt@^4.0.1, nopt@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
@@ -2820,25 +2825,26 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
patch-package@^6.5.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.5.0.tgz#feb058db56f0005da59cfa316488321de585e88a"
integrity sha512-tC3EqJmo74yKqfsMzELaFwxOAu6FH6t+FzFOsnWAuARm7/n2xB5AOeOueE221eM9gtMuIKMKpF9tBy/X2mNP0Q==
patch-package@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61"
integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==
dependencies:
"@yarnpkg/lockfile" "^1.1.0"
chalk "^4.1.2"
cross-spawn "^6.0.5"
ci-info "^3.7.0"
cross-spawn "^7.0.3"
find-yarn-workspace-root "^2.0.0"
fs-extra "^7.0.1"
is-ci "^2.0.0"
fs-extra "^9.0.0"
json-stable-stringify "^1.0.2"
klaw-sync "^6.0.0"
minimist "^1.2.6"
open "^7.4.2"
rimraf "^2.6.3"
semver "^5.6.0"
semver "^7.5.3"
slash "^2.0.0"
tmp "^0.0.33"
yaml "^1.10.2"
yaml "^2.2.2"
path-exists@^3.0.0:
version "3.0.0"
@@ -2855,11 +2861,16 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2, path-is-inside@~1.0.2:
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
path-key@^2.0.0, path-key@^2.0.1:
path-key@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -3272,15 +3283,15 @@ semver-diff@^2.0.0:
dependencies:
semver "^5.0.3"
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
version "5.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
semver@^7.3.5:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
semver@^7.3.5, semver@^7.5.3:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
@@ -3299,24 +3310,24 @@ serialport-binding-webserialapi@^1.0.3:
"@serialport/binding-abstract" "^9.0.2"
"@serialport/stream" "^9.0.2"
serialport@11.0.0:
version "11.0.0"
resolved "https://registry.yarnpkg.com/serialport/-/serialport-11.0.0.tgz#a4114fc60e91b23f133ec459345b7be637b1e8ef"
integrity sha512-bxs3XejQcOHWpzPAaXMhxVRlbem6fjNUrux3ToqrGvFR6BcjOYhqE5CsHOuutv37kmhmnuHrn+/hN+1BpTmaFg==
serialport@11.0.1:
version "11.0.1"
resolved "https://registry.yarnpkg.com/serialport/-/serialport-11.0.1.tgz#9c7aad877d38124a938a50f89eaef22c44825eae"
integrity sha512-j/ntDuewAkqL6g5wKjwV2RTyLBL9cpob8aRd3yLAViYApTsJoYqRleyuzst0OboNTBjBsoxQ4YKYhuYHi1XViQ==
dependencies:
"@serialport/binding-mock" "10.2.2"
"@serialport/bindings-cpp" "11.0.1"
"@serialport/parser-byte-length" "11.0.0"
"@serialport/parser-cctalk" "11.0.0"
"@serialport/parser-delimiter" "11.0.0"
"@serialport/parser-inter-byte-timeout" "11.0.0"
"@serialport/parser-packet-length" "11.0.0"
"@serialport/parser-readline" "11.0.0"
"@serialport/parser-ready" "11.0.0"
"@serialport/parser-regex" "11.0.0"
"@serialport/parser-slip-encoder" "11.0.0"
"@serialport/parser-spacepacket" "11.0.0"
"@serialport/stream" "11.0.0"
"@serialport/bindings-cpp" "11.0.3"
"@serialport/parser-byte-length" "11.0.1"
"@serialport/parser-cctalk" "11.0.1"
"@serialport/parser-delimiter" "11.0.1"
"@serialport/parser-inter-byte-timeout" "11.0.1"
"@serialport/parser-packet-length" "11.0.1"
"@serialport/parser-readline" "11.0.1"
"@serialport/parser-ready" "11.0.1"
"@serialport/parser-regex" "11.0.1"
"@serialport/parser-slip-encoder" "11.0.1"
"@serialport/parser-spacepacket" "11.0.1"
"@serialport/stream" "11.0.1"
debug "4.3.4"
set-blocking@^2.0.0, set-blocking@~2.0.0:
@@ -3338,11 +3349,23 @@ shebang-command@^1.2.0:
dependencies:
shebang-regex "^1.0.0"
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
dependencies:
shebang-regex "^3.0.0"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
shebang-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz"
@@ -3616,6 +3639,11 @@ strip-json-comments@~2.0.1:
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
stubborn-fs@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/stubborn-fs/-/stubborn-fs-1.2.5.tgz#e5e244223166921ddf66ed5e062b6b3bf285bfd2"
integrity sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -3800,11 +3828,6 @@ unique-string@^1.0.0:
dependencies:
crypto-random-string "^1.0.0"
universalify@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
universalify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
@@ -3908,6 +3931,11 @@ wcwidth@^1.0.0:
dependencies:
defaults "^1.0.3"
when-exit@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/when-exit/-/when-exit-2.1.0.tgz#0f7b5d7d5f00ea2c4b131b546c444cca2c4ffba7"
integrity sha512-H85ulNwUBU1e6PGxkWUDgxnbohSXD++ah6Xw1VHAN7CtypcbZaC4aYjQ+C2PMVaDkURDuOinNAT+Lnz3utWXxQ==
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz"
@@ -3920,6 +3948,13 @@ which@^1.2.9, which@^1.3.0, which@^1.3.1:
dependencies:
isexe "^2.0.0"
which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz"
@@ -4042,10 +4077,10 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yaml@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
yaml@^2.2.2:
version "2.3.1"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b"
integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
yargs-parser@^15.0.1:
version "15.0.1"

View File

@@ -1,16 +0,0 @@
const fs = require('fs')
const signHook = require('./afterSignHook.cjs')
module.exports = async function (params) {
// notarize the app on Mac OS only.
if (process.platform !== 'darwin' || !process.env.GITHUB_REF || !process.env.GITHUB_REF.startsWith('refs/tags/')) {
return
}
console.log('afterBuild hook triggered')
let pkgName = fs.readdirSync('dist').find(x => x.endsWith('.pkg'))
signHook({
appOutDir: 'dist',
_pathOverride: pkgName,
})
}

View File

@@ -1,35 +0,0 @@
// See: https://medium.com/@TwitterArchiveEraser/notarize-electron-apps-7a5f988406db
const fs = require('fs')
const path = require('path')
const notarizer = require('@electron/notarize')
module.exports = async function (params) {
// notarize the app on Mac OS only.
if (process.platform !== 'darwin' || !process.env.GITHUB_REF || !process.env.GITHUB_REF.startsWith('refs/tags/')) {
return
}
console.log('afterSign hook triggered', params)
let appId = 'org.tabby'
let appPath = path.join(params.appOutDir, params._pathOverride || `${params.packager.appInfo.productFilename}.app`)
if (!fs.existsSync(appPath)) {
throw new Error(`Cannot find application at: ${appPath}`)
}
console.log(`Notarizing ${appId} found at ${appPath}`)
try {
await notarizer.notarize({
appBundleId: appId,
appPath: appPath,
appleId: process.env.APPSTORE_USERNAME,
appleIdPassword: process.env.APPSTORE_PASSWORD,
})
} catch (error) {
console.error(error)
}
console.log(`Done notarizing ${appId}`)
}

View File

@@ -3,8 +3,6 @@ appId: org.tabby
productName: Tabby
compression: normal
npmRebuild: false
afterSign: "./build/mac/afterSignHook.cjs"
afterAllArtifactBuild: "./build/mac/afterBuildHook.cjs"
files:
- '**/*'
- dist

2448
locale/cs-CZ.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: German\n"
"Language: de_DE\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Farbschema"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Farben"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Befehle"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Kompakt (alte Version)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "Kontextmenü"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Legt den Abstand zwischen den Elementen fest"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -844,7 +844,7 @@ msgstr "Fokussiere den Bereich rechts"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "An Farbschema halten"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1439,7 +1439,7 @@ msgstr "Bereiche"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Paper (Vorgängerversion)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Quellcode"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Platzhalter"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "SSH-Passwort für {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Standard (alte Version)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2126,7 +2126,7 @@ msgstr "Tab Position "
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:141
msgid "Tabs width"
msgstr "Tabs Breite"
msgstr "Tab Breite"
#: tabby-telnet/src/profiles.ts:32
msgid "Telnet session"
@@ -2364,7 +2364,7 @@ msgstr "Ob ein benutzerdefiniertes Fenster- oder das Fenster Layout des Betriebs
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Verhindert, dass die SSH-Begrüßung angezeigt wird"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: English, United Kingdom\n"
"Language: en_GB\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Colour scheme"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Colours"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -844,7 +844,7 @@ msgstr ""
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Follow the colour scheme"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1431,7 +1431,7 @@ msgstr ""
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:189
msgid "Pane resize step"
msgstr "Pane resise step"
msgstr "Pane resize step"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:186
msgid "Panes"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Esquema de color"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Colores"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,11 +339,11 @@ msgstr "Comandos"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Compacto (heredado)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
msgstr ""
msgstr "Configuración eliminada"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:108
msgid "Config downloaded"
@@ -405,7 +405,7 @@ msgstr "Menú contextual"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Controla la cantidad de espacio entre los elementos"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -426,7 +426,7 @@ msgstr "Copiar la ruta actual"
#: tabby-electron/src/sftpContextMenu.ts:29
msgid "Copy full path"
msgstr ""
msgstr "Copiar ruta completa"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:97
msgid "Copy on select"
@@ -552,7 +552,7 @@ msgstr "Eliminar palabra anterior"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:114
msgid "Delete the config on the remote side?"
msgstr ""
msgstr "¿Eliminar la configuración del lado remoto?"
#: tabby-settings/src/components/profilesSettingsTab.component.ts:221
msgid "Delete the group's profiles?"
@@ -844,7 +844,7 @@ msgstr "Central el panel de la derecha"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Seguir el esquema de colores"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -993,7 +993,7 @@ msgstr "Teclas de acceso rápido"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:69
msgid "How Tabby presents itself through environment vars"
msgstr ""
msgstr "Cómo Tabby se presenta a través de las variables de entorno"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
@@ -1439,7 +1439,7 @@ msgstr "Paneles"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Papel (heredado)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Código fuente"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Espaciado"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "Contraseña SSH para {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Estándar (heredado)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2147,7 +2147,7 @@ msgstr "Campana de la terminal"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:68
msgid "Terminal identification"
msgstr ""
msgstr "Identificación del Terminal"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
msgid "Thank you for downloading Tabby!"
@@ -2364,7 +2364,7 @@ msgstr "Si se debe usar una ventana personalizada o una ventana nativa del siste
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Evitar que aparezca el mensaje de bienvenida SSH"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: French\n"
"Language: fr_FR\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Schéma de couleurs"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Couleurs"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Commandes"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Compact (hérité)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "Menu contextuel"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Contrôle la quantité d'espace entre les éléments"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -607,7 +607,7 @@ msgstr "Déconnecter"
#: tabby-ssh/src/components/sshTab.component.ts:247
#: tabby-telnet/src/components/telnetTab.component.ts:113
msgid "Disconnect from {host}?"
msgstr "Déconnectez de {host} ?"
msgstr "Se déconnecter de {host}?"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:30
msgid "Display images via Sixel escape sequences"
@@ -844,7 +844,7 @@ msgstr "Focus sur le volet à droite"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Suivre le schéma de couleurs"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1439,7 +1439,7 @@ msgstr "Panneaux"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Papier (héritage)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1694,7 +1694,7 @@ msgstr "Réutiliser la session pour plusieurs onglets"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:78
#: tabby-core/src/tabContextMenu.ts:78
msgid "Right"
msgstr "Droit"
msgstr "Droite"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:56
msgid "Right click"
@@ -1977,7 +1977,7 @@ msgstr "Code source"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Espacement"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "Mot de passe SSH pour {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Standard (hérité)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2236,7 +2236,7 @@ msgstr "Désépingler"
#: tabby-core/src/tabContextMenu.ts:81
msgid "Up"
msgstr "Monter"
msgstr "Haut"
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:14
#: tabby-electron/src/services/updater.service.ts:133
@@ -2364,7 +2364,7 @@ msgstr "Indique si une fenêtre personnalisée ou une fenêtre native de l'OS do
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Empêchera l'affichage du message de salutation SSH"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -256,7 +256,7 @@ msgstr "Šifre"
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSelector.component.html:5
msgid "Clear"
msgstr ""
msgstr "Isprazni"
#: tabby-core/src/services/profiles.service.ts:133
msgid "Clear recent profiles"
@@ -268,7 +268,7 @@ msgstr "Isprazni terminal"
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:49
msgid "Clear terminal after connection"
msgstr ""
msgstr "Isprazni terminal nakon povezivanja"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:94
msgid "Clipboard"
@@ -319,7 +319,7 @@ msgstr "Shema boja"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Boje"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,11 +339,11 @@ msgstr "Naredbe"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Kompaktno (zastarjelo)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
msgstr ""
msgstr "Konfiguracija je izbrisana"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:108
msgid "Config downloaded"
@@ -405,7 +405,7 @@ msgstr "Kontekstni izbornik"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Kontrolira količinu prostora između elemenata"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -426,7 +426,7 @@ msgstr "Kopiraj trenutačnu stazu"
#: tabby-electron/src/sftpContextMenu.ts:29
msgid "Copy full path"
msgstr ""
msgstr "Kopiraj potpunu stazu"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:97
msgid "Copy on select"
@@ -552,7 +552,7 @@ msgstr "Izbriši prethodnu riječ"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:114
msgid "Delete the config on the remote side?"
msgstr ""
msgstr "Izbrisati konfiguraciju na udaljenom uređaju?"
#: tabby-settings/src/components/profilesSettingsTab.component.ts:221
msgid "Delete the group's profiles?"
@@ -844,7 +844,7 @@ msgstr "Postavi desnu ploču kao aktivnu"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Slijedi shemu boja"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -993,7 +993,7 @@ msgstr "Tipkovni prečaci"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:69
msgid "How Tabby presents itself through environment vars"
msgstr ""
msgstr "Kako se Tabby predstavlja kroz različita okruženja"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
@@ -1439,7 +1439,7 @@ msgstr "Ploče"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Papir (zastarjelo)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Izvorni kod"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Razmak"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "SSH lozinka za {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Standardno (zastarjelo)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2147,7 +2147,7 @@ msgstr "Zvono terminala"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:68
msgid "Terminal identification"
msgstr ""
msgstr "Identifikacija terminala"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
msgid "Thank you for downloading Tabby!"
@@ -2364,7 +2364,7 @@ msgstr "Da li koristiti prilagođeni prozor ili izvorni prozor OS-a"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Spriječit će pojavljivanje SSH pozdrava"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Italian\n"
"Language: it_IT\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Tema del terminale"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Colori"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Comandi"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Compatto (legacy)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -378,7 +378,7 @@ msgstr "Connessione a \"%s\"..."
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:17
msgid "Connect to a different host first and use it as a proxy"
msgstr "Connettersi prima a un altro host e utilizzarlo come proxy"
msgstr "Connettiti prima ad un altro host e usalo come proxy"
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:19
#: tabby-serial/src/components/serialTab.component.ts:65
@@ -405,7 +405,7 @@ msgstr "Menu contestuale"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Controlla la quantità di spazio tra gli elementi"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -844,7 +844,7 @@ msgstr "Evidenzia il riquadro a destra"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Segui lo schema dei colori"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1439,7 +1439,7 @@ msgstr "Riquadri"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Carta (legacy)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Codice sorgente"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Vuoto"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "Password SSH per {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Standard (legacy)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2364,7 +2364,7 @@ msgstr "Indica se usare una cornice personalizzata o nativa del sistema operativ
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Impedirà l'apparizione dei Greeting SSH"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -148,7 +148,7 @@ msgstr "自動"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:153
msgid "Auto-open a terminal on app start"
msgstr "アプリケーション起動時に新しい端末を自動で開く"
msgstr "起動時に新しい端末を自動で開く"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:13
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:53
@@ -214,7 +214,7 @@ msgstr "ブロードキャストモードです。中断するにはクリック
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:50
#: tabby-settings/src/components/profilesSettingsTab.component.ts:182
msgid "Built-in"
msgstr "組込み"
msgstr "標準"
#: locale/tmp-html/tabby-core/src/components/renameTabModal.component.html:7
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:53
@@ -319,7 +319,7 @@ msgstr "配色"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "配色"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "コマンド"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "コンパクト (非推奨)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "コンテキストメニュー"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "UI要素間の間隔を変更します"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -479,7 +479,7 @@ msgstr "カスタム"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:90
msgid "Custom CSS"
msgstr "カスタム CSS"
msgstr "カスタムCSS"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:26
msgid "Data bits"
@@ -844,7 +844,7 @@ msgstr "右側のペインにフォーカス"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "配色設定に合わせる"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -947,7 +947,7 @@ msgstr "Tabbyの翻訳に参加する"
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:32
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:44
msgid "Hexadecimal"
msgstr "16進"
msgstr "16進"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:176
msgid "Hide tab close button"
@@ -1427,7 +1427,7 @@ msgstr "リモート側の設定を上書きして同期を開始しますか?
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:96
msgid "Overwrite the local config and start syncing?"
msgstr "ローカル設定を上書きして同期を開始しますか?"
msgstr "これまでのローカル上の設定を上書きして同期を開始しますか?"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:189
msgid "Pane resize step"
@@ -1439,7 +1439,7 @@ msgstr "ペイン"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "ペーパー (非推奨)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1451,7 +1451,7 @@ msgstr "設定ファイルがVaultによって暗号化されている場合、
#: tabby-settings/src/components/vaultSettingsTab.component.ts:87
msgid "Passphrase for a private key with hash {hash}..."
msgstr "ハッシュ値 {hash}... の秘密鍵のパスフレーズ"
msgstr "秘密鍵のパスフレーズ ハッシュ値 {hash}..."
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:100
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:82
@@ -1470,7 +1470,7 @@ msgstr "クリップボードから貼り付け"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:63
msgid "Paste if no selection, else copy"
msgstr "テキストを選択していない場合は貼り付け、選択中はコピー"
msgstr "通常は貼り付け、テキスト選択時のみコピー"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:490
msgid "Paste multiple lines?"
@@ -1684,7 +1684,7 @@ msgstr "変更を反映するには再起動が必要です"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:159
msgid "Restore terminal tabs on app start"
msgstr "アプリケーション起動時に以前開いていたタブを復元する"
msgstr "起動時に以前開いていたタブを復元する"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:147
msgid "Reuse session for multiple tabs"
@@ -1810,7 +1810,7 @@ msgstr "プロファイルの選択、またはアドレスを入力"
#: tabby-terminal/src/components/streamProcessingSettings.component.ts:33
msgid "Send bytes by typing in hex values"
msgstr "16進数の値を入力しバイトを送信"
msgstr "16進数入力しバイトを送信"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:75
msgid "Sends data one byte at a time"
@@ -1882,7 +1882,7 @@ msgstr "複数行を貼り付ける際に確認ボックスを表示します"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:61
msgid "Show built-in profiles in selector"
msgstr "セレクターに組み込みプロファイルを表示する"
msgstr "セレクターに標準プロファイルを表示する"
#: tabby-core/src/hotkeys.ts:13
msgid "Show command selector"
@@ -1977,7 +1977,7 @@ msgstr "ソースコード"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "UIの間隔"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2015,7 +2015,7 @@ msgstr "SSH接続"
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:53
msgid "SSH connection management is now done through the \"Profiles & connections\" tab"
msgstr "SSH接続の管理は「プロファイルと接続」タブからできるようになりました。"
msgstr "SSH接続の管理は「プロファイルと接続」からできるようになりました。"
#: tabby-settings/src/components/vaultSettingsTab.component.ts:84
msgid "SSH password for {user}@{host}:{port}"
@@ -2023,7 +2023,7 @@ msgstr "{user}@{host}:{port} のSSHパスワード"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "標準 (非推奨)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2352,7 +2352,7 @@ msgstr "最新情報"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:82
msgid "When enabled, links are only clickable while holding this key"
msgstr "有効な場合、指定されたキーを押しながらクリックしたときだけ、リンクを開けるようにします。"
msgstr "有効にすると、特定のキーを押しながらクリックしただけ、リンクを開けるようにします。"
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:18
msgid "When WinSCP is detected, you can launch an SCP session from the context menu."
@@ -2360,11 +2360,11 @@ msgstr "WinSCPが検出されると、コンテキストメニューからSCPセ
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:53
msgid "Whether a custom window or an OS native window should be used"
msgstr "カスタムウィンドウを使用するか、OS標準ウィンドウを使用するかを選択することができます。"
msgstr "カスタムウィンドウを使用するか、OS標準ウィンドウを使用するかを選択できます。"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "SSH接続時のメッセージが表示されなくなります"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -166,7 +166,7 @@ msgstr "자동으로 변경사항 업로드 후 매 분마다 갱신 확인"
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:10
msgid "Available"
msgstr "유효한"
msgstr "사용 가능"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:35
msgid "Background type"
@@ -319,7 +319,7 @@ msgstr "색상 구성"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "색상"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -405,7 +405,7 @@ msgstr "컨텍스트 메뉴"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "UI 요소 간 간격을 변경합니다"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -552,7 +552,7 @@ msgstr "이전 단어 삭제"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:114
msgid "Delete the config on the remote side?"
msgstr ""
msgstr "리모트 설정을 삭제하시겠습니까?"
#: tabby-settings/src/components/profilesSettingsTab.component.ts:221
msgid "Delete the group's profiles?"
@@ -707,7 +707,7 @@ msgstr "업데이트 가능할 때 자동으로 설치하도록 활성"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:211
msgid "Enable fluent background option"
msgstr ""
msgstr "fluent 배경 활성화"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:16
msgid "Enable font ligatures"
@@ -756,7 +756,7 @@ msgstr "예시:"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:212
msgid "Experimental Windows 10 background style known to cause issues"
msgstr ""
msgstr "실험 버전의 Windows 10에서 배경 스타일이 충돌할 수 있습니다"
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:27
msgid "Export"
@@ -844,7 +844,7 @@ msgstr "오른쪽 항목 포커스"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "색상표 설정을 따릅니다"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1435,7 +1435,7 @@ msgstr "창 크기 조절 단계"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:186
msgid "Panes"
msgstr ""
msgstr "패널"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
@@ -1587,7 +1587,7 @@ msgstr "Raw 소켓 연결"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:166
msgid "Ready Timeout (Milliseconds)"
msgstr ""
msgstr "타임아웃 (밀리초)"
#: tabby-core/src/services/profiles.service.ts:120
#: tabby-core/src/services/profiles.service.ts:134
@@ -1647,7 +1647,7 @@ msgstr "마지막 탭 다시 열기"
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:42
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:26
msgid "Replace"
msgstr ""
msgstr "덮어쓰기"
#: locale/tmp-html/tabby-core/src/components/startPage.component.html:11
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:21
@@ -1724,7 +1724,7 @@ msgstr "프로필로 저장"
#: tabby-core/src/tabContextMenu.ts:148
msgid "Save layout as profile"
msgstr ""
msgstr "프로파일로 레이아웃 저장"
#: tabby-local/src/tabContextMenu.ts:48
msgid "Saved"
@@ -1798,7 +1798,7 @@ msgstr "전체 선택"
#: tabby-core/src/services/fileProviders.service.ts:46
msgid "Select file storage"
msgstr ""
msgstr "저장소에서 파일 선택"
#: tabby-core/src/index.ts:225
msgid "Select profile"
@@ -1977,7 +1977,7 @@ msgstr "소스 코드"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "UI 간격"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2039,7 +2039,7 @@ msgstr ""
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:41
msgid "Subscribe to updates"
msgstr ""
msgstr "새로운 소식 구독하기"
#: locale/tmp-html/tabby-local/src/components/environmentEditor.component.html:13
msgid "Substitutions allowed."
@@ -2051,7 +2051,7 @@ msgstr "프로필 전환"
#: tabby-core/src/hotkeys.ts:237
msgid "Switch profile in the active pane"
msgstr ""
msgstr "활성화된 패널의 프로파일을 전환"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:7
msgid "Switches terminal frontend implementation (experimental)"
@@ -2114,11 +2114,11 @@ msgstr "Tabby가 플러그인과 함께 시작할 수 없으므로, 이 세션
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:41
msgid "Tabby news and updates on Twitter"
msgstr ""
msgstr "Twitter에서 Tabby의 최신 정보를 받을 수 있습니다"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:123
msgid "Tabs"
msgstr ""
msgstr ""
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:126
msgid "Tabs location"
@@ -2183,11 +2183,11 @@ msgstr "전체화면 전환"
#: tabby-core/src/hotkeys.ts:37
msgid "Toggle last tab"
msgstr ""
msgstr "마지막 탭 전환"
#: tabby-electron/src/hotkeys.ts:14
msgid "Toggle terminal window"
msgstr ""
msgstr "터미널 창 전환"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:27
msgid "Toggles the Tabby window visibility"
@@ -2254,7 +2254,7 @@ msgstr "업로드"
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:46
msgid "Upload as a new config"
msgstr ""
msgstr "새로운 설정으로 업로드"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:39
msgid "Use {altKeyName} as the Meta key"
@@ -2279,7 +2279,7 @@ msgstr "CONNECT 메서드 사용"
#: tabby-ssh/src/session/ssh.ts:471
msgid "Using preset password"
msgstr ""
msgstr "사전 설정된 비밀번호 사용"
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:9
msgid "Vault"
@@ -2364,7 +2364,7 @@ msgstr "사용자 지정 창 또는 OS 기본 창 사용 여부"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "SSH 연결 시 메세지 표시하지 않음"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30
@@ -2373,11 +2373,11 @@ msgstr "창"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:112
msgid "Window dimension along the edge"
msgstr ""
msgstr "화면 가장자리부터 수평 너비"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:105
msgid "Window dimension away from the edge"
msgstr ""
msgstr "화면 가장자리부터 수직 너비"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:52
msgid "Window frame"
@@ -2385,7 +2385,7 @@ msgstr "창 프레임"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:165
msgid "Windows"
msgstr ""
msgstr ""
#: locale/tmp-html/tabby-local/src/components/shellSettingsTab.component.html:11
msgid "Windows 10 build 18309 or above is recommended for ConPTY"

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -209,7 +209,7 @@ msgstr "Wklejanie cudzysłowu (wymaga wsparcia powłoki)"
#: tabby-terminal/src/services/multifocus.service.ts:19
msgid "Broadcast mode. Click anywhere to cancel."
msgstr ""
msgstr "Broadcast mode. Kliknij gdziekolwiek, aby anulować."
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:50
#: tabby-settings/src/components/profilesSettingsTab.component.ts:182
@@ -239,7 +239,7 @@ msgstr "Zmień szybkość transmisji szeregowuej (baud)"
#: tabby-core/src/tabContextMenu.ts:133
msgid "Change tab color"
msgstr ""
msgstr "Zmień kolor zakładki"
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:12
msgid "Change the master passphrase"
@@ -256,7 +256,7 @@ msgstr "Szyfry"
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSelector.component.html:5
msgid "Clear"
msgstr ""
msgstr "Wyczyść"
#: tabby-core/src/services/profiles.service.ts:133
msgid "Clear recent profiles"
@@ -268,7 +268,7 @@ msgstr "Wyczyść terminal"
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:49
msgid "Clear terminal after connection"
msgstr ""
msgstr "Wyczyść terminal po połączeniu"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:94
msgid "Clipboard"
@@ -306,7 +306,7 @@ msgstr "Zamknij karty na prawo"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:182
msgid "Close the window after closing the last tab"
msgstr ""
msgstr "Zamknij okno po zamknięciu ostatniej zakładki"
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:33
#: tabby-core/src/tabContextMenu.ts:132
@@ -319,7 +319,7 @@ msgstr "Szablon kolorów"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Kolory"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -335,15 +335,15 @@ msgstr "Zamiast połączenia sieciowego użyto komendy stdin/stdout"
#: tabby-core/src/services/commands.service.ts:104
msgid "Commands"
msgstr ""
msgstr "Polecenia"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Compact (legacy)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
msgstr ""
msgstr "Konfiguracja usunięta"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:108
msgid "Config downloaded"
@@ -405,7 +405,7 @@ msgstr "Menu kontekstowe"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Kontroluje ilość odstępu między elementami"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -426,7 +426,7 @@ msgstr "Skopiuj bieżącą ścieżkę"
#: tabby-electron/src/sftpContextMenu.ts:29
msgid "Copy full path"
msgstr ""
msgstr "Kopiuj pełną ścieżkę"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:97
msgid "Copy on select"
@@ -552,7 +552,7 @@ msgstr "Usuń poprzednie słowo"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:114
msgid "Delete the config on the remote side?"
msgstr ""
msgstr "Usunąć konfigurację po stronie zdalnej?"
#: tabby-settings/src/components/profilesSettingsTab.component.ts:221
msgid "Delete the group's profiles?"
@@ -707,7 +707,7 @@ msgstr "Włącz automatyczną instalację aktualizacji, gdy będą dostępne."
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:211
msgid "Enable fluent background option"
msgstr ""
msgstr "Włącz opcję płynnego tła"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:16
msgid "Enable font ligatures"
@@ -756,7 +756,7 @@ msgstr "Przykład:"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:212
msgid "Experimental Windows 10 background style known to cause issues"
msgstr ""
msgstr "Eksperymentalny styl tła Windows 10 powodujący problemy"
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:27
msgid "Export"
@@ -796,11 +796,11 @@ msgstr "Wyróżnij wszystkie panele jednocześnie (broadcast)"
#: tabby-terminal/src/tabContextMenu.ts:71
msgid "Focus all tabs"
msgstr ""
msgstr "Podświetl wszystkie zakładki"
#: tabby-terminal/src/hotkeys.ts:82
msgid "Focus all tabs at once (broadcast)"
msgstr ""
msgstr "Podświetl wszystkie zakładki na raz (Broadcast)"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:196
msgid "Focus follows mouse"
@@ -844,7 +844,7 @@ msgstr "Wyróżnij panel na prawej"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Powiel schemat kolorów"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -993,7 +993,7 @@ msgstr "Klawisze skrótów"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:69
msgid "How Tabby presents itself through environment vars"
msgstr ""
msgstr "W jaki sposób Tabby prezentuje się w zmiennych środowiskach"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
@@ -1203,7 +1203,7 @@ msgstr "Maksymalizuj aktywny panel"
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:93
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:70
msgid "Minimum contrast ratio"
msgstr ""
msgstr "Minimalny stosunek kontrastu"
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:39
msgid "Modified on {date}"
@@ -1439,7 +1439,7 @@ msgstr "Panele"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Papier (legacy)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1470,7 +1470,7 @@ msgstr "Wklej ze schowka"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:63
msgid "Paste if no selection, else copy"
msgstr ""
msgstr "Wklej jeśli nie wybrano, w przeciwnym razie skopiuj"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:490
msgid "Paste multiple lines?"
@@ -1624,7 +1624,7 @@ msgstr "Zdalny"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:124
msgid "Remove whitespace and newlines around the copied text"
msgstr ""
msgstr "Usuń spacje i nowe linie wokół skopiowanego tekstu"
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:25
#: tabby-core/src/tabContextMenu.ts:120
@@ -1634,7 +1634,7 @@ msgstr "Zmień nazwę"
#: tabby-core/src/hotkeys.ts:25
#: tabby-core/src/tabContextMenu.ts:121
msgid "Rename tab"
msgstr ""
msgstr "Zmień nazwę zakładki"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:3
msgid "Rendering"
@@ -1886,7 +1886,7 @@ msgstr "Pokaż wbudowane profile w selektorze"
#: tabby-core/src/hotkeys.ts:13
msgid "Show command selector"
msgstr ""
msgstr "Pokaż selektor poleceń"
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:132
msgid "Show config file"
@@ -1926,7 +1926,7 @@ msgstr "Pokaż połączenia szeregowe"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:152
msgid "Show tabs in fullscreen mode"
msgstr ""
msgstr "Pokaż karty w trybie pełnoekranowym"
#: tabby-terminal/src/tabContextMenu.ts:58
msgid "Show toolbar"
@@ -1977,7 +1977,7 @@ msgstr "Kod źródłowy"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Przestrzeń"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -1989,7 +1989,7 @@ msgstr "Podziel na dół"
#: tabby-core/src/tabContextMenu.ts:85
msgid "Split to the down"
msgstr ""
msgstr "Podziel na dół"
#: tabby-core/src/hotkeys.ts:165
#: tabby-core/src/tabContextMenu.ts:86
@@ -2007,7 +2007,7 @@ msgstr "Podziel na górę"
#: tabby-core/src/tabContextMenu.ts:87
msgid "Split to the up"
msgstr ""
msgstr "Podziel na górę"
#: tabby-ssh/src/profiles.ts:81
msgid "SSH connection"
@@ -2023,7 +2023,7 @@ msgstr "Hasło SSH dla {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Standardowe (legacy)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2147,7 +2147,7 @@ msgstr "Dzwonek Terminalu"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:68
msgid "Terminal identification"
msgstr ""
msgstr "Identyfikacja terminala"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
msgid "Thank you for downloading Tabby!"
@@ -2200,7 +2200,7 @@ msgstr "Góra"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:123
msgid "Trim whitespace and newlines"
msgstr ""
msgstr "Przytnij białą przestrzeń i nowe linie"
#: tabby-core/src/services/config.service.ts:371
msgid "Try again"
@@ -2364,7 +2364,7 @@ msgstr "Użyj do wyboru niestandardowego lub natywnego wyglądu dla okna termina
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Zapobiegnie pokazywaniu powitania SSH"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Esquema de cores"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Cores"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Comandos"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Compactado (legado)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "Menu de contexto"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Controla a quantidade de espaço entre elementos"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -611,7 +611,7 @@ msgstr "Desconectar de {host}?"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:30
msgid "Display images via Sixel escape sequences"
msgstr ""
msgstr "Exibir imagens através de sequências de escape Sixel"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:85
msgid "Display on"
@@ -707,7 +707,7 @@ msgstr "Permite a instalação automática de atualizações quando elas estiver
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:211
msgid "Enable fluent background option"
msgstr ""
msgstr "Habilitar opção de fundo fluente"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:16
msgid "Enable font ligatures"
@@ -756,7 +756,7 @@ msgstr "Exemplo:"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:212
msgid "Experimental Windows 10 background style known to cause issues"
msgstr ""
msgstr "Estilo experimental do Windows 10 conhecido por causar problemas"
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:27
msgid "Export"
@@ -844,7 +844,7 @@ msgstr "Focar no painel à direita"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Seguir o esquema de cores"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -993,7 +993,7 @@ msgstr "Teclas de atalho"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:69
msgid "How Tabby presents itself through environment vars"
msgstr ""
msgstr "Como Tabby se apresenta através de variáveis de ambiente"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
@@ -1439,7 +1439,7 @@ msgstr "Painéis"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Papel (legado)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Código-fonte"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Espaçamento"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "Senha SSH para {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Padrão (legado)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2364,7 +2364,7 @@ msgstr "Se uma janela personalizada ou uma janela nativa do sistema deve ser usa
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Impede que a saudação por SSH apareça"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Цветовая схема"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Стиль"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Команды"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Компактная (legacy)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "Контекстное меню"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Управляет расстоянием между элементами"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -707,7 +707,7 @@ msgstr "Включить автоматическую установку обн
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:211
msgid "Enable fluent background option"
msgstr ""
msgstr "Включить опцию свободного фона"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:16
msgid "Enable font ligatures"
@@ -844,7 +844,7 @@ msgstr "Фокус на панели справа"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Следовать цветовой схеме"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -993,7 +993,7 @@ msgstr "Горячие клавиши"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:69
msgid "How Tabby presents itself through environment vars"
msgstr ""
msgstr "Как Tabby обозначает себя в глобальных переменных"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
@@ -1439,7 +1439,7 @@ msgstr "Панели"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Бумага (legacy)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Исходный код"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Расстояние между элементами"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "Пароль SSH для {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Стандартная (legacy)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2147,7 +2147,7 @@ msgstr "Звуковой сигнал терминала"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:68
msgid "Terminal identification"
msgstr ""
msgstr "Идентификация терминала"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
msgid "Thank you for downloading Tabby!"
@@ -2364,7 +2364,7 @@ msgstr "Должно ли использоваться кастомное офо
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Запретит отправку SSH-приветствия"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Färgschema"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Färger"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Kommandon"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Kompakt (legacy)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "Snabbmeny"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Styr mängden utrymme mellan element"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -844,7 +844,7 @@ msgstr "Fokusera panelen till höger"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Följ färgschemat"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1439,7 +1439,7 @@ msgstr "Paneler"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Papper (legacy)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Källkod"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Rymlighet"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "SSH-lösenord för {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Standard (legacy)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2364,7 +2364,7 @@ msgstr "Om ett anpassat fönster eller ett OS-inbyggt fönster ska användas"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Kommer att förhindra att SSH-hälsning visas"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "Кольорова схема"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "Кольори"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "Команди"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "Компактний (застаріло)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "Контекстне меню"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "Контролює відстань між елементами"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -552,7 +552,7 @@ msgstr "Видалити попереднє слово"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:114
msgid "Delete the config on the remote side?"
msgstr ""
msgstr "Видалити конфіг на віддаленій стороні?"
#: tabby-settings/src/components/profilesSettingsTab.component.ts:221
msgid "Delete the group's profiles?"
@@ -844,7 +844,7 @@ msgstr "Фокус на панелі праворуч"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "Дотримуватись колірної схеми"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -993,7 +993,7 @@ msgstr "Гарячі клавіші"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:69
msgid "How Tabby presents itself through environment vars"
msgstr ""
msgstr "Як Tabby представляє себе за допомогою змінних оточення"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:24
msgid "HTTP proxy"
@@ -1439,7 +1439,7 @@ msgstr "Панелі"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "Папір (застаріло)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "Вихідний код"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "Простір"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "Пароль SSH для {user}@{host}:{port}"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "Стандартний (застаріло)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2147,7 +2147,7 @@ msgstr "Звуковий сигнал терміналу"
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:68
msgid "Terminal identification"
msgstr ""
msgstr "Ідентифікація терміналу"
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
msgid "Thank you for downloading Tabby!"
@@ -2364,7 +2364,7 @@ msgstr "Чи має використовуватися кастомне офор
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "Не показувати привітання SSH"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -64,7 +64,7 @@ msgstr "添加…"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:84
msgid "Additional space between lines"
msgstr "行与行之间的空隙"
msgstr "行间距"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:22
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:61
@@ -196,7 +196,7 @@ msgstr "模糊"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:28
msgid "Bold font weight"
msgstr "粗体字"
msgstr "粗体字体粗细"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:132
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:80
@@ -319,7 +319,7 @@ msgstr "配色方案"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "色彩"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "命令"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "紧凑模式(旧版)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "右键菜单"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "控制元素之间的间隔"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -844,7 +844,7 @@ msgstr "聚焦右方的窗格"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "依照配色方案"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1319,7 +1319,7 @@ msgstr "一般"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:22
msgid "Normal font weight"
msgstr "正常字"
msgstr "正常字体粗细"
#: tabby-terminal/src/components/searchPanel.component.ts:54
#: tabby-terminal/src/components/searchPanel.component.ts:64
@@ -1439,7 +1439,7 @@ msgstr "窗格"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "纸张(旧版)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "源码"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "间隔"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "{user}@{host}:{port} 的 SSH 密码"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "标准模式(旧版)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2364,7 +2364,7 @@ msgstr "使用自定义窗口或操作系统原生窗口"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "不显示 SSH 问候语"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: tabby\n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
"PO-Revision-Date: 2023-04-10 18:13\n"
"PO-Revision-Date: 2023-06-28 08:41\n"
#: tabby-local/src/components/terminalTab.component.ts:111
msgid "\"{command}\" is still running. Close?"
@@ -319,7 +319,7 @@ msgstr "顏色機制"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
msgid "Colors"
msgstr ""
msgstr "顏色"
#: tabby-core/src/hotkeys.ts:73
msgid "Combine all tabs into the current tab"
@@ -339,7 +339,7 @@ msgstr "指令"
#: tabby-core/src/theme.ts:21
msgid "Compact (legacy)"
msgstr ""
msgstr "緊湊 (舊版)"
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
msgid "Config deleted"
@@ -405,7 +405,7 @@ msgstr "快顯功能表"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
msgid "Controls the amount of space between elements"
msgstr ""
msgstr "調整各元件之間的間距"
#: tabby-terminal/src/api/baseTerminalTab.component.ts:229
#: tabby-terminal/src/api/baseTerminalTab.component.ts:237
@@ -844,7 +844,7 @@ msgstr "聚焦右邊的窗格"
#: tabby-core/src/theme.ts:43
msgid "Follow the color scheme"
msgstr ""
msgstr "遵循色彩搭配方案"
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:7
msgid "Font"
@@ -1439,7 +1439,7 @@ msgstr "窗格"
#: tabby-core/src/theme.ts:35
msgid "Paper (legacy)"
msgstr ""
msgstr "紙張 (舊版)"
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:38
msgid "Parity"
@@ -1977,7 +1977,7 @@ msgstr "原始碼"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:13
msgid "Spaciness"
msgstr ""
msgstr "空間感"
#: tabby-core/src/tabContextMenu.ts:75
msgid "Split"
@@ -2023,7 +2023,7 @@ msgstr "{user}@{host}:{port} 的 SSH 密碼"
#: tabby-core/src/theme.ts:9
msgid "Standard (legacy)"
msgstr ""
msgstr "標準 (舊版)"
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:150
msgid "Startup"
@@ -2364,7 +2364,7 @@ msgstr "使用自訂視窗或是使用作業系統視窗"
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:141
msgid "Will prevent the SSH greeting from showing up"
msgstr ""
msgstr "將防止顯示 SSH 問候語。"
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:2
#: tabby-settings/src/settings.ts:30

View File

@@ -39,7 +39,7 @@
"cross-env": "7.0.3",
"css-loader": "^6.7.3",
"deep-equal": "2.0.5",
"electron": "22.3.1",
"electron": "^25.3.0",
"electron-builder": "^24.0.0-alpha.1",
"electron-download": "^4.1.1",
"electron-installer-snap": "^5.1.0",

View File

@@ -1,15 +1,15 @@
diff --git a/node_modules/app-builder-lib/out/appInfo.js b/node_modules/app-builder-lib/out/appInfo.js
index 363f32c..a0434a9 100644
index 49f6dca..0ea11f2 100644
--- a/node_modules/app-builder-lib/out/appInfo.js
+++ b/node_modules/app-builder-lib/out/appInfo.js
@@ -100,9 +100,7 @@ class AppInfo {
@@ -112,9 +112,7 @@ class AppInfo {
return this.info.metadata.name;
}
get linuxPackageName() {
- const name = this.name;
- // https://github.com/electron-userland/electron-builder/issues/2963
- return name.startsWith("@") ? this.sanitizedProductName : name;
+ return 'tabby-terminal'
+ return 'tabby-terminal';
}
get sanitizedName() {
return filename_1.sanitizeFileName(this.name);
return (0, filename_1.sanitizeFileName)(this.name);

View File

@@ -9,7 +9,7 @@ process.env.ARCH = (process.env.ARCH || process.arch) === 'arm' ? 'armv7l' : pro
builder({
dir: true,
linux: ['deb', 'tar.gz', 'rpm', 'pacman'],
linux: ['deb', 'tar.gz', 'rpm', 'pacman', 'appimage'],
armv7l: process.env.ARCH === 'armv7l',
arm64: process.env.ARCH === 'arm64',
config: {

View File

@@ -13,6 +13,9 @@ if (process.env.GITHUB_HEAD_REF) {
process.env.CSC_IDENTITY_AUTO_DISCOVERY = 'false'
}
process.env.APPLE_ID ??= process.env.APPSTORE_USERNAME
process.env.APPLE_APP_SPECIFIC_PASSWORD ??= process.env.APPSTORE_PASSWORD
builder({
dir: true,
mac: ['pkg', 'zip'],
@@ -24,6 +27,10 @@ builder({
},
mac: {
identity: !process.env.CI || process.env.CSC_LINK ? undefined : null,
notarize: process.env.APPLE_TEAM_ID ? {
appBundleId: 'org.tabby',
teamId: process.env.APPLE_TEAM_ID,
} : false,
},
npmRebuild: process.env.ARCH !== 'arm64',
publish: process.env.KEYGEN_TOKEN ? [

View File

@@ -9,7 +9,7 @@ sh.exec(`${sentryCli} releases new ${vars.version}`)
if (process.platform === 'darwin') {
for (const path of [
'app/node_modules/@serialport/bindings/build/Release/bindings.node',
'app/node_modules/@tabby-gang/node-pty/build/Release/pty.node',
'app/node_modules/node-pty/build/Release/pty.node',
'app/node_modules/fontmanager-redux/build/Release/fontmanager.node',
'app/node_modules/macos-native-processlist/build/Release/native.node',
]) {

View File

@@ -3,6 +3,8 @@ import * as fs from 'fs'
import * as semver from 'semver'
import * as childProcess from 'child_process'
process.env.ARCH = ((process.env.ARCH || process.arch) === 'arm') ? 'armv7l' : process.env.ARCH || process.arch
import * as url from 'url'
const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
@@ -58,21 +60,21 @@ export const keygenConfig = {
win32: {
x64: 'f481b9d6-d5da-4970-b926-f515373e986f',
arm64: '950999b9-371c-419b-b291-938c5e4d364c',
}[process.env.ARCH ?? process.arch],
}[process.env.ARCH],
darwin: {
arm64: '98fbadee-c707-4cd6-9d99-56683595a846',
x86_64: 'f5a48841-d5b8-4b7b-aaa7-cf5bffd36461',
x64: 'f5a48841-d5b8-4b7b-aaa7-cf5bffd36461',
}[process.env.ARCH ?? process.arch],
}[process.env.ARCH],
linux: {
x64: '7bf45071-3031-4a26-9f2e-72604308313e',
arm64: '39e3c736-d4d4-4fbf-a201-324b7bab0d17',
armv7l: '50ae0a82-7f47-4fa4-b0a8-b0d575ce9409',
armhf: '7df5aa12-04ab-4075-a0fe-93b0bbea9643',
}[process.env.ARCH ?? process.arch],
}[process.env.ARCH],
}[process.platform],
}
if (!keygenConfig.product) {
throw new Error(`Unrecognized platform ${process.platform}/${process.env.ARCH ?? process.arch}`)
throw new Error(`Unrecognized platform ${process.platform}/${process.env.ARCH}`)
}

View File

@@ -86,14 +86,18 @@ export interface FileUploadOptions {
multiple: boolean
}
export type PlatformTheme = 'light'|'dark'
export abstract class PlatformService {
supportsWindowControls = false
get fileTransferStarted$ (): Observable<FileTransfer> { return this.fileTransferStarted }
get displayMetricsChanged$ (): Observable<void> { return this.displayMetricsChanged }
get themeChanged$ (): Observable<PlatformTheme> { return this.themeChanged }
protected fileTransferStarted = new Subject<FileTransfer>()
protected displayMetricsChanged = new Subject<void>()
protected themeChanged = new Subject<PlatformTheme>()
abstract readClipboard (): string
abstract setClipboard (content: ClipboardContent): void
@@ -169,6 +173,10 @@ export abstract class PlatformService {
throw new Error('Not implemented')
}
getTheme (): PlatformTheme {
return 'dark'
}
abstract getOSRelease (): string
abstract getAppVersion (): string
abstract openExternal (url: string): void

View File

@@ -1,16 +1,20 @@
title-bar(
*ngIf='ready && !hostWindow.isFullscreen && config.store.appearance.frame == "full" && config.store.appearance.dock == "off"',
(dblclick)='hostWindow.toggleMaximize()',
[hideControls]='hostApp.platform !== Platform.Linux && !hostWindow.isFullscreen',
[class.inset]='hostApp.platform == Platform.macOS && !hostWindow.isFullscreen'
)
.content(
*ngIf='ready',
[class.tabs-on-top]='config.store.appearance.tabsLocation == "top" || config.store.appearance.tabsLocation == "left"',
[class.tabs-on-side]='hasVerticalTabs()',
[class.tabs-on-left]='hasVerticalTabs() && config.store.appearance.tabsLocation == "left"',
[class.tabs-titlebar-enabled]='config.store.appearance.frame == "full"',
[class.tabs-on-right]='hasVerticalTabs() && config.store.appearance.tabsLocation == "right"',
)
.tab-bar(
*ngIf='!hostWindow.isFullscreen || config.store.appearance.tabsInFullscreen',
[class.tab-bar-no-controls-overlay]='hostApp.platform == Platform.macOS',
(dblclick)='hostWindow.toggleMaximize()'
)
.inset.background(*ngIf='hostApp.platform == Platform.macOS \
@@ -81,9 +85,12 @@ title-bar(
window-controls.background(
*ngIf='config.store.appearance.frame == "thin" \
&& (hostApp.platform == Platform.Windows || hostApp.platform == Platform.Linux)',
&& (hostApp.platform == Platform.Linux)',
)
div.window-controls-spacer(
*ngIf='config.store.appearance.frame == "thin" && (hostApp.platform == Platform.Windows) && (config.store.appearance.tabsLocation == "top")',
)
.content
start-page.content-tab.content-tab-active(*ngIf='ready && app.tabs.length == 0')

View File

@@ -35,17 +35,16 @@ $tab-border-radius: 4px;
flex-direction: column;
}
&.tabs-on-side {
&.tabs-on-right {
flex-direction: row-reverse;
&.tabs-on-top {
flex-direction: row;
}
}
&.tabs-on-left {
flex-direction: row;
}
}
.content.tabs-on-side > .tab-bar {
.content.tabs-on-left > .tab-bar, .content.tabs-on-right > .tab-bar {
height: 100%;
width: var(--side-tab-width);
overflow-y: auto;
@@ -76,6 +75,18 @@ $tab-border-radius: 4px;
}
}
.content.tabs-on-left > .tab-bar.tab-bar-no-controls-overlay, .content.tabs-titlebar-enabled {
.tabs {
padding-top: 0 !important;
}
}
.content.tabs-on-right > .tab-bar {
.tabs {
// Account for WCO on Windows.
padding-top: 36px;
}
}
.tab-bar {
flex: none;
@@ -125,10 +136,17 @@ $tab-border-radius: 4px;
}
&.persistent {
min-width: 72px; // 2 x 36 px height, ie 2 squares
// min-width: 72px; // 2 x 36 px height, ie 2 squares
// Given WCO on Windows, the min-width of the window buttons is about 138px.
min-width: 138px;
}
}
&>.window-controls-spacer {
min-width: 138px;
height: 100%;
}
& > .inset {
width: calc(70px + 15px * var(--spaciness));
height: var(--tabs-height);

View File

@@ -76,10 +76,11 @@ export class SelectorModalComponent<T> {
{ sort: true },
).search(f)
const freeOption = this.options.find(x => x.freeInputPattern)
if (freeOption && !this.filteredOptions.includes(freeOption)) {
this.filteredOptions.push(freeOption)
}
this.options.filter(x => x.freeInputPattern).forEach(freeOption => {
if (!this.filteredOptions.includes(freeOption)) {
this.filteredOptions.push(freeOption)
}
})
}
this.selectedIndex = Math.max(0, this.selectedIndex)
this.selectedIndex = Math.min(this.filteredOptions.length - 1, this.selectedIndex)

View File

@@ -1,2 +1,2 @@
.title((dblclick)='hostWindow.toggleMaximize()') Tabby
window-controls
window-controls(*ngIf="!hideControls")

View File

@@ -1,4 +1,4 @@
import { Component } from '@angular/core'
import { Component, Input } from '@angular/core'
import { HostWindowService } from '../api'
/** @hidden */
@@ -8,5 +8,7 @@ import { HostWindowService } from '../api'
styleUrls: ['./titleBar.component.scss'],
})
export class TitleBarComponent {
@Input() hideControls: boolean
constructor (public hostWindow: HostWindowService) { }
}

View File

@@ -11,7 +11,7 @@ appearance:
tabsLocation: top
tabsInFullscreen: false
cycleTabs: true
theme: Standard
theme: Follow the color scheme
frame: thin
css: '/* * { color: blue !important; } */'
opacity: 1.0
@@ -54,3 +54,4 @@ hacks:
disableVibrancyWhileDragging: false
enableFluentBackground: false
language: null
defaultQuickConnectProvider: "ssh"

View File

@@ -219,6 +219,7 @@ export default class AppModule { // eslint-disable-line @typescript-eslint/no-ex
name: this.translate.instant('Quick connect'),
freeInputPattern: this.translate.instant('Connect to "%s"...'),
icon: 'fas fa-arrow-right',
description: `(${provider.name.toUpperCase()})`,
callback: query => {
const p = provider.quickConnect(query)
if (p) {

View File

@@ -15,6 +15,9 @@ const deepmerge = require('deepmerge')
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const configMerge = (a, b) => deepmerge(a, b, { arrayMerge: (_d, s) => s }) // eslint-disable-line @typescript-eslint/no-var-requires
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const configMergeByDefault = (a, b) => deepmerge(a, b) // eslint-disable-line @typescript-eslint/no-var-requires
const LATEST_VERSION = 1
function isStructuralMember (v) {
@@ -162,7 +165,7 @@ export class ConfigService {
defaults = configMerge(provider.defaults, defaults)
}
return defaults
}).reduce(configMerge)
}).reduce(configMergeByDefault)
}
getDefaults (): Record<string, any> {
@@ -213,7 +216,9 @@ export class ConfigService {
* Reads config YAML as string
*/
readRaw (): string {
return yaml.dump(this._store)
// Scrub undefined values
const cleanStore = JSON.parse(JSON.stringify(this._store))
return yaml.dump(cleanStore)
}
/**
@@ -351,6 +356,14 @@ export class ConfigService {
delete window.localStorage.lastSerialConnection
config.version = 3
}
if (config.version < 4) {
for (const p of config.profiles ?? []) {
if (!p.id) {
p.id = `${p.type}:custom:${uuidv4()}`
}
}
config.version = 4
}
}
private async maybeDecryptConfig (store) {

View File

@@ -7,6 +7,7 @@ import localeENUS from '@angular/common/locales/en'
import localeENGB from '@angular/common/locales/en-GB'
import localeAF from '@angular/common/locales/af'
import localeBG from '@angular/common/locales/bg'
import localeCS from '@angular/common/locales/cs'
import localeDA from '@angular/common/locales/da'
import localeDE from '@angular/common/locales/de'
import localeES from '@angular/common/locales/es'
@@ -31,6 +32,7 @@ registerLocaleData(localeENUS)
registerLocaleData(localeENGB)
registerLocaleData(localeAF)
registerLocaleData(localeBG)
registerLocaleData(localeCS)
registerLocaleData(localeDA)
registerLocaleData(localeDE)
registerLocaleData(localeES)
@@ -82,6 +84,10 @@ export class LocaleService {
code: 'id-ID',
name: 'Bahasa Indonesia',
},
{
code: 'cs-CZ',
name: 'Čeština',
},
{
code: 'da-DK',
name: 'Dansk',

View File

@@ -177,17 +177,20 @@ export class ProfilesService {
})
} catch { }
if (this.getProviders().some(x => x.supportsQuickConnect)) {
this.getProviders().filter(x => x.supportsQuickConnect).forEach(provider => {
options.push({
name: this.translate.instant('Quick connect'),
freeInputPattern: this.translate.instant('Connect to "%s"...'),
description: `(${provider.name.toUpperCase()})`,
icon: 'fas fa-arrow-right',
weight: provider.id !== this.config.store.defaultQuickConnectProvider ? 1 : 0,
callback: query => {
const profile = this.quickConnect(query)
const profile = provider.quickConnect(query)
resolve(profile)
},
})
}
})
await this.selector.show(this.translate.instant('Select profile or enter an address'), options)
} catch (err) {
reject(err)

View File

@@ -3,6 +3,7 @@ import { Subject, Observable } from 'rxjs'
import * as Color from 'color'
import { ConfigService } from '../services/config.service'
import { Theme } from '../api/theme'
import { PlatformService } from '../api/platform'
import { NewTheme } from '../theme'
@Injectable({ providedIn: 'root' })
@@ -17,6 +18,7 @@ export class ThemesService {
private constructor (
private config: ConfigService,
private standardTheme: NewTheme,
private platform: PlatformService,
@Inject(Theme) private themes: Theme[],
) {
this.rootElementStyleBackup = document.documentElement.style.cssText
@@ -24,6 +26,10 @@ export class ThemesService {
config.ready$.toPromise().then(() => {
this.applyCurrentTheme()
this.applyThemeVariables()
platform.themeChanged$.subscribe(() => {
this.applyCurrentTheme()
this.applyThemeVariables()
})
config.changed$.subscribe(() => {
this.applyCurrentTheme()
this.applyThemeVariables()
@@ -36,7 +42,7 @@ export class ThemesService {
document.documentElement.style.cssText = this.rootElementStyleBackup
}
const theme = this.config.store.terminal.colorScheme
const theme = this._getActiveColorScheme()
const isDark = Color(theme.background).luminosity() < Color(theme.foreground).luminosity()
function more (some, factor) {
@@ -106,8 +112,10 @@ export class ThemesService {
const themeColors = {
primary: theme.colors[accentIndex],
secondary: less(theme.background, 0.5).string(),
tertiary: theme.colors[8],
secondary: isDark
? less(theme.background, 0.5).string()
: less(theme.background, 0.125).string(),
tertiary: more(theme.background, 0.75).string(),
warning: theme.colors[3],
danger: theme.colors[1],
success: theme.colors[2],
@@ -184,6 +192,15 @@ export class ThemesService {
return this.findTheme(this.config.store.appearance.theme) ?? this.standardTheme
}
/// @hidden
_getActiveColorScheme (): any {
if (this.platform.getTheme() === 'light') {
return this.config.store.terminal.lightColorScheme
} else {
return this.config.store.terminal.colorScheme
}
}
applyTheme (theme: Theme): void {
if (!this.styleElement) {
this.styleElement = document.createElement('style')

View File

@@ -110,7 +110,7 @@ body {
}
.nav {
--bs-nav-link-color: var(--theme-fg);
--bs-nav-link-color: var(--theme-fg-more);
--bs-nav-link-hover-color: var(--theme-fg-less);
--bs-nav-link-disabled-color: var(--bs-gray);
}
@@ -119,8 +119,8 @@ body {
--bs-nav-tabs-border-width: 2px;
--bs-nav-tabs-border-radius: 0;
--bs-nav-tabs-link-hover-border-color: var(--bs-body-bg);
--bs-nav-tabs-border-color: var(--theme-fg-less-2);
--bs-nav-tabs-link-active-color: var(--theme-fg-less-2);
--bs-nav-tabs-border-color: var(--theme-fg);
--bs-nav-tabs-link-active-color: var(--theme-fg);
--bs-nav-tabs-link-active-bg: transparent;
--bs-nav-tabs-link-active-border-color: transparent;

View File

@@ -99,6 +99,7 @@ export default class ElectronModule {
})
this.registerGlobalHotkey()
this.updateVibrancy()
this.updateWindowControlsColor()
})
config.changed$.subscribe(() => {
@@ -131,6 +132,8 @@ export default class ElectronModule {
config.changed$.subscribe(() => this.updateVibrancy())
config.changed$.subscribe(() => this.updateWindowControlsColor())
config.ready$.toPromise().then(() => {
dockMenu.update()
})
@@ -169,6 +172,15 @@ export default class ElectronModule {
this.hostWindow.setOpacity(this.config.store.appearance.opacity)
}
private updateWindowControlsColor () {
// if windows and not using native frame, WCO does not exist, return.
if (this.hostApp.platform === Platform.Windows && this.config.store.appearance.frame === 'native') {
return
}
this.electron.ipcRenderer.send('window-set-window-controls-color', this.config.store.terminal.colorScheme)
}
}
export { ElectronHostWindow, ElectronHostAppService, ElectronService }

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'
import { App, IpcRenderer, Shell, Dialog, Clipboard, GlobalShortcut, Screen, AutoUpdater, TouchBar, BrowserWindow, Menu, MenuItem, PowerSaveBlocker } from 'electron'
import { App, IpcRenderer, Shell, Dialog, Clipboard, GlobalShortcut, Screen, AutoUpdater, TouchBar, BrowserWindow, Menu, MenuItem, PowerSaveBlocker, NativeTheme } from 'electron'
import * as remote from '@electron/remote'
export interface MessageBoxResponse {
@@ -20,6 +20,7 @@ export class ElectronService {
process: any
autoUpdater: AutoUpdater
powerSaveBlocker: PowerSaveBlocker
nativeTheme: NativeTheme
TouchBar: typeof TouchBar
BrowserWindow: typeof BrowserWindow
Menu: typeof Menu
@@ -43,5 +44,7 @@ export class ElectronService {
this.BrowserWindow = remote.BrowserWindow
this.Menu = remote.Menu
this.MenuItem = remote.MenuItem
this.MenuItem = remote.MenuItem
this.nativeTheme = remote.nativeTheme
}
}

View File

@@ -10,6 +10,7 @@ import { ElectronService } from '../services/electron.service'
import { ElectronHostWindow } from './hostWindow.service'
import { ShellIntegrationService } from './shellIntegration.service'
import { ElectronHostAppService } from './hostApp.service'
import { PlatformTheme } from '../../../tabby-core/src/api/platform'
const fontManager = require('fontmanager-redux') // eslint-disable-line
/* eslint-disable block-scoped-var */
@@ -40,6 +41,10 @@ export class ElectronPlatformService extends PlatformService {
electron.ipcRenderer.on('host:display-metrics-changed', () => {
this.zone.run(() => this.displayMetricsChanged.next())
})
electron.nativeTheme.on('updated', () => {
this.zone.run(() => this.themeChanged.next(this.getTheme()))
})
}
readClipboard (): string {
@@ -243,6 +248,14 @@ export class ElectronPlatformService extends PlatformService {
},
)).filePaths[0]
}
getTheme (): PlatformTheme {
if (this.electron.nativeTheme.shouldUseDarkColors) {
return 'dark'
} else {
return 'light'
}
}
}
class ElectronFileUpload extends FileUpload {

View File

@@ -21,7 +21,7 @@ import { RecoveryProvider } from './recoveryProvider'
import { ShellSettingsTabProvider } from './settings'
import { TerminalConfigProvider } from './config'
import { LocalTerminalHotkeyProvider } from './hotkeys'
import { NewTabContextMenu, SaveAsProfileContextMenu } from './tabContextMenu'
import { NewTabContextMenu } from './tabContextMenu'
import { AutoOpenTabCLIHandler, OpenPathCLIHandler, TerminalCLIHandler } from './cli'
import { LocalProfilesService } from './profiles'
@@ -47,7 +47,6 @@ import { LocalProfilesService } from './profiles'
{ provide: ProfileProvider, useClass: LocalProfilesService, multi: true },
{ provide: TabContextMenuItemProvider, useClass: NewTabContextMenu, multi: true },
{ provide: TabContextMenuItemProvider, useClass: SaveAsProfileContextMenu, multi: true },
{ provide: CLIHandler, useClass: TerminalCLIHandler, multi: true },
{ provide: CLIHandler, useClass: OpenPathCLIHandler, multi: true },

View File

@@ -1,59 +1,9 @@
import { Inject, Injectable, Optional } from '@angular/core'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { ConfigService, BaseTabComponent, TabContextMenuItemProvider, NotificationsService, MenuItemOptions, ProfilesService, PromptModalComponent, TranslateService } from 'tabby-core'
import { ConfigService, BaseTabComponent, TabContextMenuItemProvider, MenuItemOptions, ProfilesService, TranslateService } from 'tabby-core'
import { TerminalTabComponent } from './components/terminalTab.component'
import { TerminalService } from './services/terminal.service'
import { LocalProfile, UACService } from './api'
/** @hidden */
@Injectable()
export class SaveAsProfileContextMenu extends TabContextMenuItemProvider {
constructor (
private config: ConfigService,
private ngbModal: NgbModal,
private notifications: NotificationsService,
private translate: TranslateService,
) {
super()
}
async getItems (tab: BaseTabComponent): Promise<MenuItemOptions[]> {
if (!(tab instanceof TerminalTabComponent)) {
return []
}
const terminalTab = tab
const items: MenuItemOptions[] = [
{
label: this.translate.instant('Save as profile'),
click: async () => {
const modal = this.ngbModal.open(PromptModalComponent)
modal.componentInstance.prompt = this.translate.instant('New profile name')
const name = (await modal.result)?.value
if (!name) {
return
}
const profile = {
options: {
...terminalTab.profile.options,
cwd: await terminalTab.session?.getWorkingDirectory() ?? terminalTab.profile.options.cwd,
},
name,
type: 'local',
}
this.config.store.profiles = [
...this.config.store.profiles,
profile,
]
this.config.save()
this.notifications.info(this.translate.instant('Saved'))
},
},
]
return items
}
}
/** @hidden */
@Injectable()
export class NewTabContextMenu extends TabContextMenuItemProvider {

View File

@@ -3,7 +3,7 @@ import { SerialPortStream } from '@serialport/stream'
import { LogService, NotificationsService } from 'tabby-core'
import { Subject, Observable } from 'rxjs'
import { Injector, NgZone } from '@angular/core'
import { BaseSession, BaseTerminalProfile, LoginScriptsOptions, SessionMiddleware, StreamProcessingOptions, TerminalStreamProcessor, UTF8SplitterMiddleware } from 'tabby-terminal'
import { BaseSession, BaseTerminalProfile, InputProcessingOptions, InputProcessor, LoginScriptsOptions, SessionMiddleware, StreamProcessingOptions, TerminalStreamProcessor, UTF8SplitterMiddleware } from 'tabby-terminal'
import { SerialService } from './services/serial.service'
export interface SerialProfile extends BaseTerminalProfile {
@@ -21,6 +21,7 @@ export interface SerialProfileOptions extends StreamProcessingOptions, LoginScri
xoff?: boolean
xany?: boolean
slowSend?: boolean
input: InputProcessingOptions,
}
export const BAUD_RATES = [
@@ -65,6 +66,7 @@ export class SerialSession extends BaseSession {
}
this.middleware.push(new UTF8SplitterMiddleware())
this.middleware.push(new InputProcessor(profile.options.input))
this.setLoginScriptsOptions(profile.options)
}

View File

@@ -92,4 +92,9 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
ng-template(ngbNavContent)
login-scripts-settings([options]='profile.options')
li(ngbNavItem)
a(ngbNavLink, translate) Input
ng-template(ngbNavContent)
input-processing-settings([options]='profile.options.input')
div([ngbNavOutlet]='nav')

View File

@@ -30,6 +30,7 @@ export class SerialProfilesService extends ProfileProvider<SerialProfile> {
outputNewlines: null,
scripts: [],
slowSend: false,
input: { backspace: 'backspace' },
},
}

View File

@@ -18,8 +18,8 @@
"author": "Eugene Pankov",
"license": "MIT",
"devDependencies": {
"@types/marked": "^4.0.8",
"marked": "^4.2.12",
"@types/marked": "^5.0.1",
"marked": "^5.1.2",
"ngx-infinite-scroll": "^16"
},
"peerDependencies": {

View File

@@ -149,6 +149,20 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
option(ngValue='wt', translation) Windows Terminal
option(ngValue='cygwin', translation) Cygwin
.form-line
.header
.title(translate) Default "Connect to" type
.description(translate) Default connection type used by quick connect feature (ex. SSH, Telnet)
select.form-control(
[(ngModel)]='config.store.defaultQuickConnectProvider',
(ngModelChange)='config.save()',
)
option(
*ngFor='let provider of getQuickConnectProviders()',
[ngValue]='provider.id'
) {{provider.name}}
.form-line.content-box
.header
.title(translate) Default profile settings

View File

@@ -312,4 +312,8 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
isProfileBlacklisted (profile: PartialProfile<Profile>): boolean {
return profile.id && this.config.store.profileBlacklist.includes(profile.id)
}
getQuickConnectProviders (): ProfileProvider<Profile>[] {
return this.profileProviders.filter(x => x.supportsQuickConnect)
}
}

View File

@@ -2,15 +2,15 @@
# yarn lockfile v1
"@types/marked@^4.0.8":
version "4.0.8"
resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.8.tgz#b316887ab3499d0a8f4c70b7bd8508f92d477955"
integrity sha512-HVNzMT5QlWCOdeuBsgXP8EZzKUf0+AXzN+sLmjvaB3ZlLqO+e4u0uXrdw9ub69wBKFs+c6/pA4r9sy6cCDvImw==
"@types/marked@^5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@types/marked/-/marked-5.0.1.tgz#15acd796d722b91bf00738c8c8539aaf5034f0c6"
integrity sha512-Y3pAUzHKh605fN6fvASsz5FDSWbZcs/65Q6xYRmnIP9ZIYz27T4IOmXfH9gWJV1dpi7f1e7z7nBGUTx/a0ptpA==
marked@^4.2.12:
version "4.2.12"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.12.tgz#d69a64e21d71b06250da995dcd065c11083bebb5"
integrity sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==
marked@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/marked/-/marked-5.1.2.tgz#62b5ccfc75adf72ca3b64b2879b551d89e77677f"
integrity sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==
ngx-infinite-scroll@^16:
version "16.0.0"

View File

@@ -1,4 +1,4 @@
import { BaseTerminalProfile, LoginScriptsOptions } from 'tabby-terminal'
import { BaseTerminalProfile, InputProcessingOptions, LoginScriptsOptions } from 'tabby-terminal'
export enum SSHAlgorithmType {
HMAC = 'hmac',
@@ -34,6 +34,7 @@ export interface SSHProfileOptions extends LoginScriptsOptions {
httpProxyHost?: string
httpProxyPort?: number
reuseSession?: boolean
input: InputProcessingOptions,
}
export enum PortForwardType {

View File

@@ -294,4 +294,9 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
ng-template(ngbNavContent)
login-scripts-settings([options]='profile.options', #loginScriptsSettings)
li(ngbNavItem)
a(ngbNavLink, translate) Input
ng-template(ngbNavContent)
input-processing-settings([options]='profile.options.input')
div([ngbNavOutlet]='nav')

View File

@@ -43,6 +43,7 @@ export class SSHProfilesService extends ProfileProvider<SSHProfile> {
httpProxyHost: null,
httpProxyPort: null,
reuseSession: true,
input: { backspace: 'backspace' },
},
}

View File

@@ -3,7 +3,7 @@ import stripAnsi from 'strip-ansi'
import { ClientChannel } from 'ssh2'
import { Injector } from '@angular/core'
import { LogService } from 'tabby-core'
import { BaseSession, UTF8SplitterMiddleware } from 'tabby-terminal'
import { BaseSession, UTF8SplitterMiddleware, InputProcessor } from 'tabby-terminal'
import { SSHSession } from './ssh'
import { SSHProfile } from '../api'
@@ -24,6 +24,7 @@ export class SSHShellSession extends BaseSession {
this.setLoginScriptsOptions(this.profile.options)
this.ssh.serviceMessage$.subscribe(m => this.serviceMessage.next(m))
this.middleware.push(new UTF8SplitterMiddleware())
this.middleware.push(new InputProcessor(profile.options.input))
}
async start (): Promise<void> {

View File

@@ -24,4 +24,9 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
ng-template(ngbNavContent)
login-scripts-settings([options]='profile.options')
li(ngbNavItem)
a(ngbNavLink, translate) Input
ng-template(ngbNavContent)
input-processing-settings([options]='profile.options.input')
div([ngbNavOutlet]='nav')

View File

@@ -8,7 +8,7 @@ import { TelnetProfile } from './session'
export class TelnetProfilesService extends ProfileProvider<TelnetProfile> {
id = 'telnet'
name = 'Telnet'
supportsQuickConnect = false
supportsQuickConnect = true
settingsComponent = TelnetProfileSettingsComponent
configDefaults = {
options: {
@@ -19,6 +19,7 @@ export class TelnetProfilesService extends ProfileProvider<TelnetProfile> {
inputNewlines: null,
outputNewlines: 'crlf',
scripts: [],
input: { backspace: 'backspace' },
},
}

View File

@@ -3,7 +3,7 @@ import colors from 'ansi-colors'
import stripAnsi from 'strip-ansi'
import { Injector } from '@angular/core'
import { LogService } from 'tabby-core'
import { BaseSession, BaseTerminalProfile, LoginScriptsOptions, SessionMiddleware, StreamProcessingOptions, TerminalStreamProcessor } from 'tabby-terminal'
import { BaseSession, BaseTerminalProfile, InputProcessingOptions, InputProcessor, LoginScriptsOptions, SessionMiddleware, StreamProcessingOptions, TerminalStreamProcessor } from 'tabby-terminal'
import { Subject, Observable } from 'rxjs'
@@ -14,6 +14,7 @@ export interface TelnetProfile extends BaseTerminalProfile {
export interface TelnetProfileOptions extends StreamProcessingOptions, LoginScriptsOptions {
host: string
port?: number
input: InputProcessingOptions,
}
enum TelnetCommands {
@@ -66,6 +67,7 @@ export class TelnetSession extends BaseSession {
private lastWidth = 0
private lastHeight = 0
private requestedOptions = new Set<number>()
private telnetRemoteEcho = false
constructor (
injector: Injector,
@@ -74,6 +76,7 @@ export class TelnetSession extends BaseSession {
super(injector.get(LogService).create(`telnet-${profile.options.host}-${profile.options.port}`))
this.streamProcessor = new TerminalStreamProcessor(profile.options)
this.middleware.push(this.streamProcessor)
this.middleware.push(new InputProcessor(profile.options.input))
this.setLoginScriptsOptions(profile.options)
}
@@ -159,7 +162,7 @@ export class TelnetSession extends BaseSession {
data = data.slice(3)
this.logger.debug('<', commandName || command, optionName || option)
if (command === TelnetCommands.WILL || command === TelnetCommands.WONT) {
if (command === TelnetCommands.WILL || command === TelnetCommands.WONT || command === TelnetCommands.DONT) {
if (this.requestedOptions.has(option)) {
this.requestedOptions.delete(option)
continue
@@ -172,6 +175,11 @@ export class TelnetSession extends BaseSession {
TelnetOptions.ECHO,
].includes(option)) {
this.emitTelnet(TelnetCommands.DO, option)
if (option === TelnetOptions.ECHO && this.streamProcessor.forceEcho) {
this.telnetRemoteEcho = true
this.streamProcessor.forceEcho = false
this.requestOption(TelnetCommands.WONT, option)
}
} else {
this.logger.debug('(!) Unhandled option')
this.emitTelnet(TelnetCommands.DONT, option)
@@ -182,8 +190,13 @@ export class TelnetSession extends BaseSession {
this.emitTelnet(TelnetCommands.WILL, option)
this.emitSize()
} else if (option === TelnetOptions.ECHO) {
this.streamProcessor.forceEcho = true
this.emitTelnet(TelnetCommands.WILL, option)
if (this.telnetRemoteEcho) {
this.streamProcessor.forceEcho = false
this.emitTelnet(TelnetCommands.WONT, option)
} else {
this.streamProcessor.forceEcho = true
this.emitTelnet(TelnetCommands.WILL, option)
}
} else if (option === TelnetOptions.TERMINAL_TYPE) {
this.emitTelnet(TelnetCommands.WILL, option)
} else {
@@ -197,7 +210,16 @@ export class TelnetSession extends BaseSession {
this.emitTelnet(TelnetCommands.WONT, option)
} else {
this.logger.debug('(!) Unhandled option')
this.emitTelnet(TelnetCommands.WILL, option)
this.emitTelnet(TelnetCommands.WONT, option)
}
}
if (command === TelnetCommands.WONT) {
if (option === TelnetOptions.ECHO) {
this.telnetRemoteEcho = false
this.emitTelnet(TelnetCommands.DONT, option)
} else {
this.logger.debug('(!) Unhandled option')
this.emitTelnet(TelnetCommands.DONT, option)
}
}
if (command === TelnetCommands.SUBOPTION) {

View File

@@ -331,6 +331,10 @@ export class BaseTerminalTabComponent<P extends BaseTerminalProfile> extends Bas
this.frontend?.focus()
})
this.subscribeUntilDestroyed(this.platform.themeChanged$, () => {
this.configure()
})
const cls: new (..._) => Frontend = {
xterm: XTermFrontend,
'xterm-webgl': XTermWebGLFrontend,

View File

@@ -27,9 +27,41 @@ export class DefaultColorSchemes extends TerminalColorSchemeProvider {
'#b7fff9',
'#ffffff',
],
selection: undefined,
cursorAccent: undefined,
}
static defaultLightColorScheme: TerminalColorScheme = {
name: 'Tabby Default Light',
foreground: '#4d4d4c',
background: '#ffffff',
cursor: '#4d4d4c',
colors: [
'#000000',
'#c82829',
'#718c00',
'#eab700',
'#4271ae',
'#8959a8',
'#3e999f',
'#ffffff',
'#000000',
'#c82829',
'#718c00',
'#eab700',
'#4271ae',
'#8959a8',
'#3e999f',
'#ffffff',
],
selection: undefined,
cursorAccent: undefined,
}
async getSchemes (): Promise<TerminalColorScheme[]> {
return [DefaultColorSchemes.defaultColorScheme]
return [
DefaultColorSchemes.defaultColorScheme,
DefaultColorSchemes.defaultLightColorScheme,
]
}
}

View File

@@ -0,0 +1,116 @@
.head
.d-flex.align-items-center(*ngIf='!editing')
strong.me-2(translate) Current color scheme
span {{getCurrentSchemeName()}}
.me-auto
.btn-toolbar
button.btn.btn-secondary((click)='editScheme()')
i.fas.fa-pen
span(translate) Edit
.me-1
button.btn.btn-danger(
(click)='deleteScheme(config.store.terminal[this.configKey])',
*ngIf='currentCustomScheme'
)
i.fas.fa-trash
span(translate) Delete
div(*ngIf='editing')
.mb-3
label(translate) Name
input.form-control(type='text', [(ngModel)]='config.store.terminal[this.configKey].name')
.mb-3
color-picker(
[(model)]='config.store.terminal[this.configKey].foreground',
(modelChange)='config.save()',
title='FG',
hint='Foreground'
)
color-picker(
[(model)]='config.store.terminal[this.configKey].background',
(modelChange)='config.save()',
title='BG',
hint='Background'
)
color-picker(
[(model)]='config.store.terminal[this.configKey].cursor',
(modelChange)='config.save()',
title='CU',
hint='Cursor color'
)
color-picker(
[(model)]='config.store.terminal[this.configKey].cursorAccent',
(modelChange)='config.save()',
title='CA',
hint='Block cursor foreground'
)
color-picker(
[(model)]='config.store.terminal[this.configKey].selection',
(modelChange)='config.save()',
title='SB',
hint='Selection background'
)
color-picker(
[(model)]='config.store.terminal[this.configKey].selectionForeground',
(modelChange)='config.save()',
title='SF',
hint='Selection foreground'
)
color-picker(
*ngFor='let _ of config.store.terminal[this.configKey].colors; let idx = index; trackBy: colorsTrackBy',
[(model)]='config.store.terminal[this.configKey].colors[idx]',
(modelChange)='config.save()',
[title]='idx.toString()',
hint='ANSI color {{idx}}'
)
color-scheme-preview([scheme]='config.store.terminal[this.configKey]')
.btn-toolbar.d-flex.mt-2(*ngIf='editing')
.me-auto
button.btn.btn-primary((click)='saveScheme()')
i.fas.fa-check
span(translate) Save
.me-1
button.btn.btn-secondary((click)='cancelEditing()')
i.fas.fa-times
span(translate) Cancel
hr.mt-3.mb-4
.input-group.mb-3
.input-group-text
i.fas.fa-fw.fa-search
input.form-control(type='search', [placeholder]='"Search color schemes"|translate', [(ngModel)]='filter')
.body
.list-group.list-group-light.mb-3
ng-container(*ngFor='let scheme of allColorSchemes')
.list-group-item.list-group-item-action(
[hidden]='filter && !scheme.name.toLowerCase().includes(filter.toLowerCase())',
(click)='selectScheme(scheme)',
[class.active]='(currentCustomScheme || currentStockScheme) === scheme'
)
.d-flex.w-100.align-items-center
i.fas.fa-fw([class.fa-check]='(currentCustomScheme || currentStockScheme) === scheme')
.ms-2
.me-auto
span {{scheme.name}}
.badge.text-bg-info.ms-2(*ngIf='customColorSchemes.includes(scheme)', translate) Custom
div
.d-flex
.swatch(
*ngFor='let index of colorIndexes.slice(0, 8)',
[style.background-color]='scheme.colors[index]'
)
.d-flex
.swatch(
*ngFor='let index of colorIndexes.slice(8, 16)',
[style.background-color]='scheme.colors[index]'
)
color-scheme-preview([scheme]='scheme')

View File

@@ -0,0 +1,117 @@
/* 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({
selector: 'color-scheme-settings-for-mode',
templateUrl: './colorSchemeSettingsForMode.component.pug',
styleUrls: ['./colorSchemeSettingsForMode.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ColorSchemeSettingsForModeComponent {
@Input() configKey: 'colorScheme'|'lightColorScheme'
@Input() stockColorSchemes: TerminalColorScheme[] = []
@Input() customColorSchemes: TerminalColorScheme[] = []
@Input() allColorSchemes: TerminalColorScheme[] = []
@Input() filter = ''
@Input() editing = false
colorIndexes = [...new Array(16).keys()]
currentStockScheme: TerminalColorScheme|null = null
currentCustomScheme: TerminalColorScheme|null = null
@HostBinding('class.content-box') true
constructor (
@Inject(TerminalColorSchemeProvider) private colorSchemeProviders: TerminalColorSchemeProvider[],
private changeDetector: ChangeDetectorRef,
private platform: PlatformService,
private translate: TranslateService,
public config: ConfigService,
) { }
async ngOnInit () {
this.stockColorSchemes = (await Promise.all(this.config.enabledServices(this.colorSchemeProviders).map(x => x.getSchemes()))).reduce((a, b) => a.concat(b))
this.stockColorSchemes.sort((a, b) => a.name.localeCompare(b.name))
this.customColorSchemes = this.config.store.terminal.customColorSchemes
this.changeDetector.markForCheck()
this.update()
}
ngOnChanges () {
this.update()
}
selectScheme (scheme: TerminalColorScheme) {
this.config.store.terminal[this.configKey] = { ...scheme }
this.config.save()
this.cancelEditing()
this.update()
}
update () {
this.currentCustomScheme = this.findMatchingScheme(this.config.store.terminal[this.configKey], this.customColorSchemes)
this.currentStockScheme = this.findMatchingScheme(this.config.store.terminal[this.configKey], this.stockColorSchemes)
this.allColorSchemes = this.customColorSchemes.concat(this.stockColorSchemes)
this.changeDetector.markForCheck()
}
editScheme () {
this.editing = true
}
saveScheme () {
this.customColorSchemes = this.customColorSchemes.filter(x => x.name !== this.config.store.terminal[this.configKey].name)
this.customColorSchemes.push(this.config.store.terminal[this.configKey])
this.config.store.terminal.customColorSchemes = this.customColorSchemes
this.config.save()
this.cancelEditing()
this.update()
}
cancelEditing () {
this.editing = false
}
async deleteScheme (scheme: TerminalColorScheme) {
if ((await this.platform.showMessageBox(
{
type: 'warning',
message: this.translate.instant('Delete "{name}"?', scheme),
buttons: [
this.translate.instant('Delete'),
this.translate.instant('Keep'),
],
defaultId: 1,
cancelId: 1,
},
)).response === 0) {
this.customColorSchemes = this.customColorSchemes.filter(x => x.name !== scheme.name)
this.config.store.terminal.customColorSchemes = this.customColorSchemes
this.config.save()
this.update()
}
}
getCurrentSchemeName () {
return (this.currentCustomScheme ?? this.currentStockScheme)?.name ?? 'Custom'
}
findMatchingScheme (scheme: TerminalColorScheme, schemes: TerminalColorScheme[]) {
return schemes.find(x => deepEqual(x, scheme)) ?? null
}
colorsTrackBy (index) {
return index
}
}

View File

@@ -1,117 +1,14 @@
.head
h3.mb-3(translate) Current color scheme
h3.mb-3(translate) Color schemes
.d-flex.align-items-center(*ngIf='!editing')
span {{getCurrentSchemeName()}}
.me-auto
.btn-toolbar
button.btn.btn-secondary((click)='editScheme()')
i.fas.fa-pen
span(translate) Edit
.me-1
button.btn.btn-danger(
(click)='deleteScheme(config.store.terminal.colorScheme)',
*ngIf='currentCustomScheme'
)
i.fas.fa-trash
span(translate) Delete
ul.nav-tabs(ngbNav, #nav='ngbNav', [activeId]='defaultTab')
li(ngbNavItem='dark')
a(ngbNavLink, translate) Dark mode
ng-template(ngbNavContent)
color-scheme-settings-for-mode(configKey='colorScheme')
div(*ngIf='editing')
.mb-3
label(translate) Name
input.form-control(type='text', [(ngModel)]='config.store.terminal.colorScheme.name')
li(ngbNavItem='light')
a(ngbNavLink, translate) Light mode
ng-template(ngbNavContent)
color-scheme-settings-for-mode(configKey='lightColorScheme')
.mb-3
color-picker(
[(model)]='config.store.terminal.colorScheme.foreground',
(modelChange)='config.save()',
title='FG',
hint='Foreground'
)
color-picker(
[(model)]='config.store.terminal.colorScheme.background',
(modelChange)='config.save()',
title='BG',
hint='Background'
)
color-picker(
[(model)]='config.store.terminal.colorScheme.cursor',
(modelChange)='config.save()',
title='CU',
hint='Cursor color'
)
color-picker(
[(model)]='config.store.terminal.colorScheme.cursorAccent',
(modelChange)='config.save()',
title='CA',
hint='Block cursor foreground'
)
color-picker(
[(model)]='config.store.terminal.colorScheme.selection',
(modelChange)='config.save()',
title='SB',
hint='Selection background'
)
color-picker(
[(model)]='config.store.terminal.colorScheme.selectionForeground',
(modelChange)='config.save()',
title='SF',
hint='Selection foreground'
)
color-picker(
*ngFor='let _ of config.store.terminal.colorScheme.colors; let idx = index; trackBy: colorsTrackBy',
[(model)]='config.store.terminal.colorScheme.colors[idx]',
(modelChange)='config.save()',
[title]='idx.toString()',
hint='ANSI color {{idx}}'
)
color-scheme-preview([scheme]='config.store.terminal.colorScheme')
.btn-toolbar.d-flex.mt-2(*ngIf='editing')
.me-auto
button.btn.btn-primary((click)='saveScheme()')
i.fas.fa-check
span(translate) Save
.me-1
button.btn.btn-secondary((click)='cancelEditing()')
i.fas.fa-times
span(translate) Cancel
hr.mt-3.mb-4
.input-group.mb-3
.input-group-text
i.fas.fa-fw.fa-search
input.form-control(type='search', [placeholder]='"Search color schemes"|translate', [(ngModel)]='filter')
.body
.list-group.list-group-light.mb-3
ng-container(*ngFor='let scheme of allColorSchemes')
.list-group-item.list-group-item-action(
[hidden]='filter && !scheme.name.toLowerCase().includes(filter.toLowerCase())',
(click)='selectScheme(scheme)',
[class.active]='(currentCustomScheme || currentStockScheme) === scheme'
)
.d-flex.w-100.align-items-center
i.fas.fa-fw([class.fa-check]='(currentCustomScheme || currentStockScheme) === scheme')
.ms-2
.me-auto
span {{scheme.name}}
.badge.text-bg-info.ms-2(*ngIf='customColorSchemes.includes(scheme)', translate) Custom
div
.d-flex
.swatch(
*ngFor='let index of colorIndexes.slice(0, 8)',
[style.background-color]='scheme.colors[index]'
)
.d-flex
.swatch(
*ngFor='let index of colorIndexes.slice(8, 16)',
[style.background-color]='scheme.colors[index]'
)
color-scheme-preview([scheme]='scheme')
div([ngbNavOutlet]='nav')

View File

@@ -1,114 +1,16 @@
/* 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')
import { Component } from '@angular/core'
import { PlatformService } from 'tabby-core'
/** @hidden */
@Component({
templateUrl: './colorSchemeSettingsTab.component.pug',
styleUrls: ['./colorSchemeSettingsTab.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ColorSchemeSettingsTabComponent {
@Input() stockColorSchemes: TerminalColorScheme[] = []
@Input() customColorSchemes: TerminalColorScheme[] = []
@Input() allColorSchemes: TerminalColorScheme[] = []
@Input() filter = ''
@Input() editing = false
colorIndexes = [...new Array(16).keys()]
currentStockScheme: TerminalColorScheme|null = null
currentCustomScheme: TerminalColorScheme|null = null
@HostBinding('class.content-box') true
defaultTab = 'dark'
constructor (
@Inject(TerminalColorSchemeProvider) private colorSchemeProviders: TerminalColorSchemeProvider[],
private changeDetector: ChangeDetectorRef,
private platform: PlatformService,
private translate: TranslateService,
public config: ConfigService,
) { }
async ngOnInit () {
this.stockColorSchemes = (await Promise.all(this.config.enabledServices(this.colorSchemeProviders).map(x => x.getSchemes()))).reduce((a, b) => a.concat(b))
this.stockColorSchemes.sort((a, b) => a.name.localeCompare(b.name))
this.customColorSchemes = this.config.store.terminal.customColorSchemes
this.changeDetector.markForCheck()
this.update()
}
ngOnChanges () {
this.update()
}
selectScheme (scheme: TerminalColorScheme) {
this.config.store.terminal.colorScheme = { ...scheme }
this.config.save()
this.cancelEditing()
this.update()
}
update () {
this.currentCustomScheme = this.findMatchingScheme(this.config.store.terminal.colorScheme, this.customColorSchemes)
this.currentStockScheme = this.findMatchingScheme(this.config.store.terminal.colorScheme, this.stockColorSchemes)
this.allColorSchemes = this.customColorSchemes.concat(this.stockColorSchemes)
this.changeDetector.markForCheck()
}
editScheme () {
this.editing = true
}
saveScheme () {
this.customColorSchemes = this.customColorSchemes.filter(x => x.name !== this.config.store.terminal.colorScheme.name)
this.customColorSchemes.push(this.config.store.terminal.colorScheme)
this.config.store.terminal.customColorSchemes = this.customColorSchemes
this.config.save()
this.cancelEditing()
this.update()
}
cancelEditing () {
this.editing = false
}
async deleteScheme (scheme: TerminalColorScheme) {
if ((await this.platform.showMessageBox(
{
type: 'warning',
message: this.translate.instant('Delete "{name}"?', scheme),
buttons: [
this.translate.instant('Delete'),
this.translate.instant('Keep'),
],
defaultId: 1,
cancelId: 1,
},
)).response === 0) {
this.customColorSchemes = this.customColorSchemes.filter(x => x.name !== scheme.name)
this.config.store.terminal.customColorSchemes = this.customColorSchemes
this.config.save()
this.update()
}
}
getCurrentSchemeName () {
return (this.currentCustomScheme ?? this.currentStockScheme)?.name ?? 'Custom'
}
findMatchingScheme (scheme: TerminalColorScheme, schemes: TerminalColorScheme[]) {
return schemes.find(x => deepEqual(x, scheme)) ?? null
}
colorsTrackBy (index) {
return index
platform: PlatformService,
) {
this.defaultTab = platform.getTheme()
}
}

View File

@@ -0,0 +1,9 @@
.form-line
.header
.title(translate) Backspace key mode
select.form-control([(ngModel)]='options.backspace')
option(
*ngFor='let mode of backspaceModes',
[value]='mode.key',
) {{mode.name|translate}}

View File

@@ -0,0 +1,40 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'
import { Component, Input } from '@angular/core'
import { InputProcessingOptions } from '../middleware/inputProcessing'
/** @hidden */
@Component({
selector: 'input-processing-settings',
templateUrl: './inputProcessingSettings.component.pug',
})
export class InputProcessingSettingsComponent {
@Input() options: InputProcessingOptions
backspaceModes = [
{
key: 'backspace',
name: _('Pass-through'),
},
{
key: 'ctrl-h',
name: 'Ctrl-H',
},
{
key: 'ctrl-?',
name: 'Ctrl-?',
},
{
key: 'delete',
name: 'Delete (CSI 3~)',
},
]
getBackspaceModeName (key) {
return this.backspaceModes.find(x => x.key === key)?.name
}
setBackspaceMode (mode) {
this.options.backspace = mode
}
}

View File

@@ -33,10 +33,12 @@ export class TerminalConfigProvider extends ConfigProvider {
wordSeparator: ' ()[]{}\'"',
colorScheme: {
__nonStructural: true,
selection: null,
cursorAccent: null,
...DefaultColorSchemes.defaultColorScheme,
},
lightColorScheme: {
__nonStructural: true,
...DefaultColorSchemes.defaultLightColorScheme,
},
customColorSchemes: [],
warnOnMultilinePaste: true,
searchRegexAlwaysEnabled: false,

View File

@@ -363,7 +363,7 @@ export class XTermFrontend extends Frontend {
private configureColors (scheme: TerminalColorScheme|undefined): void {
const config = this.configService.store
scheme = scheme ?? config.terminal.colorScheme
scheme = scheme ?? this.themes._getActiveColorScheme()
const theme: ITheme = {
foreground: scheme!.foreground,

View File

@@ -18,6 +18,8 @@ import { StreamProcessingSettingsComponent } from './components/streamProcessing
import { LoginScriptsSettingsComponent } from './components/loginScriptsSettings.component'
import { TerminalToolbarComponent } from './components/terminalToolbar.component'
import { ColorSchemeSelectorComponent } from './components/colorSchemeSelector.component'
import { InputProcessingSettingsComponent } from './components/inputProcessingSettings.component'
import { ColorSchemeSettingsForModeComponent } from './components/colorSchemeSettingsForMode.component'
import { TerminalDecorator } from './api/decorator'
import { TerminalContextMenuItemProvider } from './api/contextMenuProvider'
@@ -28,7 +30,7 @@ import { PathDropDecorator } from './features/pathDrop'
import { ZModemDecorator } from './features/zmodem'
import { TerminalConfigProvider } from './config'
import { TerminalHotkeyProvider } from './hotkeys'
import { CopyPasteContextMenu, MiscContextMenu, LegacyContextMenu, ReconnectContextMenu } from './tabContextMenu'
import { CopyPasteContextMenu, MiscContextMenu, LegacyContextMenu, ReconnectContextMenu, SaveAsProfileContextMenu } from './tabContextMenu'
import { Frontend } from './frontends/frontend'
import { XTermFrontend, XTermWebGLFrontend } from './frontends/xtermFrontend'
@@ -60,6 +62,7 @@ import { DefaultColorSchemes } from './colorSchemes'
{ provide: TabContextMenuItemProvider, useClass: MiscContextMenu, multi: true },
{ provide: TabContextMenuItemProvider, useClass: LegacyContextMenu, multi: true },
{ provide: TabContextMenuItemProvider, useClass: ReconnectContextMenu, multi: true },
{ provide: TabContextMenuItemProvider, useClass: SaveAsProfileContextMenu, multi: true },
{ provide: CLIHandler, useClass: TerminalCLIHandler, multi: true },
{ provide: TerminalColorSchemeProvider, useClass: DefaultColorSchemes, multi: true },
@@ -75,6 +78,8 @@ import { DefaultColorSchemes } from './colorSchemes'
StreamProcessingSettingsComponent,
LoginScriptsSettingsComponent,
TerminalToolbarComponent,
InputProcessingSettingsComponent,
ColorSchemeSettingsForModeComponent,
],
exports: [
ColorPickerComponent,
@@ -83,6 +88,7 @@ import { DefaultColorSchemes } from './colorSchemes'
StreamProcessingSettingsComponent,
LoginScriptsSettingsComponent,
TerminalToolbarComponent,
InputProcessingSettingsComponent,
],
})
export default class TerminalModule { } // eslint-disable-line @typescript-eslint/no-extraneous-class
@@ -96,6 +102,7 @@ export * from './middleware/streamProcessing'
export * from './middleware/loginScriptProcessing'
export * from './middleware/oscProcessing'
export * from './middleware/utf8Splitter'
export * from './middleware/inputProcessing'
export * from './api/middleware'
export * from './session'
export { LoginScriptsSettingsComponent, StreamProcessingSettingsComponent }

View File

@@ -0,0 +1,28 @@
import { SessionMiddleware } from '../api/middleware'
export interface InputProcessingOptions {
backspace: 'ctrl-h'|'ctrl-?'|'delete'|'backspace'
}
export class InputProcessor extends SessionMiddleware {
constructor (
private options: InputProcessingOptions,
) {
super()
}
feedFromTerminal (data: Buffer): void {
if (data.length === 1 && data[0] === 0x7f) {
if (this.options.backspace === 'ctrl-h') {
data = Buffer.from('\x08')
} else if (this.options.backspace === 'ctrl-?') {
data = Buffer.from('\x7f')
} else if (this.options.backspace === 'delete') {
data = Buffer.from('\x1b[3~')
} else {
data = Buffer.from('\x7f')
}
}
this.outputToSession.next(data)
}
}

View File

@@ -73,11 +73,6 @@ export class LoginScriptProcessor extends SessionMiddleware {
super.feedFromSession(data)
}
close (): void {
this.outputToSession.complete()
super.close()
}
executeUnconditionalScripts (): void {
for (const script of this.remainingScripts) {
if (!script.expect) {

View File

@@ -1,9 +1,12 @@
import { Injectable, Optional, Inject } from '@angular/core'
import { BaseTabComponent, TabContextMenuItemProvider, NotificationsService, MenuItemOptions, TranslateService, SplitTabComponent } from 'tabby-core'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { BaseTabComponent, TabContextMenuItemProvider, NotificationsService, MenuItemOptions, TranslateService, SplitTabComponent, PromptModalComponent, ConfigService, PartialProfile, Profile } from 'tabby-core'
import { BaseTerminalTabComponent } from './api/baseTerminalTab.component'
import { TerminalContextMenuItemProvider } from './api/contextMenuProvider'
import { MultifocusService } from './services/multifocus.service'
import { ConnectableTerminalTabComponent } from './api/connectableTerminalTab.component'
import { v4 as uuidv4 } from 'uuid'
import slugify from 'slugify'
/** @hidden */
@Injectable()
@@ -150,3 +153,66 @@ export class LegacyContextMenu extends TabContextMenuItemProvider {
}
}
/** @hidden */
@Injectable()
export class SaveAsProfileContextMenu extends TabContextMenuItemProvider {
constructor (
private config: ConfigService,
private ngbModal: NgbModal,
private notifications: NotificationsService,
private translate: TranslateService,
) {
super()
}
async getItems (tab: BaseTabComponent): Promise<MenuItemOptions[]> {
if (tab instanceof BaseTerminalTabComponent) {
return [
{
label: this.translate.instant('Save as profile'),
click: async () => {
const modal = this.ngbModal.open(PromptModalComponent)
modal.componentInstance.prompt = this.translate.instant('New profile name')
modal.componentInstance.value = tab.profile.name
const name = (await modal.result)?.value
if (!name) {
return
}
const options = {
...tab.profile.options,
}
const cwd = await tab.session?.getWorkingDirectory() ?? tab.profile.options.cwd
if (cwd) {
options.cwd = cwd
}
const profile: PartialProfile<Profile> = {
type: tab.profile.type,
name,
options,
}
profile.id = `${profile.type}:custom:${slugify(name)}:${uuidv4()}`
profile.group = tab.profile.group
profile.icon = tab.profile.icon
profile.color = tab.profile.color
profile.disableDynamicTitle = tab.profile.disableDynamicTitle
profile.behaviorOnSessionEnd = tab.profile.behaviorOnSessionEnd
this.config.store.profiles = [
...this.config.store.profiles,
profile,
]
this.config.save()
this.notifications.info(this.translate.instant('Saved'))
},
},
]
}
return []
}
}

449
yarn.lock
View File

@@ -316,6 +316,16 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
"@electron/asar@^3.2.1":
version "3.2.4"
resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.4.tgz#7e8635a3c4f6d8b3f8ae6efaf5ecb9fbf3bd9864"
integrity sha512-lykfY3TJRRWFeTxccEKdf1I6BLl2Plw81H0bbp4Fc5iEc67foDCa5pjJQULVgo0wF+Dli75f3xVcdb/67FFZ/g==
dependencies:
chromium-pickle-js "^0.2.0"
commander "^5.0.0"
glob "^7.1.6"
minimatch "^3.0.4"
"@electron/get@^2.0.0":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@electron/get/-/get-2.0.2.tgz#ae2a967b22075e9c25aaf00d5941cd79c21efd7e"
@@ -339,15 +349,46 @@
debug "^4.1.1"
fs-extra "^9.0.1"
"@electron/universal@1.2.1":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.1.tgz#3c2c4ff37063a4e9ab1e6ff57db0bc619bc82339"
integrity sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==
"@electron/osx-sign@^1.0.4":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.0.4.tgz#8e91442846471636ca0469426a82b253b9170151"
integrity sha512-xfhdEcIOfAZg7scZ9RQPya1G1lWo8/zMCwUXAulq0SfY7ONIW+b9qGyKdMyuMctNYwllrIS+vmxfijSfjeh97g==
dependencies:
compare-version "^0.1.2"
debug "^4.3.4"
fs-extra "^10.0.0"
isbinaryfile "^4.0.8"
minimist "^1.2.6"
plist "^3.0.5"
"@electron/rebuild@^3.2.13":
version "3.2.13"
resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.2.13.tgz#98fbb98981b1a86162546a2ab91b2355569cca4c"
integrity sha512-DH9Ol4JCnHDYVOD0fKWq+Qqbn/0WU1O6QR0mIpMXEVU4YFM4PlaqNC9K36mGShNBxxGFotZCMDrB1wl/iHM12g==
dependencies:
"@malept/cross-spawn-promise" "^2.0.0"
chalk "^4.0.0"
debug "^4.1.1"
detect-libc "^2.0.1"
fs-extra "^10.0.0"
got "^11.7.0"
node-abi "^3.0.0"
node-api-version "^0.1.4"
node-gyp "^9.0.0"
ora "^5.1.0"
semver "^7.3.5"
tar "^6.0.5"
yargs "^17.0.1"
"@electron/universal@1.3.4":
version "1.3.4"
resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.3.4.tgz#bccd94b635d7c85eeed5eabba457eb4ed2be2777"
integrity sha512-BdhBgm2ZBnYyYRLRgOjM5VHkyFItsbggJ0MHycOjKWdFGYwK97ZFXH54dTvUWEfha81vfvwr5On6XBjt99uDcg==
dependencies:
"@electron/asar" "^3.2.1"
"@malept/cross-spawn-promise" "^1.1.0"
asar "^3.1.0"
debug "^4.3.1"
dir-compare "^2.4.0"
dir-compare "^3.0.0"
fs-extra "^9.0.1"
minimatch "^3.0.4"
plist "^3.0.4"
@@ -726,9 +767,9 @@
"@types/responselike" "*"
"@types/debug@^4.1.6":
version "4.1.7"
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82"
integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
version "4.1.8"
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317"
integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==
dependencies:
"@types/ms" "*"
@@ -772,7 +813,7 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194"
integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==
"@types/fs-extra@^9.0.1", "@types/fs-extra@^9.0.11", "@types/fs-extra@^9.0.13":
"@types/fs-extra@9.0.13", "@types/fs-extra@^9.0.1", "@types/fs-extra@^9.0.11", "@types/fs-extra@^9.0.13":
version "9.0.13"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45"
integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==
@@ -824,15 +865,20 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
"@types/node@*", "@types/node@20.3.1":
"@types/node@*":
version "20.4.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.2.tgz#129cc9ae69f93824f92fac653eebfb4812ab4af9"
integrity sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==
"@types/node@20.3.1":
version "20.3.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe"
integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==
"@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@^18.11.18":
version "18.16.19"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.19.tgz#cb03fca8910fdeb7595b755126a8a78144714eea"
integrity sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==
"@types/parse5@^5":
version "5.0.3"
@@ -869,18 +915,6 @@
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.0.tgz#ed6ecaa8e5ed5dfe8b2b3d00181702c9925f13fb"
integrity sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg==
"@types/yargs-parser@*":
version "21.0.0"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
"@types/yargs@^17.0.1":
version "17.0.13"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76"
integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==
dependencies:
"@types/yargs-parser" "*"
"@types/yauzl@^2.9.1":
version "2.10.0"
resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599"
@@ -1141,6 +1175,11 @@
resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8"
integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==
"@xmldom/xmldom@^0.8.8":
version "0.8.9"
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.9.tgz#b6ef7457e826be8049667ae673eda7876eb049be"
integrity sha512-4VSbbcMoxc4KLjb1gs96SRmi7w4h1SF+fCoiK0XaQX62buCc1G5d0DC5bJ9xJBNPDSVCmIrcl8BiYxzjrqaaJA==
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -1358,37 +1397,39 @@ app-builder-bin@4.0.0:
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0"
integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==
app-builder-lib@24.0.0-alpha.1:
version "24.0.0-alpha.1"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.0.0-alpha.1.tgz#3379edc9c7b099cc2ab1c3c3b0acb375cb4d9038"
integrity sha512-nf+XQvfHBCgpdCYKQZzEdeaaa4YxTMSJVY4yOvWDpitikWSBqecx4ywCxZv1SFcPKb3xEPRIF1N3ZJwlF18lTw==
app-builder-lib@24.4.0:
version "24.4.0"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.4.0.tgz#1606f94e99366eea9e7507228961b8396e40d546"
integrity sha512-EcdqtWvg1LAApKCfyRBukcVkmsa94s2e1VKHjZLpvA9/D14QEt8rHhffYeaA+cH/pVeoNVn2ob735KnfJKEEow==
dependencies:
"7zip-bin" "~5.1.1"
"@develar/schema-utils" "~2.6.5"
"@electron/universal" "1.2.1"
"@electron/notarize" "^1.2.3"
"@electron/osx-sign" "^1.0.4"
"@electron/rebuild" "^3.2.13"
"@electron/universal" "1.3.4"
"@malept/flatpak-bundler" "^0.4.0"
"@types/fs-extra" "9.0.13"
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.9"
builder-util "23.6.0"
builder-util-runtime "9.1.1"
builder-util "24.4.0"
builder-util-runtime "9.2.1"
chromium-pickle-js "^0.2.0"
debug "^4.3.4"
ejs "^3.1.7"
electron-osx-sign "^0.6.0"
electron-publish "23.6.0"
electron-rebuild "^3.2.9"
ejs "^3.1.8"
electron-publish "24.4.0"
form-data "^4.0.0"
fs-extra "^10.1.0"
hosted-git-info "^4.1.0"
is-ci "^3.0.0"
isbinaryfile "^4.0.10"
isbinaryfile "^5.0.0"
js-yaml "^4.1.0"
lazy-val "^1.0.5"
minimatch "^3.1.2"
minimatch "^5.1.1"
read-config-file "6.3.2"
sanitize-filename "^1.6.3"
semver "^7.3.7"
tar "^6.1.11"
semver "^7.3.8"
tar "^6.1.12"
temp-file "^3.4.0"
apply-loader@2.0.0:
@@ -1509,18 +1550,6 @@ asar@^3.0.0:
optionalDependencies:
"@types/glob" "^7.1.1"
asar@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/asar/-/asar-3.2.0.tgz#e6edb5edd6f627ebef04db62f771c61bea9c1221"
integrity sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==
dependencies:
chromium-pickle-js "^0.2.0"
commander "^5.0.0"
glob "^7.1.6"
minimatch "^3.0.4"
optionalDependencies:
"@types/glob" "^7.1.1"
asn1.js@^5.2.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
@@ -1852,10 +1881,10 @@ buffer-crc32@~0.2.3:
resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
buffer-equal@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
integrity sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==
buffer-equal@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90"
integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==
buffer-fill@^1.0.0:
version "1.0.0"
@@ -1885,31 +1914,30 @@ buildcheck@0.0.3:
resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5"
integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==
builder-util-runtime@9.1.1:
version "9.1.1"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz#2da7b34e78a64ad14ccd070d6eed4662d893bd60"
integrity sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==
builder-util-runtime@9.2.1:
version "9.2.1"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.1.tgz#3184dcdf7ed6c47afb8df733813224ced4f624fd"
integrity sha512-2rLv/uQD2x+dJ0J3xtsmI12AlRyk7p45TEbE/6o/fbb633e/S3pPgm+ct+JHsoY7r39dKHnGEFk/AASRFdnXmA==
dependencies:
debug "^4.3.4"
sax "^1.2.4"
builder-util@23.6.0:
version "23.6.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.6.0.tgz#1880ec6da7da3fd6fa19b8bd71df7f39e8d17dd9"
integrity sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==
builder-util@24.4.0:
version "24.4.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.4.0.tgz#dbb201a118fd573180e6a1070cf4c0be6de80cd7"
integrity sha512-tONb/GIK1MKa1BcOPHE1naId3o5nj6gdka5kP7yUJh2DOfF+jMq3laiu+UOZH6A7ZtkMtnGNMYFKFTIv408n/A==
dependencies:
"7zip-bin" "~5.1.1"
"@types/debug" "^4.1.6"
"@types/fs-extra" "^9.0.11"
app-builder-bin "4.0.0"
bluebird-lst "^1.0.9"
builder-util-runtime "9.1.1"
chalk "^4.1.1"
builder-util-runtime "9.2.1"
chalk "^4.1.2"
cross-spawn "^7.0.3"
debug "^4.3.4"
fs-extra "^10.0.0"
fs-extra "^10.1.0"
http-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.1"
is-ci "^3.0.0"
js-yaml "^4.1.0"
source-map-support "^0.5.19"
@@ -2084,7 +2112,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -2150,9 +2178,9 @@ ci-info@^2.0.0:
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
ci-info@^3.2.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251"
integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==
version "3.8.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
@@ -2299,11 +2327,6 @@ colorette@^2.0.14:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
colors@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==
columnify@~1.5.4:
version "1.5.4"
resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz"
@@ -2319,13 +2342,6 @@ combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@^1.0.8, combined
dependencies:
delayed-stream "~1.0.0"
commander@2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
integrity sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==
dependencies:
graceful-readlink ">= 1.0.0"
commander@^2.20.0, commander@^2.8.1, commander@^2.9.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@@ -2644,7 +2660,7 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, d
dependencies:
ms "2.1.2"
debug@^2.1.3, debug@^2.2.0, debug@^2.6.8:
debug@^2.1.3, debug@^2.2.0:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -2781,15 +2797,13 @@ dezalgo@^1.0.0, dezalgo@~1.0.3:
asap "^2.0.0"
wrappy "1"
dir-compare@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631"
integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==
dir-compare@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-3.3.0.tgz#2c749f973b5c4b5d087f11edaae730db31788416"
integrity sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==
dependencies:
buffer-equal "1.0.0"
colors "1.0.3"
commander "2.9.0"
minimatch "3.0.4"
buffer-equal "^1.0.0"
minimatch "^3.0.4"
dir-glob@^3.0.1:
version "3.0.1"
@@ -2798,15 +2812,15 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
dmg-builder@24.0.0-alpha.1:
version "24.0.0-alpha.1"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.0.0-alpha.1.tgz#434fc501bfdf73c1e914109ee6eb93ff153ab0f8"
integrity sha512-3nJ1FLH1ctn1wWhDRAWZmuAaY16MEcOSrAY2iZuYsAHNNdDhT0mLaGP44GlT+uS3gU464F1uhL/F0hLp2Q2M5A==
dmg-builder@24.4.0:
version "24.4.0"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.4.0.tgz#46c80f119465f6a7275766c72b4f3d514cc8013d"
integrity sha512-p5z9Cx539GSBYb+b09Z+hMhuBTh/BrI71VRg4rgF6f2xtIRK/YlTGVS/O08k5OojoyhZcpS7JXxDVSmQoWgiiQ==
dependencies:
app-builder-lib "24.0.0-alpha.1"
builder-util "23.6.0"
builder-util-runtime "9.1.1"
fs-extra "^10.0.0"
app-builder-lib "24.4.0"
builder-util "24.4.0"
builder-util-runtime "9.2.1"
fs-extra "^10.1.0"
iconv-lite "^0.6.2"
js-yaml "^4.1.0"
optionalDependencies:
@@ -2908,30 +2922,29 @@ editor@~1.0.0:
resolved "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=
ejs@^3.1.7:
version "3.1.8"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
ejs@^3.1.8:
version "3.1.9"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361"
integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==
dependencies:
jake "^10.8.5"
electron-builder@^24.0.0-alpha.1:
version "24.0.0-alpha.1"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.0.0-alpha.1.tgz#769b4881b4db5ed2d06e20bd8dc231a9874994dc"
integrity sha512-lHt/e4oTIEcxQcbfSZgVIJ6B+sCmcj8AkStOkXyUIoRyF71UyP5soeXVv1VGKfOf78YD01k7AiRfmmbRjgIsMA==
version "24.4.0"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.4.0.tgz#8846efa45bac8f6b9afc181abf71a4e12530f045"
integrity sha512-D5INxodxaUIJgEX6p/fqBd8wQNS8XRAToNIJ9SQC+taNS5D73ZsjLuXiRraFGCB0cVk9KeKhEkdEOH5AaVya4g==
dependencies:
"@types/yargs" "^17.0.1"
app-builder-lib "24.0.0-alpha.1"
builder-util "23.6.0"
builder-util-runtime "9.1.1"
chalk "^4.1.1"
dmg-builder "24.0.0-alpha.1"
fs-extra "^10.0.0"
app-builder-lib "24.4.0"
builder-util "24.4.0"
builder-util-runtime "9.2.1"
chalk "^4.1.2"
dmg-builder "24.4.0"
fs-extra "^10.1.0"
is-ci "^3.0.0"
lazy-val "^1.0.5"
read-config-file "6.3.2"
simple-update-notifier "^1.0.7"
yargs "^17.5.1"
simple-update-notifier "^1.1.0"
yargs "^17.6.2"
electron-config@*:
version "2.0.0"
@@ -3016,28 +3029,16 @@ electron-localshortcut@^3.1.0:
keyboardevent-from-electron-accelerator "^2.0.0"
keyboardevents-areequal "^0.2.1"
electron-osx-sign@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8"
integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==
dependencies:
bluebird "^3.5.0"
compare-version "^0.1.2"
debug "^2.6.8"
isbinaryfile "^3.0.2"
minimist "^1.2.0"
plist "^3.0.1"
electron-publish@23.6.0:
version "23.6.0"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.6.0.tgz#ac9b469e0b07752eb89357dd660e5fb10b3d1ce9"
integrity sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==
electron-publish@24.4.0:
version "24.4.0"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.4.0.tgz#a58f49ecd727620f65372881788ebb1a9b853284"
integrity sha512-U3mnVSxIfNrLW7ZnwiedFhcLf6ExPFXgAsx89WpfQFsV4gFAt/LG+H74p0m9NSvsLXiZuF82yXoxi7Ou8GHq4Q==
dependencies:
"@types/fs-extra" "^9.0.11"
builder-util "23.6.0"
builder-util-runtime "9.1.1"
chalk "^4.1.1"
fs-extra "^10.0.0"
builder-util "24.4.0"
builder-util-runtime "9.2.1"
chalk "^4.1.2"
fs-extra "^10.1.0"
lazy-val "^1.0.5"
mime "^2.5.2"
@@ -3066,13 +3067,13 @@ electron-to-chromium@^1.4.284:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.286.tgz#0e039de59135f44ab9a8ec9025e53a9135eba11f"
integrity sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ==
electron@22.3.1:
version "22.3.1"
resolved "https://registry.yarnpkg.com/electron/-/electron-22.3.1.tgz#a09769e6592cadbf45d7629c9143ffa2ef8a3842"
integrity sha512-iDltL9j12bINK3aOp8ZoGq4NFBFjJhw1AYHelbWj93XUCAIT4fdA+PRsq0aaTHg3bthLLlLRvIZVgNsZPqWcqg==
electron@^25.3.0:
version "25.3.0"
resolved "https://registry.yarnpkg.com/electron/-/electron-25.3.0.tgz#e818ab3ebd3e7a45f8fca0f47e607c9af2dc92c7"
integrity sha512-cyqotxN+AroP5h2IxUsJsmehYwP5LrFAOO7O7k9tILME3Sa1/POAg3shrhx4XEnaAMyMqMLxzGvkzCVxzEErnA==
dependencies:
"@electron/get" "^2.0.0"
"@types/node" "^16.11.26"
"@types/node" "^18.11.18"
extract-zip "^2.0.1"
elliptic@^6.5.3:
@@ -3622,7 +3623,7 @@ file-loader@^6.2.0:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
filelist@^1.0.1:
filelist@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
@@ -4226,11 +4227,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0,
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
integrity sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==
grapheme-splitter@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
@@ -4487,7 +4483,7 @@ https-proxy-agent@^2.0.0:
agent-base "^4.3.0"
debug "^3.1.0"
https-proxy-agent@^5.0.0:
https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
@@ -4993,18 +4989,16 @@ isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
isbinaryfile@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80"
integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==
dependencies:
buffer-alloc "^1.2.0"
isbinaryfile@^4.0.10:
isbinaryfile@^4.0.8:
version "4.0.10"
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3"
integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==
isbinaryfile@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.0.tgz#034b7e54989dab8986598cbcea41f66663c65234"
integrity sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==
isemail@2.x.x:
version "2.2.1"
resolved "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz"
@@ -5031,14 +5025,14 @@ items@2.x.x:
integrity sha512-kezcEqgB97BGeZZYtX/MA8AG410ptURstvnz5RAgyFZ8wQFPMxHY8GpTq+/ZHKT3frSlIthUq7EvLt9xn3TvXg==
jake@^10.8.5:
version "10.8.5"
resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
version "10.8.7"
resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f"
integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==
dependencies:
async "^3.2.3"
chalk "^4.0.2"
filelist "^1.0.1"
minimatch "^3.0.4"
filelist "^1.0.4"
minimatch "^3.1.2"
javascript-stringify@^2.0.1:
version "2.1.0"
@@ -5182,12 +5176,7 @@ json5@^2.1.2:
dependencies:
minimist "^1.2.5"
json5@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
json5@^2.2.1:
json5@^2.2.0, json5@^2.2.1:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -5709,13 +5698,6 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
minimatch@3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -5723,18 +5705,30 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatc
dependencies:
brace-expansion "^1.1.7"
minimatch@^5.0.1, minimatch@^5.1.0:
minimatch@^5.0.1, minimatch@^5.1.1:
version "5.1.6"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
dependencies:
brace-expansion "^2.0.1"
minimatch@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
dependencies:
brace-expansion "^2.0.1"
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.5:
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
minimist@^1.2.0:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
minimist@^1.2.6:
version "1.2.7"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
@@ -5779,10 +5773,10 @@ minipass-sized@^1.0.3:
dependencies:
minipass "^3.0.0"
minipass@^3.0.0, minipass@^3.1.6:
version "3.3.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
minipass@^3.0.0:
version "3.3.6"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
dependencies:
yallist "^4.0.0"
@@ -5793,6 +5787,18 @@ minipass@^3.1.1:
dependencies:
yallist "^4.0.0"
minipass@^3.1.6:
version "3.3.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
dependencies:
yallist "^4.0.0"
minipass@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
minizlib@^2.1.1, minizlib@^2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz"
@@ -6800,11 +6806,12 @@ pkg-up@^2.0.0:
dependencies:
find-up "^2.1.0"
plist@^3.0.1, plist@^3.0.4:
version "3.0.6"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3"
integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==
plist@^3.0.4, plist@^3.0.5:
version "3.1.0"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9"
integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==
dependencies:
"@xmldom/xmldom" "^0.8.8"
base64-js "^1.5.1"
xmlbuilder "^15.1.1"
@@ -7198,7 +7205,12 @@ punycode@^1.4.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
punycode@^2.1.0, punycode@^2.1.1:
punycode@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
@@ -7748,13 +7760,20 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8:
semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8:
version "7.3.8"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.7:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -7878,10 +7897,10 @@ simple-html-tokenizer@^0.1.1:
resolved "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz"
integrity sha1-BcLuxXn//+FFoDCsJs/qYbmA+r4=
simple-update-notifier@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz#7edf75c5bdd04f88828d632f762b2bc32996a9cc"
integrity sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==
simple-update-notifier@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
dependencies:
semver "~7.0.0"
@@ -8384,7 +8403,7 @@ tar@^2.0.0, tar@~2.2.1:
fstream "^1.0.12"
inherits "2"
tar@^6.0.5, tar@^6.1.11, tar@^6.1.2:
tar@^6.0.5, tar@^6.1.2:
version "6.1.11"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
@@ -8396,6 +8415,18 @@ tar@^6.0.5, tar@^6.1.11, tar@^6.1.2:
mkdirp "^1.0.3"
yallist "^4.0.0"
tar@^6.1.11, tar@^6.1.12:
version "6.1.15"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69"
integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
minipass "^5.0.0"
minizlib "^2.1.1"
mkdirp "^1.0.3"
yallist "^4.0.0"
temp-file@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7"
@@ -8706,12 +8737,7 @@ typedoc@^0.22.18:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==
typescript@^4.0.2:
version "4.8.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
typescript@^4.9.5:
typescript@^4.0.2, typescript@^4.9.5:
version "4.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
@@ -9151,9 +9177,9 @@ with@^7.0.0:
babel-walk "3.0.0-canary-5"
word-wrap@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
version "1.2.4"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f"
integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==
worker-farm@~1.3.1:
version "1.3.1"
@@ -9343,7 +9369,7 @@ yargs@^15.0.1:
y18n "^4.0.0"
yargs-parser "^18.1.2"
yargs@^17.0.1, yargs@^17.5.1:
yargs@^17.0.1:
version "17.6.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c"
integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==
@@ -9369,6 +9395,19 @@ yargs@^17.2.1:
y18n "^5.0.5"
yargs-parser "^21.1.1"
yargs@^17.6.2:
version "17.7.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
dependencies:
cliui "^8.0.1"
escalade "^3.1.1"
get-caller-file "^2.0.5"
require-directory "^2.1.1"
string-width "^4.2.3"
y18n "^5.0.5"
yargs-parser "^21.1.1"
yauzl@^2.10.0:
version "2.10.0"
resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz"