Open ninjarogue opened 1 year ago
It looks like the titles are set to very long strings with a lot of space padding, and I think that is confusing the layout calculation.
Please capture a terminal recording:
wezterm record
to start a recording session.exit
*** Finished recording to /var/tmp/wezterm-recording-sF6B3u.cast.txt
The file is an asciicast (compatible with https://asciinema.org/) and can also be replayed using wezterm replay
.
The terminal recording allows me to replicate what is being sent to the terminal without requiring me to install the same applications as you and replicate your configuration for everything.
@wez Okay, I followed your instructions and the results should be attached to this message. wezterm-recording-a9vnOY.cast.txt
What's happening here is that the very long text is clustered into 2 clusters because of an optimization used in the main terminal display where it is cheaper (more cacheable) for a line like "hello<trailing whitespace>"
to be shaped as "hello "
and "<trailing whitespace>"
. In your scenario, we get "[Scratch] "
and "<many spaces> 27/41 - nvim"
.
When two or more clusters are rendered in the context of the fancy tab renderer, the rendering logic doesn't know to account for the already printed width of the first cluster before printing the second, which causes it to overflow the tab bounds.
I'll need to think about how to resolve this.
What Operating System(s) are you seeing this problem on?
macOS
Which Wayland compositor or X11 Window manager(s) are you using?
No response
WezTerm version
wezterm 20220927-071112-9be05951
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
Yes, and I updated the version box above to show the version of the nightly that I tried
Describe the bug
The titles show the absolute path to the cwd or file. The text overlap each other if the path is too long.
To Reproduce
Just navigate to a directory with a long absolute path and check the title of the tab. You will need to open at least 2 or 3 tabs to reproduce this issue.
Configuration
Expected Behavior
The text should not overlap and should show the entire path or just the file/directory name.
Logs
13:49:24.934 WARN env_bootstrap > setlocale(en_TW.UTF-8) failed, fall back to en_US.UTF-8 13:49:24.940 WARN wezterm_dynamic::error >
preset
is not a valid Config field. There are too many alternatives to list here; consult the documentation! 13:49:24.989 WARN wezterm_dynamic::error >preset
is not a valid Config field. There are too many alternatives to list here; consult the documentation! 14:08:04.025 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "deleteToEndOfParagraph:" 14:09:58.498 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "deleteToEndOfParagraph:" 14:09:59.625 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "deleteToEndOfParagraph:" 14:10:22.906 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:23.105 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:51.938 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.189 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.221 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.255 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.289 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.323 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.357 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.391 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:10:52.425 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:11:26.306 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:11:26.514 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:11:26.714 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:11:26.906 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:11:27.106 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:12:21.643 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:12:21.857 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:12:22.258 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:12:22.425 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.147 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.399 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.438 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.471 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.504 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.537 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.570 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.604 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.637 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.671 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.704 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:30.883 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.134 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.173 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.204 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.238 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.269 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.304 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.338 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.372 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.405 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:31.439 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:56.868 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:57.211 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:58.155 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:59.708 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:59.959 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:13:59.993 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.026 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.061 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.095 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.128 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.162 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.196 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:00.229 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:05.924 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:06.188 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:06.436 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:06.756 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:06.996 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:07.246 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:07.285 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:07.312 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:07.349 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:14:07.383 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:16:20.094 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:16:20.717 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:16:20.908 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:16:21.108 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:18:51.863 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:20:33.031 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.500 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.750 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.790 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.822 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.856 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.888 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.923 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.955 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:12.989 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:14.851 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:15.379 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:17.483 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:47.900 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:48.091 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:48.275 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:48.483 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:48.667 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:25:48.859 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:01.645 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:01.924 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:02.116 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:02.308 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:04.572 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:04.748 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:04.999 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.040 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.071 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.104 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.139 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.172 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.206 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.372 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.623 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.661 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.692 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:27:05.725 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:32:49.590 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "centerSelectionInVisibleArea:" 14:34:32.026 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:34:32.256 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:" 14:34:33.209 WARN window::os::macos::window > UNHANDLED: IME: do_command_by_selector: "yank:"Anything else?