1
0
mirror of https://github.com/Eugeny/tabby.git synced 2025-07-31 22:46:58 +00:00

make comspec setting optional - fixes

This commit is contained in:
Eugene Pankov
2021-07-06 19:03:34 +02:00
parent 41a53a3e8e
commit d3498a6a46
4 changed files with 18 additions and 1 deletions
tabby-core/src/services
tabby-local/src
tabby-terminal/src/components

@@ -263,6 +263,7 @@ export class ConfigService {
config.version = 1 config.version = 1
} }
if (config.version < 2) { if (config.version < 2) {
config.profiles ??= []
if (config.terminal?.recoverTabs !== undefined) { if (config.terminal?.recoverTabs !== undefined) {
config.recoverTabs = config.terminal.recoverTabs config.recoverTabs = config.terminal.recoverTabs
delete config.terminal.recoverTabs delete config.terminal.recoverTabs

@@ -15,6 +15,7 @@ export class TerminalConfigProvider extends ConfigProvider {
showBuiltinProfiles: true, showBuiltinProfiles: true,
environment: {}, environment: {},
profiles: [], profiles: [],
setComSpec: false,
}, },
} }

@@ -122,7 +122,13 @@ export class Session extends BaseSession {
...this.config.store.terminal.environment || {}, ...this.config.store.terminal.environment || {},
} }
if (this.hostApp.platform === Platform.Windows) { if (this.hostApp.platform === Platform.Windows && this.config.store.terminal.setComSpec) {
for (const k of Object.keys(env)) {
if (k.toUpperCase() === 'COMSPEC') {
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete env[k]
}
}
env.COMSPEC = this.bootstrapData.executable env.COMSPEC = this.bootstrapData.executable
} }

@@ -158,3 +158,12 @@ h3.mb-3 Terminal
[(ngModel)]='config.store.terminal.warnOnMultilinePaste', [(ngModel)]='config.store.terminal.warnOnMultilinePaste',
(ngModelChange)='config.save()', (ngModelChange)='config.save()',
) )
.form-line(*ngIf='hostApp.platform === Platform.Windows')
.header
.title Set Tabby as %COMSPEC%
.description Allows opening .bat files in tabs, but breaks some shells
toggle(
[(ngModel)]='config.store.terminal.setComSpec',
(ngModelChange)='config.save()',
)