diff --git a/platform/execution-impl/src/com/intellij/terminal/TerminalTitle.kt b/platform/execution-impl/src/com/intellij/terminal/TerminalTitle.kt index 981d169ede7e..c9231f7fd380 100644 --- a/platform/execution-impl/src/com/intellij/terminal/TerminalTitle.kt +++ b/platform/execution-impl/src/com/intellij/terminal/TerminalTitle.kt @@ -63,6 +63,10 @@ class TerminalTitle { return if (tag != null) "$title ($tag)" else title } + fun buildFullTitle(): @Nls String { + return userDefinedTitle ?: applicationTitle ?: defaultTitle ?: ExecutionBundle.message("terminal.default.title") + } + private fun shortenApplicationTitle(): String? { return StringUtil.trimMiddle(applicationTitle ?: return null, 30) } diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/action/RenameTerminalSessionAction.kt b/plugins/terminal/src/org/jetbrains/plugins/terminal/action/RenameTerminalSessionAction.kt index 455de23efa11..e6e06810c30e 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/action/RenameTerminalSessionAction.kt +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/action/RenameTerminalSessionAction.kt @@ -14,13 +14,13 @@ class RenameTerminalSessionAction : ToolWindowTabRenameActionBase( TerminalToolWindowFactory.TOOL_WINDOW_ID, TerminalBundle.message("action.RenameSession.newSessionName.label") ), DumbAware { - override fun getContentDisplayNameToEdit(content: Content, project: Project): String = - TerminalToolWindowManager.getWidgetByContent(content)?.terminalTitle?.let { - it.userDefinedTitle ?: it.applicationTitle ?: it.defaultTitle - } ?: content.displayName + override fun getContentDisplayNameToEdit(content: Content, project: Project): String { + val widget = TerminalToolWindowManager.findWidgetByContent(content) ?: return content.displayName + return widget.terminalTitle.buildFullTitle() + } override fun applyContentDisplayName(content: Content, project: Project, @Nls newContentName: String) { - TerminalToolWindowManager.getWidgetByContent(content)?.terminalTitle?.change { + TerminalToolWindowManager.findWidgetByContent(content)?.terminalTitle?.change { userDefinedTitle = newContentName } }