mirror of
https://github.com/Eugeny/tabby.git
synced 2025-06-20 11:29:56 +00:00
Merge branch 'master' into russh
This commit is contained in:
commit
76d72a5f32
@ -1301,6 +1301,15 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "GeminiLn",
|
||||
"name": "Yu Qin",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/12425057?v=4",
|
||||
"profile": "https://github.com/GeminiLn",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
109
.github/workflows/build.yml
vendored
109
.github/workflows/build.yml
vendored
@ -13,11 +13,11 @@ jobs:
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.7.0
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 18
|
||||
|
||||
- name: Install deps
|
||||
run: |
|
||||
npm i -g yarn@1.19.1
|
||||
npm i -g yarn
|
||||
cd app
|
||||
yarn
|
||||
cd ..
|
||||
@ -55,16 +55,17 @@ jobs:
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.7.0
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 18
|
||||
|
||||
- run: rustup target add ${{matrix.rust_triple}}
|
||||
|
||||
- name: Install deps
|
||||
run: |
|
||||
sudo -H pip3 install setuptools
|
||||
npm config set python python3
|
||||
sudo npm i -g yarn@1.22.1
|
||||
sudo npm i -g yarn
|
||||
yarn --network-timeout 1000000
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- name: Fix cross build
|
||||
run: |
|
||||
@ -77,6 +78,8 @@ jobs:
|
||||
|
||||
- name: Prepackage plugins
|
||||
run: scripts/prepackage-plugins.mjs
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- run: sed -i '' 's/updateInfo = await/\/\/updateInfo = await/g' node_modules/app-builder-lib/out/targets/ArchiveTarget.js
|
||||
|
||||
@ -173,57 +176,49 @@ jobs:
|
||||
|
||||
- run: rustup target add ${{matrix.rust_triple}}
|
||||
|
||||
- name: Install deps (amd64)
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install libarchive-tools zsh python3-distutils
|
||||
sudo apt-get install libarchive-tools zsh crossbuild-essential-${{matrix.arch}}
|
||||
|
||||
- name: Setup tar to run as root
|
||||
run: sudo chmod u+s "$(command -v tar)"
|
||||
if: matrix.build-arch != 'x64'
|
||||
|
||||
- name: Download cached sysroot
|
||||
uses: actions/cache@v3
|
||||
id: dl-cached-sysroot
|
||||
if: matrix.build-arch !='x64'
|
||||
with:
|
||||
key: sysroot-${{matrix.build-arch}}
|
||||
path: /${{matrix.build-arch}}-sysroot
|
||||
|
||||
- name: Setup crossbuild sysroot
|
||||
run: |
|
||||
sudo apt-get update -y && sudo apt-get install debootstrap qemu-user-static binfmt-support -y
|
||||
sudo qemu-debootstrap --include=libfontconfig1-dev,libsecret-1-dev,libnss3,libatk1.0-0,libatk-bridge2.0-0,libgdk-pixbuf2.0-0,libgtk-3-0,libgbm1 --variant=buildd --exclude=snapd --components=main,restricted,universe,multiverse --extractor=dpkg-deb --arch ${{matrix.arch}} bionic /${{matrix.build-arch}}-sysroot/ http://ports.ubuntu.com/ubuntu-ports/
|
||||
sudo find /${{matrix.build-arch}}-sysroot -type l -lname '/*' -exec sh -c 'file="$0"; dir=$(dirname "$file"); target=$(readlink "$0"); prefix=$(dirname "$dir" | sed 's@[^/]*@\.\.@g'); newtarget="$prefix$target"; ln -snf $newtarget $file' {} \; ;
|
||||
if: matrix.build-arch != 'x64' && steps.dl-cached-sysroot.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Setup env to use ${{matrix.build-arch}} sysroot
|
||||
run: |
|
||||
echo "CFLAGS=--sysroot=/${{matrix.build-arch}}-sysroot/" >> $GITHUB_ENV
|
||||
echo "CXXFLAGS=--sysroot=/${{matrix.build-arch}}-sysroot/" >> $GITHUB_ENV
|
||||
echo "LDFLAGS=--sysroot=/${{matrix.build-arch}}-sysroot/" >> $GITHUB_ENV
|
||||
|
||||
[[ ${npm_config_arch} == 'arm' ]] && echo "npm_config_arch=armv7l" >> $GITHUB_ENV
|
||||
|
||||
if [[ ${{matrix.arch}} == 'armhf' ]]; then
|
||||
echo "PKG_CONFIG_PATH=/${{matrix.build-arch}}-sysroot/usr/lib/pkgconfig/:/${{matrix.build-arch}}-sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig/" >> $GITHUB_ENV
|
||||
elif [[ ${{matrix.arch}} == 'arm64' ]]; then
|
||||
echo "PKG_CONFIG_PATH=/${{matrix.build-arch}}-sysroot/usr/lib/pkgconfig/:/${{matrix.build-arch}}-sysroot/usr/lib/aarch64-linux-gnu/pkgconfig/" >> $GITHUB_ENV
|
||||
fi
|
||||
if: matrix.build-arch != 'x64'
|
||||
|
||||
- name: Install npm_modules (amd64)
|
||||
run: |
|
||||
npm i -g yarn
|
||||
yarn --network-timeout 1000000
|
||||
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
|
||||
|
||||
if: matrix.build-arch != 'x64'
|
||||
|
||||
- name: Install node_modules & CrossBuild native modules for ${{matrix.arch}}
|
||||
run: |
|
||||
sudo schroot -c build-chroot -u root -- bash -ex -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 RUSTUP_HOME=/rustup
|
||||
export CARGO_HOME=/cargo
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||
source "/cargo/env"
|
||||
rustup target add ${{matrix.rust_triple}}
|
||||
export ARCH=${{matrix.build-arch}} npm_config_arch=${{matrix.build-arch}} npm_config_target_arch=${{matrix.build-arch}} RUST_TARGET_TRIPLE=${{matrix.rust_triple}}
|
||||
npm i -g yarn
|
||||
yarn --network-timeout 1000000 --arch=${{matrix.build-arch}} --target_arch=${{matrix.build-arch}}"
|
||||
if: matrix.build-arch != 'x64'
|
||||
npm i -g yarn node-gyp
|
||||
yarn --network-timeout 1000000 --arch=${{matrix.build-arch}} --target-arch=${{matrix.build-arch}}
|
||||
|
||||
- name: Webpack (${{matrix.arch}})
|
||||
run: yarn run build --arch=${{matrix.build-arch}} --target_arch=${{matrix.build-arch}}
|
||||
@ -239,7 +234,7 @@ jobs:
|
||||
USE_HARD_LINKS: false
|
||||
# DEBUG: electron-builder,electron-builder:*
|
||||
|
||||
- name: Build web resources
|
||||
- name: Build web resources (amd64 only)
|
||||
run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist'
|
||||
if: matrix.build-arch == 'x64'
|
||||
|
||||
@ -324,7 +319,7 @@ jobs:
|
||||
- name: Installing Node
|
||||
uses: actions/setup-node@v3.7.0
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 18
|
||||
|
||||
- run: npm i -g npx
|
||||
- run: rustup target add ${{matrix.rust_triple}}
|
||||
@ -337,10 +332,12 @@ jobs:
|
||||
- name: Build
|
||||
shell: powershell
|
||||
run: |
|
||||
npm i -g yarn@1.19.1
|
||||
npm i -g yar node-gyp
|
||||
yarn --network-timeout 1000000
|
||||
yarn run build
|
||||
node scripts/prepackage-plugins.mjs
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- name: Build and sign packages
|
||||
run: node scripts/build-windows.mjs
|
||||
@ -355,7 +352,9 @@ jobs:
|
||||
|
||||
- name: Build packages without signing
|
||||
run: node scripts/build-windows.mjs
|
||||
if: "!(github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))"
|
||||
if: "! (github.repository == 'Eugeny/tabby' && github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')))"
|
||||
env:
|
||||
ARCH: ${{matrix.arch}}
|
||||
|
||||
- name: Upload symbols
|
||||
run: |
|
||||
|
@ -339,6 +339,7 @@ Dank geht an diese wunderbaren Menschen ([emoji key](https://allcontributors.org
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -341,6 +341,7 @@ Gracias a estas maravillosas personas ([emoji key](https://allcontributors.org/d
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -338,6 +338,7 @@ Terima kasih kepada mereka yang telah membantu ([emoji key](https://allcontribut
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -334,6 +334,7 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -349,6 +349,7 @@ Windows上では、`Tabby.exe`がある場所と同じ場所に`data`フォル
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -333,6 +333,7 @@ Pull requests and plugins are welcome!
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -355,6 +355,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -342,6 +342,7 @@ Obrigado vai para essas pessoas maravilhosas ([emoji key](https://allcontributor
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -334,6 +334,7 @@ Pull-запросы и плагины приветствуются!
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -333,6 +333,7 @@
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://5k.work/"><img src="https://avatars.githubusercontent.com/u/82694310?v=4?s=100" width="100px;" alt="Mxmilu"/><br /><sub><b>Mxmilu</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Mxmilu666" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://cbuff.dev"><img src="https://avatars.githubusercontent.com/u/29805363?v=4?s=100" width="100px;" alt="Charles Buffington"/><br /><sub><b>Charles Buffington</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=C41M50N" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GeminiLn"><img src="https://avatars.githubusercontent.com/u/12425057?v=4?s=100" width="100px;" alt="Yu Qin"/><br /><sub><b>Yu Qin</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=GeminiLn" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -31,6 +31,8 @@ try {
|
||||
app.exit(1)
|
||||
}
|
||||
|
||||
process.mainModule = module
|
||||
|
||||
const application = new Application(configStore)
|
||||
|
||||
ipcMain.on('app:new-window', () => {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import * as glasstron from 'glasstron'
|
||||
|
||||
import { autoUpdater } from 'electron-updater'
|
||||
import { Subject, Observable, debounceTime } from 'rxjs'
|
||||
import { BrowserWindow, app, ipcMain, Rectangle, Menu, screen, BrowserWindowConstructorOptions, TouchBar, nativeImage, WebContents } from 'electron'
|
||||
import ElectronConfig = require('electron-config')
|
||||
@ -159,6 +159,7 @@ export class Window {
|
||||
}
|
||||
|
||||
this.setupWindowManagement()
|
||||
this.setupUpdater()
|
||||
|
||||
this.ready = new Promise(resolve => {
|
||||
const listener = event => {
|
||||
@ -346,11 +347,8 @@ export class Window {
|
||||
this.send('host:window-focused')
|
||||
})
|
||||
|
||||
ipcMain.on('ready', event => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.window.webContents.send('start', {
|
||||
this.on('ready', () => {
|
||||
this.window?.webContents.send('start', {
|
||||
config: this.configStore,
|
||||
executable: app.getPath('exe'),
|
||||
windowID: this.window.id,
|
||||
@ -359,42 +357,26 @@ export class Window {
|
||||
})
|
||||
})
|
||||
|
||||
ipcMain.on('window-minimize', event => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.window.minimize()
|
||||
this.on('window-minimize', () => {
|
||||
this.window?.minimize()
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-bounds', (event, bounds) => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.window.setBounds(bounds)
|
||||
this.on('window-set-bounds', (_, bounds) => {
|
||||
this.window?.setBounds(bounds)
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-always-on-top', (event, flag) => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.window.setAlwaysOnTop(flag)
|
||||
this.on('window-set-always-on-top', (_, flag) => {
|
||||
this.window?.setAlwaysOnTop(flag)
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-vibrancy', (event, enabled, type) => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.on('window-set-vibrancy', (_, enabled, type) => {
|
||||
this.setVibrancy(enabled, type)
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-window-controls-color', (event, theme) => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
|
||||
this.on('window-set-window-controls-color', (_, theme) => {
|
||||
if (process.platform === 'win32') {
|
||||
const symbolColor: string = theme.foreground
|
||||
this.window.setTitleBarOverlay(
|
||||
this.window?.setTitleBarOverlay(
|
||||
{
|
||||
symbolColor: symbolColor,
|
||||
height: 32,
|
||||
@ -403,32 +385,23 @@ export class Window {
|
||||
}
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-title', (event, title) => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.window.setTitle(title)
|
||||
this.on('window-set-title', (_, title) => {
|
||||
this.window?.setTitle(title)
|
||||
})
|
||||
|
||||
ipcMain.on('window-bring-to-front', event => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
if (this.window.isMinimized()) {
|
||||
this.on('window-bring-to-front', () => {
|
||||
if (this.window?.isMinimized()) {
|
||||
this.window.restore()
|
||||
}
|
||||
this.present()
|
||||
})
|
||||
|
||||
ipcMain.on('window-close', event => {
|
||||
if (!this.window || event.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
this.on('window-close', () => {
|
||||
this.closing = true
|
||||
this.window.close()
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-touch-bar', (_event, segments, selectedIndex) => {
|
||||
this.on('window-set-touch-bar', (_, segments, selectedIndex) => {
|
||||
this.touchBarControl.segments = segments.map(s => ({
|
||||
label: s.label,
|
||||
icon: s.hasActivity ? activityIcon : undefined,
|
||||
@ -468,8 +441,46 @@ export class Window {
|
||||
this.window.setOpacity(opacity)
|
||||
})
|
||||
|
||||
ipcMain.on('window-set-progress-bar', (_event, value) => {
|
||||
this.window.setProgressBar(value, { mode: value < 0 ? 'none' : 'normal' })
|
||||
this.on('window-set-progress-bar', (_, value) => {
|
||||
this.window?.setProgressBar(value, { mode: value < 0 ? 'none' : 'normal' })
|
||||
})
|
||||
}
|
||||
|
||||
on (event: string, listener: (...args: any[]) => void): void {
|
||||
ipcMain.on(event, (e, ...args) => {
|
||||
if (!this.window || e.sender !== this.window.webContents) {
|
||||
return
|
||||
}
|
||||
listener(e, ...args)
|
||||
})
|
||||
}
|
||||
|
||||
private setupUpdater () {
|
||||
autoUpdater.autoDownload = true
|
||||
autoUpdater.autoInstallOnAppQuit = true
|
||||
|
||||
autoUpdater.on('update-available', () => {
|
||||
this.send('updater:update-available')
|
||||
})
|
||||
|
||||
autoUpdater.on('update-not-available', () => {
|
||||
this.send('updater:update-not-available')
|
||||
})
|
||||
|
||||
autoUpdater.on('error', err => {
|
||||
this.send('updater:error', err)
|
||||
})
|
||||
|
||||
autoUpdater.on('update-downloaded', () => {
|
||||
this.send('updater:update-downloaded')
|
||||
})
|
||||
|
||||
this.on('updater:check-for-updates', () => {
|
||||
autoUpdater.checkForUpdates()
|
||||
})
|
||||
|
||||
this.on('updater:quit-and-install', () => {
|
||||
autoUpdater.quitAndInstall()
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
"watch": "webpack --progress --color --watch"
|
||||
},
|
||||
"dependencies": {
|
||||
"@electron/remote": "2.0.10",
|
||||
"@electron/remote": "^2",
|
||||
"node-pty": "^1.1.0-beta.14",
|
||||
"any-promise": "^1.3.0",
|
||||
"electron-config": "2.0.0",
|
||||
@ -64,8 +64,7 @@
|
||||
"tabby-terminal": "*"
|
||||
},
|
||||
"resolutions": {
|
||||
"*/node-abi": "^2.20.0",
|
||||
"node-gyp": "^10.0.0",
|
||||
"nan": "github:jkleinsc/nan#remove_accessor_signature"
|
||||
"*/node-abi": "^3",
|
||||
"node-gyp": "^10.0.0"
|
||||
}
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ const config = {
|
||||
'electron-config': 'commonjs electron-config',
|
||||
'electron-debug': 'commonjs electron-debug',
|
||||
'electron-promise-ipc': 'commonjs electron-promise-ipc',
|
||||
'electron-updater': 'commonjs electron-updater',
|
||||
fs: 'commonjs fs',
|
||||
glasstron: 'commonjs glasstron',
|
||||
mz: 'commonjs mz',
|
||||
|
@ -2,10 +2,10 @@
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@electron/remote@2.0.10":
|
||||
version "2.0.10"
|
||||
resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-2.0.10.tgz#133e2f607b1861ac249bd78b5abd1e961feed713"
|
||||
integrity sha512-3SFKKaQXcyWgwmibud+UqJl/XlHOgLcI3fwtB9pNelPSJAcTxocOJrF6FaxBIQaj1+R05Di6xuAswZpXAW7xhA==
|
||||
"@electron/remote@^2":
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-2.1.2.tgz#52a97c8faa5b769155b649ef262f2f8c851776e6"
|
||||
integrity sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==
|
||||
|
||||
"@iarna/cli@^1.2.0":
|
||||
version "1.2.0"
|
||||
@ -2582,9 +2582,10 @@ mz@^2.7.0:
|
||||
object-assign "^4.0.1"
|
||||
thenify-all "^1.0.0"
|
||||
|
||||
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"
|
||||
nan@^2.17.0:
|
||||
version "2.20.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.20.0.tgz#08c5ea813dd54ed16e5bd6505bf42af4f7838ca3"
|
||||
integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==
|
||||
|
||||
napi-build-utils@^1.0.1:
|
||||
version "1.0.2"
|
||||
@ -2615,12 +2616,12 @@ nice-try@^1.0.4:
|
||||
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"
|
||||
integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==
|
||||
node-abi@^3:
|
||||
version "3.65.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.65.0.tgz#ca92d559388e1e9cab1680a18c1a18757cdac9d3"
|
||||
integrity sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==
|
||||
dependencies:
|
||||
semver "^5.4.1"
|
||||
semver "^7.3.5"
|
||||
|
||||
node-abi@^3.3.0:
|
||||
version "3.8.0"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"Language: af_ZA\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Language: bg_BG\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Czech\n"
|
||||
"Language: cs_CZ\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -1935,7 +1935,7 @@ msgstr "Sériové připojení"
|
||||
|
||||
#: tabby-serial/src/profiles.ts:73
|
||||
msgid "Serial: {description}"
|
||||
msgstr "Seriální: {description}"
|
||||
msgstr "Sériový: {description}"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/setVaultPassphraseModal.component.html:2
|
||||
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:5
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Danish\n"
|
||||
"Language: da_DK\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -100,12 +100,12 @@ msgstr "Tillader hurtigt at åbne en terminal i den valgte mappe"
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:25
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:11
|
||||
msgid "Always dark"
|
||||
msgstr ""
|
||||
msgstr "Altid mørk"
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:27
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:13
|
||||
msgid "Always light"
|
||||
msgstr ""
|
||||
msgstr "Altid lys"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:2
|
||||
#: tabby-terminal/src/settings.ts:14
|
||||
@ -272,7 +272,7 @@ msgstr "Ciphers"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSelector.component.html:5
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "Ryd"
|
||||
|
||||
#: tabby-core/src/services/profiles.service.ts:248
|
||||
msgid "Clear recent profiles"
|
||||
@ -324,7 +324,7 @@ msgstr "Luk faner til højre"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:182
|
||||
msgid "Close the window after closing the last tab"
|
||||
msgstr ""
|
||||
msgstr "Luk vinduet efter lukningen af den sidste fane"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileModal.component.html:33
|
||||
#: tabby-core/src/tabContextMenu.ts:132
|
||||
@ -337,16 +337,16 @@ msgstr "Farvetema"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:2
|
||||
msgid "Color schemes"
|
||||
msgstr ""
|
||||
msgstr "Farveskemaer"
|
||||
|
||||
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:81
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:216
|
||||
msgid "Colors"
|
||||
msgstr ""
|
||||
msgstr "Farver"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:72
|
||||
msgid "Combine all tabs into the current tab"
|
||||
msgstr ""
|
||||
msgstr "Kombinér alle faner til den aktuelle fane"
|
||||
|
||||
#: locale/tmp-html/tabby-local/src/components/commandLineEditor.component.html:4
|
||||
msgid "Command line"
|
||||
@ -358,15 +358,15 @@ msgstr "Kommandoens stdin/stdout bruges i stedet for en netværksforbindelse"
|
||||
|
||||
#: tabby-core/src/services/commands.service.ts:105
|
||||
msgid "Commands"
|
||||
msgstr ""
|
||||
msgstr "Kommandoer"
|
||||
|
||||
#: tabby-core/src/theme.ts:16
|
||||
msgid "Compact (legacy)"
|
||||
msgstr ""
|
||||
msgstr "Kompakt (ældre)"
|
||||
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:126
|
||||
msgid "Config deleted"
|
||||
msgstr ""
|
||||
msgstr "Konfig slettet"
|
||||
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:108
|
||||
msgid "Config downloaded"
|
||||
@ -428,7 +428,7 @@ msgstr "Kontekstmenu"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:14
|
||||
msgid "Controls the amount of space between elements"
|
||||
msgstr ""
|
||||
msgstr "Styrer mængden af mellemrum mellem elementer"
|
||||
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:240
|
||||
#: tabby-terminal/src/api/baseTerminalTab.component.ts:248
|
||||
@ -449,7 +449,7 @@ msgstr "Kopiér nuværende sti"
|
||||
|
||||
#: tabby-electron/src/sftpContextMenu.ts:29
|
||||
msgid "Copy full path"
|
||||
msgstr ""
|
||||
msgstr "Kopiér hele stien"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:97
|
||||
msgid "Copy on select"
|
||||
@ -461,7 +461,7 @@ msgstr "Kopiér til udklipsholder"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:103
|
||||
msgid "Copy with formatting"
|
||||
msgstr ""
|
||||
msgstr "Kopiér med formatering"
|
||||
|
||||
#: tabby-core/src/services/config.service.ts:425
|
||||
msgid "Could not decrypt config"
|
||||
@ -469,12 +469,12 @@ msgstr "Kunne ikke dekryptere konfiguration"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpCreateDirectoryModal.component.html:9
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
msgstr "Opret"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:7
|
||||
#: tabby-ssh/src/sftpContextMenu.ts:29
|
||||
msgid "Create directory"
|
||||
msgstr ""
|
||||
msgstr "Opret mappe"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:90
|
||||
msgid "Current"
|
||||
@ -498,7 +498,7 @@ msgstr "Markørens form"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsForMode.component.html:46
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
msgstr "Tilpasset"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:90
|
||||
msgid "Custom CSS"
|
||||
@ -506,7 +506,7 @@ msgstr "Brugerdefineret CSS"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:17
|
||||
msgid "Dark mode"
|
||||
msgstr ""
|
||||
msgstr "Mørk tilstand"
|
||||
|
||||
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:26
|
||||
msgid "Data bits"
|
||||
@ -518,15 +518,15 @@ msgstr "Fejlfinding"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:256
|
||||
msgid "Decrease horizontal split size"
|
||||
msgstr ""
|
||||
msgstr "Reducér den vandrette splitstørrelse"
|
||||
|
||||
#: tabby-core/src/hotkeys.ts:248
|
||||
msgid "Decrease vertical split size"
|
||||
msgstr ""
|
||||
msgstr "Reducér den lodrette splitstørrelse"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:92
|
||||
msgid "Default \"Connect to\" type"
|
||||
msgstr ""
|
||||
msgstr "Standard \"Forbind til\"-type"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:93
|
||||
msgid "Default connection type used by quick connect feature (ex. SSH, Telnet)"
|
||||
@ -582,7 +582,7 @@ msgstr "Slet {fullPath}?"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:42
|
||||
msgid "Delete entire line"
|
||||
msgstr ""
|
||||
msgstr "Slet hele linjen"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:46
|
||||
msgid "Delete next word"
|
||||
@ -594,7 +594,7 @@ msgstr "Slet forrige ord"
|
||||
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:114
|
||||
msgid "Delete the config on the remote side?"
|
||||
msgstr ""
|
||||
msgstr "Slet konfigurationen på fjernsiden?"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:226
|
||||
msgid "Delete the group's profiles?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de_DE\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: English, United Kingdom\n"
|
||||
"Language: en_GB\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -2036,10 +2036,6 @@ msgstr ""
|
||||
msgid "Show Serial connections"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:73
|
||||
msgid "Hide Tabby in tray or menu bar."
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:152
|
||||
msgid "Show tabs in fullscreen mode"
|
||||
msgstr ""
|
||||
@ -2048,10 +2044,6 @@ msgstr ""
|
||||
msgid "Show toolbar"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:73
|
||||
msgid "Hide tray"
|
||||
msgstr ""
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:45
|
||||
msgid "Show vault contents"
|
||||
msgstr ""
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es_ES\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr_FR\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Croatian\n"
|
||||
"Language: hr_HR\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Language: id_ID\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -1762,11 +1762,11 @@ msgstr "Ukuran Semula"
|
||||
|
||||
#: tabby-serial/src/hotkeys.ts:14
|
||||
msgid "Restart current serial session"
|
||||
msgstr ""
|
||||
msgstr "Mulai ulang sesi serial saat ini"
|
||||
|
||||
#: tabby-ssh/src/hotkeys.ts:10
|
||||
msgid "Restart current SSH session"
|
||||
msgstr ""
|
||||
msgstr "Mulai ulang sesi SSH saat ini"
|
||||
|
||||
#: tabby-telnet/src/hotkeys.ts:10
|
||||
msgid "Restart current Telnet session"
|
||||
@ -2401,7 +2401,7 @@ msgstr ""
|
||||
|
||||
#: tabby-ssh/src/session/ssh.ts:465
|
||||
msgid "Using preset password"
|
||||
msgstr ""
|
||||
msgstr "Gunakan kata sandi yang telah disetel sebelumnya"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/vaultSettingsTab.component.html:9
|
||||
msgid "Vault"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it_IT\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -31,7 +31,7 @@ msgstr "Annulla tutto"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:24
|
||||
msgid "Accept and remember key"
|
||||
msgstr "Accetta e ricorda la chiave"
|
||||
msgstr "Accetta e ricorda chiave"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:25
|
||||
msgid "Accept just this once"
|
||||
@ -43,7 +43,7 @@ msgstr "Accessibilità"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:27
|
||||
msgid "Acrylic background"
|
||||
msgstr "Sfondo traslucido"
|
||||
msgstr "Sfondo acrilico"
|
||||
|
||||
#: locale/tmp-html/tabby-local/src/components/commandLineEditor.component.html:24
|
||||
#: locale/tmp-html/tabby-local/src/components/environmentEditor.component.html:11
|
||||
@ -225,8 +225,7 @@ msgstr "Incolla tra parentesi (richiede una shell che lo supporti)"
|
||||
|
||||
#: tabby-terminal/src/services/multifocus.service.ts:19
|
||||
msgid "Broadcast mode. Click anywhere to cancel."
|
||||
msgstr "Modalità broadcast. \n"
|
||||
"Fai clic ovunque per annullare."
|
||||
msgstr "Modalità broadcast. Fai clic ovunque per disabilitare."
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:50
|
||||
#: tabby-core/src/services/profiles.service.ts:411
|
||||
@ -508,7 +507,7 @@ msgstr "CSS personalizzato"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:17
|
||||
msgid "Dark mode"
|
||||
msgstr "Modalità scura"
|
||||
msgstr "Tema scuro"
|
||||
|
||||
#: locale/tmp-html/tabby-serial/src/components/serialProfileSettings.component.html:26
|
||||
msgid "Data bits"
|
||||
@ -708,7 +707,7 @@ msgstr "La selezione con doppio clic si fermerà a questi caratteri"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:79
|
||||
msgid "Down"
|
||||
msgstr "Giù"
|
||||
msgstr "In basso"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:43
|
||||
msgid "Download"
|
||||
@ -896,7 +895,7 @@ msgstr "Evidenzia il riquadro a destra"
|
||||
|
||||
#: tabby-core/src/theme.ts:34
|
||||
msgid "Follow the color scheme"
|
||||
msgstr "Segui lo schema dei colori"
|
||||
msgstr "Segui il tema di sistema"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:5
|
||||
msgid "Font"
|
||||
@ -1209,7 +1208,7 @@ msgstr "Scopri come consentire a Tabby di rilevare la cartella di lavoro della s
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:76
|
||||
#: tabby-core/src/tabContextMenu.ts:80
|
||||
msgid "Left"
|
||||
msgstr "Sinistra"
|
||||
msgstr "A sinistra"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:40
|
||||
msgid "Lets the shell handle Meta key instead of OS"
|
||||
@ -1802,7 +1801,7 @@ msgstr "Riusa la sessione per più schede"
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:78
|
||||
#: tabby-core/src/tabContextMenu.ts:78
|
||||
msgid "Right"
|
||||
msgstr "Destra"
|
||||
msgstr "A destra"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:56
|
||||
msgid "Right click"
|
||||
@ -2361,7 +2360,7 @@ msgstr "Sgancia"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:81
|
||||
msgid "Up"
|
||||
msgstr "Su"
|
||||
msgstr "In alto"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:14
|
||||
#: tabby-electron/src/services/updater.service.ts:133
|
||||
@ -2429,7 +2428,7 @@ msgstr "La cassaforte non è configurata"
|
||||
|
||||
#: tabby-core/src/services/fileProviders.service.ts:40
|
||||
msgid "Vault master passphrase needs to be set to allow storing secrets"
|
||||
msgstr "Per consentire la memorizzazione di dati cifrati deve essere impostata la frase segreta principale della cassaforte."
|
||||
msgstr "Per consentire la memorizzazione di dati cifrati deve essere impostata la frase segreta principale della cassaforte"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:11
|
||||
msgid "Verify host keys when connecting"
|
||||
@ -2465,7 +2464,7 @@ msgstr "Attenzione: la chiave dell'host remoto è improvvisamente cambiata!"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:67
|
||||
msgid "We're only tracking your Tabby and OS versions."
|
||||
msgstr "Monitoreremo soltanto le versioni di Tabby e del sistema operativo."
|
||||
msgstr "Monitoreremo soltanto le versioni di Tabby e del Sistema Operativo."
|
||||
|
||||
#: tabby-core/src/components/welcomeTab.component.ts:25
|
||||
msgid "Welcome"
|
||||
@ -2510,7 +2509,7 @@ msgstr "Dimensione finestra fuori dal bordo"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:52
|
||||
msgid "Window frame"
|
||||
msgstr "Cornice finestra"
|
||||
msgstr "Cornice della finestra"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:165
|
||||
msgid "Windows"
|
||||
@ -2526,7 +2525,7 @@ msgstr "Percorso WinSCP"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:74
|
||||
msgid "Word separators"
|
||||
msgstr "Separatori parole"
|
||||
msgstr "Separatori di parole"
|
||||
|
||||
#: locale/tmp-html/tabby-local/src/components/localProfileSettings.component.html:10
|
||||
msgid "Working directory"
|
||||
@ -2563,11 +2562,11 @@ msgstr "In questo momento potresti essere sotto un attacco man-in-the-middle, o
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:54
|
||||
msgid "Zoom in"
|
||||
msgstr "Zoom +"
|
||||
msgstr "Zoom avanti"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:58
|
||||
msgid "Zoom out"
|
||||
msgstr "Zoom -"
|
||||
msgstr "Zoom indietro"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshPortForwardingConfig.component.html:43
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshPortForwardingConfig.component.html:5
|
||||
|
@ -10,11 +10,11 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Language: ja_JP\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
msgstr "\"{command}\"が実行中です。閉じますか?"
|
||||
msgstr "\"{command}\"が実行中です。閉じてもよろしいですか?"
|
||||
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:78
|
||||
#: tabby-settings/src/components/profilesSettingsTab.component.ts:88
|
||||
@ -23,7 +23,7 @@ msgstr "{name} コピー"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:77
|
||||
msgid "A second font family used to display characters missing in the main font"
|
||||
msgstr "既定フォントに不足している文字を表示する際に使用されます"
|
||||
msgstr "メインフォントに不足している文字を表示する際に使用されます"
|
||||
|
||||
#: tabby-core/src/components/transfersMenu.component.ts:49
|
||||
msgid "Abort all"
|
||||
@ -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
|
||||
@ -79,15 +79,15 @@ msgstr "SSHエージェント"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:134
|
||||
msgid "Agent forwarding"
|
||||
msgstr "SSHエージェントの転送"
|
||||
msgstr "SSHエージェント転送"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:35
|
||||
msgid "Agent pipe path"
|
||||
msgstr "SSHエージェントのパイプのパス"
|
||||
msgstr "SSHエージェントのパイプ名"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:24
|
||||
msgid "Agent type"
|
||||
msgstr "SSHエージェントの種類"
|
||||
msgstr "SSHエージェントの指定"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:169
|
||||
msgid "Allows opening .bat files in tabs, but breaks some shells"
|
||||
@ -354,7 +354,7 @@ msgstr "コマンドライン"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:13
|
||||
msgid "Command's stdin/stdout is used instead of a network connection"
|
||||
msgstr "ネットワーク接続の代わりにコマンドの stdin/stdout が使用されます"
|
||||
msgstr "ネットワーク接続の代わりにコマンドの stdin/stdout を使用します"
|
||||
|
||||
#: tabby-core/src/services/commands.service.ts:105
|
||||
msgid "Commands"
|
||||
@ -486,7 +486,7 @@ msgstr "使用中の配色"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:17
|
||||
msgid "Current host key fingerprint"
|
||||
msgstr "使用中のホストキーのフィンガープリント"
|
||||
msgstr "現在のホスト鍵のフィンガープリント"
|
||||
|
||||
#: tabby-core/src/tabContextMenu.ts:184
|
||||
msgid "Current process: {name}"
|
||||
@ -618,7 +618,7 @@ msgstr "デバイス"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:10
|
||||
msgid "Direct"
|
||||
msgstr "直接"
|
||||
msgstr "直接接続"
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:57
|
||||
msgid "Disable"
|
||||
@ -1039,11 +1039,11 @@ msgstr "ホスト"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:206
|
||||
msgid "Host key"
|
||||
msgstr "ホストキー"
|
||||
msgstr "ホスト鍵"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:3
|
||||
msgid "Host key verification"
|
||||
msgstr "ホストキーの検証"
|
||||
msgstr "ホスト鍵の検証"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/hotkeySettingsTab.component.html:2
|
||||
#: tabby-settings/src/settings.ts:15
|
||||
@ -1131,7 +1131,7 @@ msgstr "無効な構文"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:16
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:43
|
||||
msgid "Jump host"
|
||||
msgstr "ジャンプサーバー"
|
||||
msgstr "踏み台サーバー"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:34
|
||||
msgid "Jump to next word"
|
||||
@ -1188,7 +1188,7 @@ msgstr "言語"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:11
|
||||
msgid "Last known host key fingerprint"
|
||||
msgstr "最後に使用したホストキーのフィンガープリント"
|
||||
msgstr "最後に使われたホスト鍵のフィンガープリント"
|
||||
|
||||
#: tabby-ssh/src/tabContextMenu.ts:32
|
||||
msgid "Launch WinSCP"
|
||||
@ -1201,7 +1201,7 @@ msgstr "現在のSSHセッションでWinSCPを起動"
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:16
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshTab.component.html:7
|
||||
msgid "Learn how to allow Tabby to detect remote shell's working directory."
|
||||
msgstr "Tabbyにリモート側の作業ディレクトリを検出させる方法をご紹介します。"
|
||||
msgstr "リモート上の作業ディレクトリを自動検出する方法をご紹介します。"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:134
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:76
|
||||
@ -1227,7 +1227,7 @@ msgstr "Enterキーを押すと入力が送信されます"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:83
|
||||
msgid "Line padding"
|
||||
msgstr "行間の大きさ"
|
||||
msgstr "行間"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sftpPanel.component.html:21
|
||||
msgid "Loading"
|
||||
@ -1325,7 +1325,7 @@ msgstr "新規"
|
||||
|
||||
#: tabby-local/src/tabContextMenu.ts:53
|
||||
msgid "New admin tab"
|
||||
msgstr "新しい管理者タブ"
|
||||
msgstr "新しい管理者権限タブ"
|
||||
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:58
|
||||
msgid "New config on {platform}"
|
||||
@ -1511,11 +1511,11 @@ msgstr "リモートを上書きして同期"
|
||||
|
||||
#: tabby-settings/src/components/configSyncSettingsTab.component.ts:76
|
||||
msgid "Overwrite the config on the remote side and start syncing?"
|
||||
msgstr "リモート上の設定を上書きして同期を開始しますか?"
|
||||
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"
|
||||
@ -1535,7 +1535,7 @@ msgstr "パリティ"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/configSyncSettingsTab.component.html:64
|
||||
msgid "Partial config sync is not possible when the config is encrypted via Vault."
|
||||
msgstr "設定ファイルがVaultによって暗号化されている場合、部分的な設定の同期はできません。"
|
||||
msgstr "Vaultによって設定ファイルを暗号化した場合、設定の一部だけを同期から外すことはできません。"
|
||||
|
||||
#: tabby-terminal/src/components/inputProcessingSettings.component.ts:17
|
||||
msgid "Pass-through"
|
||||
@ -1562,11 +1562,11 @@ 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:528
|
||||
msgid "Paste multiple lines?"
|
||||
msgstr "複数行の貼り付けを実行してもよろしいですか?"
|
||||
msgstr "複数行貼り付けを実行してもよろしいですか?"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:68
|
||||
msgid "Paste on middle-click"
|
||||
@ -1960,7 +1960,7 @@ msgstr "最近使用したプロファイルをセレクターに表示しない
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:36
|
||||
msgid "Sets the SSH agent's named pipe path."
|
||||
msgstr "SSHエージェントの名前付きパイプのパスを設定"
|
||||
msgstr "SSHエージェントの名前付きパイプのパスを指定します。"
|
||||
|
||||
#: tabby-settings/src/buttonProvider.ts:28
|
||||
#: tabby-settings/src/components/settingsTab.component.ts:57
|
||||
@ -1990,7 +1990,7 @@ msgstr "{type} プロファイルセレクターを表示"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/terminalSettingsTab.component.html:117
|
||||
msgid "Show a confirmation box when pasting multiple lines"
|
||||
msgstr "複数行を貼り付ける際に確認ボックスを表示します"
|
||||
msgstr "複数行の貼り付けをする際に確認画面を表示します"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:75
|
||||
msgid "Show built-in profiles in selector"
|
||||
@ -2268,7 +2268,7 @@ msgstr "端末の識別情報"
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:7
|
||||
msgid "Thank you for downloading Tabby!"
|
||||
msgstr "Tabbyをダウンロードしていただきありがとうございます!"
|
||||
msgstr "Tabbyをダウンロードしてくださり、ありがとうございます!"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:5
|
||||
msgid "Theme"
|
||||
@ -2280,7 +2280,7 @@ msgstr "ファイル転送を使用中"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:102
|
||||
msgid "There is a saved password for this connection"
|
||||
msgstr "この接続に利用可能なパスワードが保存されています。"
|
||||
msgstr "この接続に使用するパスワードを保存しています。"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:102
|
||||
msgid "These apply to all profiles of a given type"
|
||||
@ -2397,7 +2397,7 @@ msgstr "ユーザー名"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshProfileSettings.component.html:25
|
||||
msgid "Using CONNECT method"
|
||||
msgstr "CONNECTメソッドの使用"
|
||||
msgstr "CONNECTメソッドを使用します"
|
||||
|
||||
#: tabby-ssh/src/session/ssh.ts:465
|
||||
msgid "Using preset password"
|
||||
@ -2426,11 +2426,11 @@ msgstr "Vaultが設定されていません"
|
||||
|
||||
#: tabby-core/src/services/fileProviders.service.ts:40
|
||||
msgid "Vault master passphrase needs to be set to allow storing secrets"
|
||||
msgstr "機密性の高い情報を保存するには、Vaultのマスターパスフレーズを設定する必要があります"
|
||||
msgstr "機密性の高い情報を保存するには、Vaultにマスターパスフレーズを設定する必要があります"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:11
|
||||
msgid "Verify host keys when connecting"
|
||||
msgstr "接続時にホストキーを確認"
|
||||
msgstr "接続時にホスト鍵を検証"
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:75
|
||||
msgid "Version"
|
||||
@ -2478,7 +2478,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."
|
||||
@ -2556,7 +2556,7 @@ msgstr "後から変更できますが、忘れた場合復元することはで
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:7
|
||||
msgid "You could be under a man-in-the-middle attack right now, or the host key could have just been changed."
|
||||
msgstr "現在中間者攻撃を受けているか、もしくは、ホストキーが変更された可能性があります。"
|
||||
msgstr "現在中間者攻撃を受けているか、もしくはホスト鍵が変更された可能性があります。"
|
||||
|
||||
#: tabby-terminal/src/hotkeys.ts:54
|
||||
msgid "Zoom in"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Korean\n"
|
||||
"Language: ko_KR\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Polish\n"
|
||||
"Language: pl_PL\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt_BR\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Language: pt_PT\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -39,7 +39,7 @@ msgstr "Aceitar apenas desta vez"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
msgstr ""
|
||||
msgstr "acessibilidade"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/windowSettingsTab.component.html:27
|
||||
msgid "Acrylic background"
|
||||
@ -100,12 +100,12 @@ msgstr "Permite abrir um terminal rapidamente na pasta selecionada"
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:25
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:11
|
||||
msgid "Always dark"
|
||||
msgstr ""
|
||||
msgstr "sempre escuro"
|
||||
|
||||
#: locale/tmp-html/tabby-core/src/components/welcomeTab.component.html:27
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsTab.component.html:13
|
||||
msgid "Always light"
|
||||
msgstr ""
|
||||
msgstr "Sempre luminoso"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:2
|
||||
#: tabby-terminal/src/settings.ts:14
|
||||
@ -498,7 +498,7 @@ msgstr "Formato do cursor"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/colorSchemeSettingsForMode.component.html:46
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
msgstr "Personalizado"
|
||||
|
||||
#: locale/tmp-html/tabby-terminal/src/components/appearanceSettingsTab.component.html:90
|
||||
msgid "Custom CSS"
|
||||
@ -538,7 +538,7 @@ msgstr "Perfil padrão para novas abas"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/editProfileGroupModal.component.html:16
|
||||
msgid "Default profile group settings"
|
||||
msgstr ""
|
||||
msgstr "Parâmetros do grupo de perfis por defeito"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/profilesSettingsTab.component.html:101
|
||||
msgid "Default profile settings"
|
||||
@ -736,7 +736,7 @@ msgstr "Editar"
|
||||
|
||||
#: tabby-electron/src/sftpContextMenu.ts:35
|
||||
msgid "Edit locally"
|
||||
msgstr ""
|
||||
msgstr "Editar localmente"
|
||||
|
||||
#: locale/tmp-html/tabby-plugin-manager/src/components/pluginsSettingsTab.component.html:58
|
||||
msgid "Enable"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru_RU\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Serbian (Cyrillic)\n"
|
||||
"Language: sr_SP\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: sv_SE\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
@ -35,7 +35,7 @@ msgstr "Acceptera och kom ihåg nyckel"
|
||||
|
||||
#: locale/tmp-html/tabby-ssh/src/components/hostKeyPromptModal.component.html:25
|
||||
msgid "Accept just this once"
|
||||
msgstr "Acceptera bara denna gång"
|
||||
msgstr "Acceptera bara den här gången"
|
||||
|
||||
#: locale/tmp-html/tabby-settings/src/components/settingsTab.component.html:84
|
||||
msgid "Accessibility"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Language: tr_TR\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Language: uk_UA\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: tabby\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh_TW\n"
|
||||
"PO-Revision-Date: 2024-03-11 20:11\n"
|
||||
"PO-Revision-Date: 2024-07-10 09:04\n"
|
||||
|
||||
#: tabby-local/src/components/terminalTab.component.ts:113
|
||||
msgid "\"{command}\" is still running. Close?"
|
||||
|
@ -39,7 +39,7 @@
|
||||
"cross-env": "7.0.3",
|
||||
"css-loader": "^6.7.3",
|
||||
"deep-equal": "2.0.5",
|
||||
"electron": "^27.0.4",
|
||||
"electron": "^29",
|
||||
"electron-builder": "^24.6.4",
|
||||
"electron-download": "^4.1.1",
|
||||
"electron-installer-snap": "^5.1.0",
|
||||
@ -55,7 +55,7 @@
|
||||
"lru-cache": "^6.0.0",
|
||||
"macos-release": "^3.1.0",
|
||||
"ngx-toastr": "^16.0.2",
|
||||
"node-abi": "^3.51.0",
|
||||
"node-abi": "^3.65.0",
|
||||
"npmlog": "6.0.2",
|
||||
"npx": "^10.2.2",
|
||||
"patch-package": "^6.4.7",
|
||||
|
@ -3,7 +3,7 @@ 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
|
||||
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))
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Observable, Subject } from 'rxjs'
|
||||
import { Observable, Subject, takeWhile } from 'rxjs'
|
||||
import { Component, Injectable, ViewChild, ViewContainerRef, EmbeddedViewRef, AfterViewInit, OnDestroy, Injector } from '@angular/core'
|
||||
import { BaseTabComponent, BaseTabProcess, GetRecoveryTokenOptions } from './baseTab.component'
|
||||
import { TabRecoveryProvider, RecoveryToken } from '../api/tabRecovery'
|
||||
@ -381,6 +381,9 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
|
||||
}
|
||||
}
|
||||
}, 100)
|
||||
|
||||
// Propagate visibility to new children
|
||||
this.emitVisibility(this.visibility.value)
|
||||
}
|
||||
this.initialized.next()
|
||||
this.initialized.complete()
|
||||
@ -834,20 +837,38 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit
|
||||
})
|
||||
}
|
||||
|
||||
tab.subscribeUntilDestroyed(tab.titleChange$, () => this.updateTitle())
|
||||
tab.subscribeUntilDestroyed(tab.activity$, a => a ? this.displayActivity() : this.clearActivity())
|
||||
tab.subscribeUntilDestroyed(tab.progress$, p => this.setProgress(p))
|
||||
tab.subscribeUntilDestroyed(
|
||||
this.observeUntilChildDetached(tab, tab.titleChange$),
|
||||
() => this.updateTitle(),
|
||||
)
|
||||
tab.subscribeUntilDestroyed(
|
||||
this.observeUntilChildDetached(tab, tab.activity$),
|
||||
a => a ? this.displayActivity() : this.clearActivity(),
|
||||
)
|
||||
tab.subscribeUntilDestroyed(
|
||||
this.observeUntilChildDetached(tab, tab.progress$),
|
||||
p => this.setProgress(p),
|
||||
)
|
||||
if (tab.title) {
|
||||
this.updateTitle()
|
||||
}
|
||||
tab.subscribeUntilDestroyed(tab.recoveryStateChangedHint$, () => {
|
||||
this.recoveryStateChangedHint.next()
|
||||
})
|
||||
tab.subscribeUntilDestroyed(
|
||||
this.observeUntilChildDetached(tab, tab.recoveryStateChangedHint$),
|
||||
() => {
|
||||
this.recoveryStateChangedHint.next()
|
||||
},
|
||||
)
|
||||
tab.destroyed$.subscribe(() => {
|
||||
this.removeTab(tab)
|
||||
})
|
||||
}
|
||||
|
||||
private observeUntilChildDetached<T> (tab: BaseTabComponent, event: Observable<T>): Observable<T> {
|
||||
return event.pipe(takeWhile(() => {
|
||||
return this.getAllTabs().includes(tab)
|
||||
}))
|
||||
}
|
||||
|
||||
private onAfterTabAdded (tab: BaseTabComponent) {
|
||||
setImmediate(() => {
|
||||
this.layout()
|
||||
|
@ -16,7 +16,6 @@ export class ElectronService {
|
||||
clipboard: Clipboard
|
||||
globalShortcut: GlobalShortcut
|
||||
screen: Screen
|
||||
remote = remote
|
||||
process: any
|
||||
autoUpdater: AutoUpdater
|
||||
powerSaveBlocker: PowerSaveBlocker
|
||||
@ -44,7 +43,6 @@ export class ElectronService {
|
||||
this.BrowserWindow = remote.BrowserWindow
|
||||
this.Menu = remote.Menu
|
||||
this.MenuItem = remote.MenuItem
|
||||
this.MenuItem = remote.MenuItem
|
||||
this.nativeTheme = remote.nativeTheme
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
import type { AppUpdater } from 'electron-updater'
|
||||
import { Injectable } from '@angular/core'
|
||||
import axios from 'axios'
|
||||
|
||||
@ -13,7 +12,6 @@ export class ElectronUpdaterService extends UpdaterService {
|
||||
private downloaded: Promise<boolean>
|
||||
private electronUpdaterAvailable = true
|
||||
private updateURL: string
|
||||
private autoUpdater: AppUpdater
|
||||
|
||||
constructor (
|
||||
log: LogService,
|
||||
@ -30,32 +28,28 @@ export class ElectronUpdaterService extends UpdaterService {
|
||||
return
|
||||
}
|
||||
|
||||
this.autoUpdater = electron.remote.require('electron-updater').autoUpdater
|
||||
this.autoUpdater.autoDownload = true
|
||||
this.autoUpdater.autoInstallOnAppQuit = false
|
||||
|
||||
this.autoUpdater.on('update-available', () => {
|
||||
this.electron.ipcRenderer.on('updater:update-available', () => {
|
||||
this.logger.info('Update available')
|
||||
})
|
||||
|
||||
this.autoUpdater.on('update-not-available', () => {
|
||||
this.electron.ipcRenderer.on('updater:update-not-available', () => {
|
||||
this.logger.info('No updates')
|
||||
})
|
||||
|
||||
this.autoUpdater.on('error', err => {
|
||||
this.electron.ipcRenderer.on('updater:error', err => {
|
||||
this.logger.error(err)
|
||||
this.electronUpdaterAvailable = false
|
||||
})
|
||||
|
||||
this.downloaded = new Promise<boolean>(resolve => {
|
||||
this.autoUpdater.once('update-downloaded', () => resolve(true))
|
||||
this.electron.ipcRenderer.once('updater:update-downloaded', () => resolve(true))
|
||||
})
|
||||
|
||||
config.ready$.toPromise().then(() => {
|
||||
if (config.store.enableAutomaticUpdates && this.electronUpdaterAvailable && !process.env.TABBY_DEV) {
|
||||
this.logger.debug('Checking for updates')
|
||||
try {
|
||||
this.autoUpdater.checkForUpdates()
|
||||
this.electron.ipcRenderer.send('updater:check-for-updates')
|
||||
} catch (e) {
|
||||
this.electronUpdaterAvailable = false
|
||||
this.logger.info('Electron updater unavailable, falling back', e)
|
||||
@ -82,26 +76,26 @@ export class ElectronUpdaterService extends UpdaterService {
|
||||
reject(err)
|
||||
}
|
||||
cancel = () => {
|
||||
this.autoUpdater.off('error', onError)
|
||||
this.autoUpdater.off('update-not-available', onNoUpdate)
|
||||
this.autoUpdater.off('update-available', onUpdate)
|
||||
this.electron.ipcRenderer.off('updater:error', onError)
|
||||
this.electron.ipcRenderer.off('updater:update-not-available', onNoUpdate)
|
||||
this.electron.ipcRenderer.off('updater:update-available', onUpdate)
|
||||
}
|
||||
this.autoUpdater.on('error', onError)
|
||||
this.autoUpdater.on('update-not-available', onNoUpdate)
|
||||
this.autoUpdater.on('update-available', onUpdate)
|
||||
this.electron.ipcRenderer.on('updater:error', onError)
|
||||
this.electron.ipcRenderer.on('updater:update-not-available', onNoUpdate)
|
||||
this.electron.ipcRenderer.on('updater:update-available', onUpdate)
|
||||
try {
|
||||
this.autoUpdater.checkForUpdates()
|
||||
this.electron.ipcRenderer.send('updater:check-for-updates')
|
||||
} catch (e) {
|
||||
this.electronUpdaterAvailable = false
|
||||
this.logger.info('Electron updater unavailable, falling back', e)
|
||||
}
|
||||
})
|
||||
|
||||
this.autoUpdater.on('update-available', () => {
|
||||
this.electron.ipcRenderer.on('updater:update-available', () => {
|
||||
this.logger.info('Update available')
|
||||
})
|
||||
|
||||
this.autoUpdater.once('update-not-available', () => {
|
||||
this.electron.ipcRenderer.once('updater:update-not-available', () => {
|
||||
this.logger.info('No updates')
|
||||
})
|
||||
|
||||
@ -138,7 +132,7 @@ export class ElectronUpdaterService extends UpdaterService {
|
||||
},
|
||||
)).response === 0) {
|
||||
await this.downloaded
|
||||
this.autoUpdater.quitAndInstall()
|
||||
this.electron.ipcRenderer.send('updater:quit-and-install')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,3 @@ untildify@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
|
||||
integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
|
||||
|
||||
xterm-addon-web-links@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-web-links/-/xterm-addon-web-links-0.7.0.tgz#dceac36170605f9db10a01d716bd83ee38f65c17"
|
||||
integrity sha512-6PqoqzzPwaeSq22skzbvyboDvSnYk5teUYEoKBwMYvhbkwOQkemZccjWHT5FnNA8o1aInTc4PRYAl4jjPucCKA==
|
||||
|
@ -1,7 +1,10 @@
|
||||
terminal-toolbar([tab]='this')
|
||||
i.fas.fa-xs.fa-circle.text-success.me-2(*ngIf='session && session.open')
|
||||
i.fas.fa-xs.fa-circle.text-danger.me-2(*ngIf='!session || !session.open')
|
||||
strong.me-auto {{profile.options.user}}@{{profile.options.host}}:{{profile.options.port}}
|
||||
strong.me-auto(
|
||||
style='user-select: text; cursor: text;'
|
||||
onclick='event.stopPropagation()'
|
||||
) {{profile.options.user}}@{{profile.options.host}}:{{profile.options.port}}
|
||||
|
||||
.me-2(
|
||||
ngbDropdown,
|
||||
|
@ -1,4 +1,12 @@
|
||||
import 'ssh2'
|
||||
const nodeCrypto = require('crypto')
|
||||
const browserDH = require('diffie-hellman/browser')
|
||||
nodeCrypto.createDiffieHellmanGroup = browserDH.createDiffieHellmanGroup
|
||||
nodeCrypto.createDiffieHellman = browserDH.createDiffieHellman
|
||||
|
||||
// Declare function missing from @types
|
||||
declare module 'ssh2' {
|
||||
interface Client {
|
||||
setNoDelay: (enable?: boolean) => this
|
||||
}
|
||||
}
|
||||
|
@ -9,15 +9,22 @@
|
||||
dependencies:
|
||||
ipv6 "*"
|
||||
|
||||
"@types/node@*", "@types/node@20.3.1":
|
||||
"@types/node@*":
|
||||
version "22.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.1.0.tgz#6d6adc648b5e03f0e83c78dc788c2b037d0ad94b"
|
||||
integrity sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==
|
||||
dependencies:
|
||||
undici-types "~6.13.0"
|
||||
|
||||
"@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/ssh2-streams@*":
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/@types/ssh2-streams/-/ssh2-streams-0.1.8.tgz#142af404dae059931aea7fcd1511b5478964feb6"
|
||||
integrity sha512-I7gixRPUvVIyJuCEvnmhr3KvA2dC0639kKswqD4H5b4/FOcnPtNU+qWLiXdKIqqX9twUvi5j0U1mwKE5CUsrfA==
|
||||
version "0.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/ssh2-streams/-/ssh2-streams-0.1.12.tgz#e68795ba2bf01c76b93f9c9809e1f42f0eaaec5f"
|
||||
integrity sha512-Sy8tpEmCce4Tq0oSOYdfqaBpA3hDM8SoxoFh5vzFsu2oL+znzGz8oVWW7xb4K920yYMUY+PIG31qZnFMfPWNCg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
@ -337,6 +344,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
||||
|
||||
undici-types@~6.13.0:
|
||||
version "6.13.0"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5"
|
||||
integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==
|
||||
|
||||
winston@0.8.x:
|
||||
version "0.8.3"
|
||||
resolved "https://registry.yarnpkg.com/winston/-/winston-0.8.3.tgz#64b6abf4cd01adcaefd5009393b1d8e8bec19db0"
|
||||
|
@ -399,6 +399,10 @@ export class XTermFrontend extends Frontend {
|
||||
}
|
||||
})
|
||||
|
||||
this.xtermCore.browser.isWindows = this.hostApp.platform === Platform.Windows
|
||||
this.xtermCore.browser.isLinux = this.hostApp.platform === Platform.Linux
|
||||
this.xtermCore.browser.isMac = this.hostApp.platform === Platform.macOS
|
||||
|
||||
this.xterm.options.fontFamily = getCSSFontFamily(config)
|
||||
this.xterm.options.cursorStyle = {
|
||||
beam: 'bar',
|
||||
|
55
yarn.lock
55
yarn.lock
@ -863,10 +863,12 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe"
|
||||
integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==
|
||||
|
||||
"@types/node@^18.11.18":
|
||||
version "18.17.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.12.tgz#c6bd7413a13e6ad9cfb7e97dd5c4e904c1821e50"
|
||||
integrity sha512-d6xjC9fJ/nSnfDeU0AMDsaJyb1iHsqCSOdi84w4u+SlN/UgQdY5tRhpMzaFYsI4mnpvgTivEaQd0yOUhAtOnEQ==
|
||||
"@types/node@^20.9.0":
|
||||
version "20.14.14"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.14.tgz#6b655d4a88623b0edb98300bb9dd2107225f885e"
|
||||
integrity sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
|
||||
"@types/parse5@^5":
|
||||
version "5.0.3"
|
||||
@ -2505,13 +2507,13 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
|
||||
|
||||
cpu-features@~0.0.8:
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.8.tgz#a2d464b023b8ad09004c8cdca23b33f192f63546"
|
||||
integrity sha512-BbHBvtYhUhksqTjr6bhNOjGgMnhwhGTQmOoZGD+K7BCaQDCuZl/Ve1ZxUSMRwVC4D/rkCPQ2MAIeYzrWyK7eEg==
|
||||
cpu-features@~0.0.9:
|
||||
version "0.0.10"
|
||||
resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.10.tgz#9aae536db2710c7254d7ed67cb3cbc7d29ad79c5"
|
||||
integrity sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==
|
||||
dependencies:
|
||||
buildcheck "~0.0.6"
|
||||
nan "^2.17.0"
|
||||
nan "^2.19.0"
|
||||
|
||||
crc@^3.8.0:
|
||||
version "3.8.0"
|
||||
@ -3071,13 +3073,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@^27.0.4:
|
||||
version "27.1.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-27.1.0.tgz#d759885e552d7d926526cfc433ab312796f74a9a"
|
||||
integrity sha512-XPdJiO475QJ8cx59/goWNNWnlV0vab+Ut3occymos7VDxkHV5mFrlW6tcGi+M3bW6gBfwpJocWMng8tw542vww==
|
||||
electron@^29:
|
||||
version "29.4.5"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-29.4.5.tgz#b83bbeee6fc722dbbaab30d3a6bc8e982c9ab98d"
|
||||
integrity sha512-DlEuzGbWBYl1Qr0qUYgNZdoixJg4YGHy2HC6fkRjSXSlb01UrQ5ORi8hNLzelzyYx8rNQyyE3zDUuk9EnZwYuA==
|
||||
dependencies:
|
||||
"@electron/get" "^2.0.0"
|
||||
"@types/node" "^18.11.18"
|
||||
"@types/node" "^20.9.0"
|
||||
extract-zip "^2.0.1"
|
||||
|
||||
elliptic@^6.5.3:
|
||||
@ -5983,7 +5985,7 @@ mute-stream@~0.0.4:
|
||||
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz"
|
||||
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
|
||||
|
||||
nan@2.17.0, nan@^2.17.0:
|
||||
nan@2.17.0, nan@^2.18.0, nan@^2.19.0:
|
||||
version "2.17.0"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb"
|
||||
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
|
||||
@ -6028,10 +6030,10 @@ no-case@^3.0.4:
|
||||
lower-case "^2.0.2"
|
||||
tslib "^2.0.3"
|
||||
|
||||
node-abi@^3.0.0, node-abi@^3.51.0:
|
||||
version "3.51.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.51.0.tgz#970bf595ef5a26a271307f8a4befa02823d4e87d"
|
||||
integrity sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==
|
||||
node-abi@^3.0.0, node-abi@^3.65.0:
|
||||
version "3.65.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.65.0.tgz#ca92d559388e1e9cab1680a18c1a18757cdac9d3"
|
||||
integrity sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==
|
||||
dependencies:
|
||||
semver "^7.3.5"
|
||||
|
||||
@ -8219,15 +8221,15 @@ sprintf-js@~1.0.2:
|
||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||
|
||||
ssh2@^1.14.0:
|
||||
version "1.14.0"
|
||||
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.14.0.tgz#8f68440e1b768b66942c9e4e4620b2725b3555bb"
|
||||
integrity sha512-AqzD1UCqit8tbOKoj6ztDDi1ffJZ2rV2SwlgrVVrHPkV5vWqGJOVp5pmtj18PunkPJAuKQsnInyKV+/Nb2bUnA==
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.15.0.tgz#2f998455036a7f89e0df5847efb5421748d9871b"
|
||||
integrity sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==
|
||||
dependencies:
|
||||
asn1 "^0.2.6"
|
||||
bcrypt-pbkdf "^1.0.2"
|
||||
optionalDependencies:
|
||||
cpu-features "~0.0.8"
|
||||
nan "^2.17.0"
|
||||
cpu-features "~0.0.9"
|
||||
nan "^2.18.0"
|
||||
|
||||
sshpk@^1.7.0:
|
||||
version "1.16.1"
|
||||
@ -8926,6 +8928,11 @@ unbox-primitive@^1.0.2:
|
||||
has-symbols "^1.0.3"
|
||||
which-boxed-primitive "^1.0.2"
|
||||
|
||||
undici-types@~5.26.4:
|
||||
version "5.26.5"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
|
||||
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
|
||||
|
||||
unique-filename@^1.1.0, unique-filename@~1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz"
|
||||
|
Loading…
x
Reference in New Issue
Block a user