docs(shell): name custom arguments as a reason integration never engaged

A pane that never armed shell integration blamed a PTY wrapper or an unsupported shell setup. Since #629 a zsh or fish the user gave arguments to is deliberately left alone, so the notice now names that first — it is the one cause the user can undo. All three locales.

The release notes gained the matching entry: the change turns integration off for an existing config that sets `shell` or a `custom_shells` entry with `args`, which is worth stating outright.
This commit is contained in:
l0ng-ai
2026-08-14 16:05:43 +08:00
parent 84a424006e
commit cc20d0e9d9
4 changed files with 18 additions and 4 deletions
+12
View File
@@ -48,6 +48,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- **A zsh or fish you gave your own arguments to is no longer injected into.**
Custom arguments have always been the line where tty7 backs off — the bash,
PowerShell and WSL setups checked for them — but the zsh and fish setups did
not, so a `fish` started with your flags had `-C <script>` appended to them
and a `zsh` had its `ZDOTDIR` swapped out from under its startup files. Both
now behave like the rest. **This turns shell integration off for a config
that sets `shell` or a `custom_shells` entry with `args`** — including the
`{"program": "fish", "args": ["-l"]}` the reference page used to print as an
example — so prompt marks, working directory reporting, command-finished
notifications, inline completion, <kbd>⌃ R</kbd> and per-pane history stop in
those panes. Drop the arguments to get them back, and the notice a pane
raises when integration never engaged now names this as a cause (#624, #629).
- **An SSH pane is named after its host.** A fresh SSH tab reads the host's
name, or its address when the host has none — every host imported from
`~/.ssh/config` arrives nameless, and a window full of them all read `tty7`
+2 -2
View File
@@ -1652,8 +1652,8 @@ pub fn translate_en(key: L10nKey) -> &'static str {
}
L10nKey::IntegrationNoticeNotEngaged => {
"tty7 shell integration hasn't engaged in this pane, so inline completion and the \
Ctrl+R menu are unavailable. A PTY wrapper (figterm-style) or an unsupported shell \
setup can cause this."
Ctrl+R menu are unavailable. A shell you started with your own arguments, a PTY \
wrapper (figterm-style), or an unsupported shell setup can cause this."
}
L10nKey::PaneTitleDisconnected => "{title} — disconnected",
L10nKey::PaneTitleProcessExited => "{title} — process exited",
+2 -1
View File
@@ -1700,7 +1700,8 @@ pub fn translate_ja(key: L10nKey) -> Option<&'static str> {
}
L10nKey::IntegrationNoticeNotEngaged => {
"このペインでは tty7 シェル統合が有効になっていないため、インライン補完と Ctrl+R \
メニューは利用できません。PTY ラッパー(figterm 系)や未対応のシェル設定が原因の可能性があります。"
メニューは利用できません。独自の引数で起動したシェル、PTY ラッパー(figterm 系)\
未対応のシェル設定が原因の可能性があります。"
}
L10nKey::PaneTitleDisconnected => "{title} — 切断されました",
L10nKey::PaneTitleProcessExited => "{title} — プロセスが終了しました",
+2 -1
View File
@@ -1549,7 +1549,8 @@ pub fn translate_zh(key: L10nKey) -> Option<&'static str> {
}
L10nKey::IntegrationNoticeNotEngaged => {
"此窗格中的 tty7 shell 集成尚未生效,内联补全和 Ctrl+R 菜单不可用。\
PTY figterm shell "
shellPTY figterm shell \
"
}
L10nKey::PaneTitleDisconnected => "{title} — 已断开",
L10nKey::PaneTitleProcessExited => "{title} — 进程已退出",