diff --git a/.all-contributorsrc b/.all-contributorsrc index 6a0e9f9a..97c51061 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1292,6 +1292,15 @@ "contributions": [ "code" ] + }, + { + "login": "C41M50N", + "name": "Charles Buffington", + "avatar_url": "https://avatars.githubusercontent.com/u/29805363?v=4", + "profile": "https://cbuff.dev", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/HACKING.md b/HACKING.md index 2382cdd2..730bd204 100644 --- a/HACKING.md +++ b/HACKING.md @@ -23,6 +23,8 @@ sudo apt install libfontconfig-dev libsecret-1-dev libarchive-tools libnss3 liba yarn ``` +_⚠️Note: If you forked this repository, you may need to pull down the tags from this repository before installing node modules. `git pull --tags upstream master`_ + Build Tabby: ``` diff --git a/README.de-DE.md b/README.de-DE.md index 05c5a1f8..e07fd082 100644 --- a/README.de-DE.md +++ b/README.de-DE.md @@ -338,6 +338,7 @@ Dank geht an diese wunderbaren Menschen ([emoji key](https://allcontributors.org Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.es-ES.md b/README.es-ES.md index f9109b4b..6b7ceb13 100644 --- a/README.es-ES.md +++ b/README.es-ES.md @@ -340,6 +340,7 @@ Gracias a estas maravillosas personas ([emoji key](https://allcontributors.org/d Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.id-ID.md b/README.id-ID.md index 74b35780..33f1b274 100644 --- a/README.id-ID.md +++ b/README.id-ID.md @@ -337,6 +337,7 @@ Terima kasih kepada mereka yang telah membantu ([emoji key](https://allcontribut Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.it-IT.md b/README.it-IT.md index 3f4a19db..38c22aa2 100644 --- a/README.it-IT.md +++ b/README.it-IT.md @@ -333,6 +333,7 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.ja-JP.md b/README.ja-JP.md index ea38bd11..9bf11428 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -348,6 +348,7 @@ Windows上では、`Tabby.exe`がある場所と同じ場所に`data`フォル Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.ko-KR.md b/README.ko-KR.md index b85f1f0b..74379bde 100644 --- a/README.ko-KR.md +++ b/README.ko-KR.md @@ -332,6 +332,7 @@ Pull requests and plugins are welcome! Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.md b/README.md index f7e629d6..848c4e29 100644 --- a/README.md +++ b/README.md @@ -354,6 +354,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.pt-BR.md b/README.pt-BR.md index e8309297..6811f251 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -341,6 +341,7 @@ Obrigado vai para essas pessoas maravilhosas ([emoji key](https://allcontributor Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.ru-RU.md b/README.ru-RU.md index 9d41b502..02f7ee42 100644 --- a/README.ru-RU.md +++ b/README.ru-RU.md @@ -29,7 +29,7 @@ [**Tabby**](https://tabby.sh) (ранее **Terminus**) — широко конфигурируемый эмулятор терминала, SSH- и COM-клиент для Windows, macOS и Linux: * Встроенный SSH- и Telnet-клиент и менеджер подключений; -* Встроенный последовтаельный терминал; +* Встроенный последовательный терминал; * Темы и цветовые схемы; * Полностью настраеваемые сочетания клавиш; * Панели; @@ -39,7 +39,7 @@ * Полная поддержка Unicode, включая символы двойной ширины; * Не задыхается при быстром выводе; * Полноценный опыт работы с shell на Windows, включая дополнение слов и команд по Tab (при помощи Clink); -* Втроенное защищённое хранилище для SSH-ключей и настроек; +* Встроенное защищённое хранилище для SSH-ключей и настроек; * SSH-, SFTP- и Telnet-клиент доступен как [веб-приложение](https://tabby.sh/app) (также для [самостоятелньного хостинга](https://github.com/Eugeny/tabby-web)). # Содержание @@ -71,7 +71,7 @@ * Деление окна на несколько панелей; * Вкладки на любой стороне окна; * Опционально закрепляемое окно с глобальной горячей клавишей для вызова («Quake console»); -* Определение прогресса процесса; +* Определение прогресса выполняемого процесса; * Уведомления о завершении процессов; * Защита от выполнения команд при вставке, предупреждения о вставке нескольких строк; * Лигатуры шрифтов; @@ -94,7 +94,7 @@ * Сохранение соединений; * Поддержка ввода readline; -* Опциональый побатный ввод HEX и вывод hexdump; +* Опциональный побатный ввод HEX и вывод hexdump; * Преобразование newline; * Автоматическое восстановление соединения. @@ -115,9 +115,9 @@ * [save-output](https://github.com/Eugeny/tabby-save-output) — запись вывода терминала в файл; * [sync-config](https://github.com/starxg/terminus-sync-config) — синхронизация конфига в Gist или Gitee; * [clippy](https://github.com/Eugeny/tabby-clippy) — плагин-пример, который постоянно будет вас бесить; -* [workspace-manager](https://github.com/composer404/tabby-workspace-manager) — позволяет создавать пользовательские провили рабочего окружеиня на основе конфига; +* [workspace-manager](https://github.com/composer404/tabby-workspace-manager) — позволяет создавать пользовательские профили рабочего окружения на основе конфига; * [search-in-browser](https://github.com/composer404/tabby-search-in-browser) — открывает браузер по умолчанию с текстом, выделенном во вкладке Tabby. -* [sftp-tab](https://github.com/wljince007/tabby-sftp-tab) - open sftp tab for ssh connection like SecureCRT +* [sftp-tab](https://github.com/wljince007/tabby-sftp-tab) - открывает sftp вкладку для ssh соединения, похож на SecureCRT # Темы @@ -333,6 +333,7 @@ Pull-запросы и плагины приветствуются! Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/README.zh-CN.md b/README.zh-CN.md index fed1beca..55789378 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -332,6 +332,7 @@ Mxmilu
Mxmilu

💻 + Charles Buffington
Charles Buffington

💻 diff --git a/app/lib/app.ts b/app/lib/app.ts index a6c8f682..8a1406bf 100644 --- a/app/lib/app.ts +++ b/app/lib/app.ts @@ -183,9 +183,10 @@ export class Application { } enableTray (): void { - if (!!this.tray || process.platform === 'linux') { + if (!!this.tray || process.platform === 'linux' || (this.configStore.hideTray ?? false) === true) { return } + if (process.platform === 'darwin') { this.tray = new Tray(`${app.getAppPath()}/assets/tray-darwinTemplate.png`) this.tray.setPressedImage(`${app.getAppPath()}/assets/tray-darwinHighlightTemplate.png`) diff --git a/build/linux/after-install.tpl b/build/linux/after-install.tpl index b0eb562e..596fd34b 100644 --- a/build/linux/after-install.tpl +++ b/build/linux/after-install.tpl @@ -1,7 +1,7 @@ #!/bin/bash cat > '/usr/bin/${executable}' << END #!/bin/sh -'/opt/${productFilename}/${executable}' --no-sandbox $@ +'/opt/${productFilename}/${executable}' --no-sandbox \$@ END chmod +x '/usr/bin/${executable}' diff --git a/locale/en-GB.po b/locale/en-GB.po index 0435d80f..724d623e 100644 --- a/locale/en-GB.po +++ b/locale/en-GB.po @@ -2036,6 +2036,10 @@ 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 "" @@ -2044,6 +2048,10 @@ 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 "" diff --git a/tabby-core/src/configDefaults.yaml b/tabby-core/src/configDefaults.yaml index 6c1fc36a..096fa942 100644 --- a/tabby-core/src/configDefaults.yaml +++ b/tabby-core/src/configDefaults.yaml @@ -43,6 +43,7 @@ enableWelcomeTab: true electronFlags: - ['force_discrete_gpu', '0'] enableAutomaticUpdates: true +hideTray: false version: 1 vault: null encrypted: false diff --git a/tabby-settings/src/components/windowSettingsTab.component.pug b/tabby-settings/src/components/windowSettingsTab.component.pug index a7b4d705..6ab08ca7 100644 --- a/tabby-settings/src/components/windowSettingsTab.component.pug +++ b/tabby-settings/src/components/windowSettingsTab.component.pug @@ -121,6 +121,15 @@ h3.mb-3(translate) Window label.btn.btn-secondary(for='frameFull') span(translate) Full +.form-line(*ngIf='hostApp.platform !== Platform.Web && hostApp.platform !== Platform.Linux') + .header + .title(translate) Hide tray + .description(translate) Hide Tabby in tray or menu bar. + toggle( + [(ngModel)]='config.store.hideTray', + (ngModelChange)='saveConfiguration(true)' + ) + h3.mt-4(translate) Docking .form-line(*ngIf='docking') diff --git a/tabby-settings/src/services/configSync.service.ts b/tabby-settings/src/services/configSync.service.ts index fdd5efec..4fc32e51 100644 --- a/tabby-settings/src/services/configSync.service.ts +++ b/tabby-settings/src/services/configSync.service.ts @@ -184,13 +184,17 @@ export class ConfigSyncService { private async autoSync () { while (true) { - if (this.isEnabled() && this.config.store.configSync.auto) { - const cfg = await this.getConfig(this.config.store.configSync.configID) - if (new Date(cfg.modified_at) > this.lastRemoteChange) { - this.logger.info('Remote config changed, downloading') - this.download() - this.lastRemoteChange = new Date(cfg.modified_at) + try { + if (this.isEnabled() && this.config.store.configSync.auto) { + const cfg = await this.getConfig(this.config.store.configSync.configID) + if (new Date(cfg.modified_at) > this.lastRemoteChange) { + this.logger.info('Remote config changed, downloading') + this.download() + this.lastRemoteChange = new Date(cfg.modified_at) + } } + } catch (error) { + this.logger.debug('Recovering from autoSync network error') } await new Promise(resolve => setTimeout(resolve, 60000)) }