Skip to content

Feature Request: Pause output or scrolling on click (and make it a setting) #980

Closed

Description

See also #408

Activity

  1. added
    Help WantedWe encourage anyone to jump in on these.
    Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)
    Area-SettingsIssues related to settings and customizability, for console or terminal
    Issue-TaskIt's a feature request, but it doesn't really need a major design.
    on May 24, 2019
  2. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on May 24, 2019
  3. DHowett-MSFT commented on May 24, 2019

    @DHowett-MSFT
    Contributor

    This will first require us to implement "pause output on click" ;)

  4. zadjii-msft commented on May 24, 2019

    @zadjii-msft
    MemberAuthor

    Oh man I thought we already did that by default. 🥚 🤕

  5. binarycrusader commented on May 24, 2019

    @binarycrusader
    Member

    Only downside is that this interferes with copy/paste. I wonder if the real ask here is not so much to disable pausing output as it is to disable scrolling while the user is attempting to copy/paste.

    Personally, that's my biggest gripe about windbg and other tools is that I want execution to continue on, I just want to be able to select text to copy out while it's still busy executing and to not automatically scroll the window while I'm doing that.

    My recollection is that a typical *NIX terminal works that way (or can anyway).

  6. added
    Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.
    and removed
    Issue-TaskIt's a feature request, but it doesn't really need a major design.
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on May 28, 2019
  7. DHowett-MSFT commented on May 28, 2019

    @DHowett-MSFT
    Contributor

    Marking as Issue-Feature -- we need to figure out how to work out pausing scrolling with or without infinite scrollback; since we can't figure that out in the four minutes during triage, this beggars further discussion.

  8. changed the title [-]Feature Request: Add a setting to disable pausing output on click[/-] [+]Feature Request: Add a setting to disable pausing output or scrolling on click[/+] on May 28, 2019
  9. 28 remaining items

  10. frankseide commented on Mar 31, 2020

    @frankseide
  11. DHowett-MSFT commented on Mar 31, 2020

    @DHowett-MSFT
    Contributor

    Frank Seide (@frankseide) Just to be clear, are you referring to the scrollback thumb staying in place and getting smaller, or the terminal completely pausing and ignoring output from applications (and deadlocking those applications until the user stops selecting)? Because when you say basics, we are going to need to get absolutely crystal clear about what you consider "basics".

  12. DHowett-MSFT commented on Mar 31, 2020

    @DHowett-MSFT
    Contributor

    Just to add an additional point of clarification: "rewritten" is not the correct term here. The Terminal's text buffer implementation is shared with conhost, which doesn't support infinite scrollback or scrollback position locking when the buffer gets too long and items have to be pushed out of it... so there's nothing that was lost, or needs to be rediscovered, in our transition to Terminal.

  13. tovine commented on Apr 1, 2020

    @tovine

    There's nothing wrong with the terminal being scrolled a bit down when you've reached the top of the scrollback buffer and new output is produced (that's understandable, you don't have infinite buffer), even gnome terminal does this. 😄

    Although if you're able to adopt the same behavior as gnome terminal (and other similar ones), while avoiding the output being scrolled away when you're at the scrollback top (by pausing output if the buffer is full and you're at the top; as long as it's optional), that might actually be an opportunity for you to become the leading terminal implementation... 😮

  14. ghost added
    In-PRThis issue has a related PR
    on May 21, 2020
  15. kived commented on May 28, 2020

    @kived

    I would just like it if Terminal worked the same as virtually all other terminal applications - if I scroll up, programs continue running but my scroll position is fixed to the output I'm looking at. It's almost not even worth having a scroll bar when the text continues moving after you scroll up.

  16. frankseide commented on May 28, 2020

    @frankseide

    Another example of this is are the built-in output panes in Visual Studio. When at the end, they keep scrolling. When the last line is not visible, they stay put, so that I can read what's there.

  17. ghost added a commit that references this issue on Jul 7, 2020
  18. ghost closed this as completedin #6062on Jul 9, 2020
  19. ghost removed
    In-PRThis issue has a related PR
    on Jul 9, 2020
  20. ghost added a commit that references this issue on Jul 9, 2020
    9e26c02
  21. ghost added
    Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.
    on Jul 9, 2020
  22. garyo commented on Jul 26, 2020

    @garyo

    Sadly, this does not actually seem to be completely fixed.

    What is fixed is that the terminal window doesn't scroll to the bottom on new output -- that's great.
    But what's still broken is that if you're looking at some text back a few hundred lines, and then some output comes out (from your long-running build, say), the terminal still scrolls forward (upward) as you're trying to read.
    It should stay "where it is", i.e. the same screen of text should remain visible, when you're not at the end, even when more output comes out. (Unless of course it can't, because the text you're trying to read is no longer in the scrollback buffer.)
    What it appears to do is stay N lines up from the end. What it should do (IMHO) is stay M lines down from the top.

    Tested with 1.2.2022.0 by running a long-running build, and scrolling back while it's building. You can use while true; do echo hi there; sleep 1; done to repro in a Linux shell.

  23. iamahumanbeing commented on Aug 1, 2020

    @iamahumanbeing

    It is actually more subtle than what is described in #980 (comment)

    The behavior is correct when the total number of lines output so far is less than historySize (default is 9001)

    However, once more than historySize lines has been written to the terminal, then if you try to scroll back (even if it is just a few lines) then new output lines will cause terminal to continue to scroll. I think the more reasonable expected behavior should be that terminal should continue to pause scrolling and history can be truncated as needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Area-SettingsIssues related to settings and customizability, for console or terminalArea-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions