Auto-scrolling stops working after a while when using panes #17818

Closed
opened 2026-01-31 05:55:18 +00:00 by claunia · 2 comments
Owner

Originally created by @2-5 on GitHub (Jun 27, 2022).

When running scripts in multiple panes, after a while some of the panes stop auto-scrolling. Using the mouse wheel to scroll the stuck ones to the bottom temporarily fixes the problem, but after a while the auto-scrolling stops working again. Clicking into the stuck pane (focusing it) also sometimes fixes the issue.

I can reproduce with default settings (deleted settings.json)

Windows Terminal 1.13.11431.0
Windows x64 10.0.19044.1766

I encountered the issue running Python scripts with cmd /c python.exe script.py. The scripts output one line each 10 seconds, so it can be reproduced with very low output rate, but it will take tens of minutes.

The following PowerShell test cases with high output rate reproduce the issue much more quickly. The more panes, the quicker the auto-scrolling stops for some panes.

16 panes test case (most reliable reproduce):

wt pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf left; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf left; mf left; mf left; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"

4 panes test case:

wt pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; mf left; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; mf right; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"

2 panes test case (not very reliable reproduce):

wt pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"

Originally created by @2-5 on GitHub (Jun 27, 2022). When running scripts in multiple panes, after a while some of the panes stop auto-scrolling. Using the mouse wheel to scroll the stuck ones to the bottom temporarily fixes the problem, but after a while the auto-scrolling stops working again. Clicking into the stuck pane (focusing it) also sometimes fixes the issue. I can reproduce with default settings (deleted settings.json) Windows Terminal 1.13.11431.0 Windows x64 10.0.19044.1766 I encountered the issue running Python scripts with `cmd /c python.exe script.py`. The scripts output one line each 10 seconds, so it can be reproduced with very low output rate, but it will take tens of minutes. The following PowerShell test cases with high output rate reproduce the issue much more quickly. The more panes, the quicker the auto-scrolling stops for some panes. 16 panes test case (most reliable reproduce): wt pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf left; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf left; mf left; mf left; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf right; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf up; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }"; mf down; sp -H pwsh -c "while ($true) { Get-Date && Start-Sleep 0.2 }" 4 panes test case: wt pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; mf left; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; mf right; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }" 2 panes test case (not very reliable reproduce): wt pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"; sp -V pwsh -c "while ($true) { Get-Date && Start-Sleep 0.1 }"
claunia added the Needs-TriageNeeds-Tag-Fix labels 2026-01-31 05:55:18 +00:00
Author
Owner

@2-5 commented on GitHub (Jul 29, 2022):

Works correctly in 1.14

@2-5 commented on GitHub (Jul 29, 2022): Works correctly in 1.14
Author
Owner

@DHowett commented on GitHub (Jul 29, 2022):

Thanks for the confirmation! Sorry we let this one linger for a while.

@DHowett commented on GitHub (Jul 29, 2022): Thanks for the confirmation! Sorry we let this one linger for a while.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#17818