diff --git a/tabby-core/src/components/splitTab.component.ts b/tabby-core/src/components/splitTab.component.ts index a56eb6ab..6fe3e076 100644 --- a/tabby-core/src/components/splitTab.component.ts +++ b/tabby-core/src/components/splitTab.component.ts @@ -93,13 +93,13 @@ export class SplitContainer { return s } - async serialize (): Promise { + async serialize (tabsRecovery: TabRecoveryService): Promise { const children: any[] = [] for (const child of this.children) { if (child instanceof SplitContainer) { - children.push(await child.serialize()) + children.push(await child.serialize(tabsRecovery)) } else { - children.push(await child.getRecoveryToken()) + children.push(await tabsRecovery.getFullRecoveryToken(child)) } } return { @@ -565,7 +565,7 @@ export class SplitTabComponent extends BaseTabComponent implements AfterViewInit /** @hidden */ async getRecoveryToken (): Promise { - return this.root.serialize() + return this.root.serialize(this.tabRecovery) } /** @hidden */ diff --git a/tabby-core/src/services/profiles.service.ts b/tabby-core/src/services/profiles.service.ts index fee4691b..f06ee33e 100644 --- a/tabby-core/src/services/profiles.service.ts +++ b/tabby-core/src/services/profiles.service.ts @@ -42,7 +42,7 @@ export class ProfilesService { tab.setTitle(profile.name) } if (profile.disableDynamicTitle) { - tab['enableDynamicTitle'] = false + tab['disableDynamicTitle'] = true } return tab } diff --git a/tabby-core/src/services/tabRecovery.service.ts b/tabby-core/src/services/tabRecovery.service.ts index 4dd12ea9..4f2ec154 100644 --- a/tabby-core/src/services/tabRecovery.service.ts +++ b/tabby-core/src/services/tabRecovery.service.ts @@ -37,6 +37,7 @@ export class TabRecoveryService { if (tab.color) { token.tabColor = tab.color } + token.disableDynamicTitle = tab['disableDynamicTitle'] } return token } @@ -54,6 +55,7 @@ export class TabRecoveryService { tab.inputs = tab.inputs ?? {} tab.inputs.color = token.tabColor ?? null tab.inputs.title = token.tabTitle || '' + tab.inputs.disableDynamicTitle = token.disableDynamicTitle return tab } catch (error) { this.logger.warn('Tab recovery crashed:', token, provider, error) diff --git a/tabby-ssh/src/index.ts b/tabby-ssh/src/index.ts index 9005fc72..d57ebc7c 100644 --- a/tabby-ssh/src/index.ts +++ b/tabby-ssh/src/index.ts @@ -111,4 +111,4 @@ export default class SSHModule { export * from './api' export { SFTPFile, SFTPSession } from './session/sftp' -export { SFTPPanelComponent } +export { SFTPPanelComponent, SFTPContextMenuItemProvider } diff --git a/tabby-terminal/src/api/baseTerminalTab.component.ts b/tabby-terminal/src/api/baseTerminalTab.component.ts index 4d902ea6..29dd5315 100644 --- a/tabby-terminal/src/api/baseTerminalTab.component.ts +++ b/tabby-terminal/src/api/baseTerminalTab.component.ts @@ -98,9 +98,9 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit enablePassthrough = true /** - * Enables receiving dynamic window/tab title provided by the shell + * Disables display of dynamic window/tab title provided by the shell */ - enableDynamicTitle = true + disableDynamicTitle = false alternateScreenActive = false @@ -586,7 +586,7 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit } this.termContainerSubscriptions.subscribe(this.frontend.title$, title => this.zone.run(() => { - if (this.enableDynamicTitle) { + if (!this.disableDynamicTitle) { this.setTitle(title) } }))