[discussion] Disable/pause automatic scroll down #10293

Closed
opened 2026-01-31 02:17:31 +00:00 by claunia · 3 comments
Owner

Originally created by @vadimkantorov on GitHub (Aug 26, 2020).

A usecase: a long-running build process that prints occasionally noteworthy things to terminal. I scroll up and want to read them or copy them. However when new output from build appears on screen, the terminal automatically scrolls down (even if I'm still dragging scrollbar by mouse).

In this usecase we would like to disable automatic scroll down and let the user inspect the previous output. Some options to support this usecase: disable this altogether (the user should scroll down themselves to resume auto-scroll-down); provide some keyboard/UI shortcut to enable this.

I think Gnome Terminal doesn't do this, but I don't remember for sure.

Originally created by @vadimkantorov on GitHub (Aug 26, 2020). A usecase: a long-running build process that prints occasionally noteworthy things to terminal. I scroll up and want to read them or copy them. However when new output from build appears on screen, the terminal automatically scrolls down (even if I'm still dragging scrollbar by mouse). In this usecase we would like to disable automatic scroll down and let the user inspect the previous output. Some options to support this usecase: disable this altogether (the user should scroll down themselves to resume auto-scroll-down); provide some keyboard/UI shortcut to enable this. I think Gnome Terminal doesn't do this, but I don't remember for sure.
claunia added the Issue-QuestionNeeds-TriageNeeds-Tag-FixResolution-Answered labels 2026-01-31 02:17:31 +00:00
Author
Owner

@DHowett commented on GitHub (Aug 26, 2020):

Thanks! So, there’s a couple issues at play here.

We recently (1.2) implemented scroll locking when you are scrolled up or have an active selection. That part is automatic and unconfigurable. Scrolling will snap back when you press Print Screen a key that sends input (😉).

We had (fixed in #7247) a bug where we would let the buffer roll underneath the locked scroll region. The fix is about to come out with 1.2.2381.0.

We also have a critical lack of support for infinite scrollback, so you have between 9001 and 32k lines, depending on how you configured Terminal, to print out before the locked scroll region will age out. I can’t pull that issue up in quicksearch on my phone.

With those two things noted, do we need further discussion? 😄

@DHowett commented on GitHub (Aug 26, 2020): Thanks! So, there’s a couple issues at play here. We recently (1.2) implemented scroll locking when you are scrolled up or have an active selection. That part is automatic and unconfigurable. Scrolling will snap back when you press ~Print Screen~ a key that sends input (😉). We had (fixed in #7247) a bug where we would let the buffer roll underneath the locked scroll region. The fix is about to come out with 1.2.2381.0. We also have a critical lack of support for infinite scrollback, so you have between 9001 and 32k lines, depending on how you configured Terminal, to print out before the locked scroll region will age out. I can’t pull that issue up in quicksearch on my phone. With those two things noted, do we need further discussion? 😄
Author
Owner

@vadimkantorov commented on GitHub (Aug 26, 2020):

No, I think we're good :) It would be fantastic to have this scenario to added on your functional testing usecase list or something like that :)

One minor detail is that it can be hard to re-enable back auto-scrolling when the scrollbar became small enough or new text appears fast - so some slack/docking there would be good

@vadimkantorov commented on GitHub (Aug 26, 2020): No, I think we're good :) It would be fantastic to have this scenario to added on your functional testing usecase list or something like that :) One minor detail is that it can be hard to re-enable back auto-scrolling when the scrollbar became small enough or new text appears fast - so some slack/docking there would be good
Author
Owner

@zadjii-msft commented on GitHub (Aug 26, 2020):

Oh don't worry, we've already got the test covered.

Thanks for following up!

@zadjii-msft commented on GitHub (Aug 26, 2020): Oh don't worry, we've already [got the test covered](https://github.com/microsoft/terminal/blob/master/src/cascadia/UnitTests_TerminalCore/TerminalBufferTests.cpp#L155). Thanks for following up!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#10293