exceeding historySize variable set in profiles.json stops scrolling from happening #5780

Closed
opened 2026-01-31 00:21:25 +00:00 by claunia · 13 comments
Owner

Originally created by @LawrenceWarren on GitHub (Jan 6, 2020).

Environment

Windows build number: [10.0.18362.0]
Windows Terminal version (if applicable): the most recent (I don't know how to find out, and have you tried googling "how to find out Windows Terminal Version?")

Any other software?
WSL Ubuntu, Git Bash

Steps to reproduce

  1. Set the historySize variable in profiles to JSON to a low number, for example 10.
  2. Run a program which prints enough lines to fill your console on screen, and fill the off screen history (set by historySize)
  3. Try scrolling up.

Expected behavior

You expect to be able to scroll up from the bottom of the terminal, for historySize length of lines.

Actual behavior

You can longer scroll up in the terminal at all - this is true if you set the history size to a larger value and print enough lines to fill the the history up.
I have tested on both WSL Ubuntu and Git Bash for Windows.

Originally created by @LawrenceWarren on GitHub (Jan 6, 2020). # Environment Windows build number: [10.0.18362.0] Windows Terminal version (if applicable): the most recent (I don't know how to find out, and have you tried googling "how to find out Windows Terminal Version?") Any other software? WSL Ubuntu, Git Bash # Steps to reproduce 1. Set the `historySize` variable in profiles to JSON to a low number, for example 10. 2. Run a program which prints enough lines to fill your console on screen, and fill the off screen history (set by `historySize`) 3. Try scrolling up. # Expected behavior You expect to be able to scroll up from the bottom of the terminal, for `historySize` length of lines. # Actual behavior You can longer scroll up in the terminal at all - this is true if you set the history size to a larger value and print enough lines to fill the the history up. I have tested on both WSL Ubuntu and Git Bash for Windows.
Author
Owner

@zadjii-msft commented on GitHub (Jan 6, 2020):

I think we're going to need to know exactly what program's output is causing this behavior. If I just try running ls -lA in WSL with a history size of 10, I see only 10 lines of output. Maybe you're using less or git diff and that's handling it's own scrolling?

@zadjii-msft commented on GitHub (Jan 6, 2020): I think we're going to need to know exactly what program's output is causing this behavior. If I just try running `ls -lA` in WSL with a history size of 10, I see only 10 lines of output. Maybe you're using `less` or `git diff` and that's handling it's own scrolling?
Author
Owner

@LawrenceWarren commented on GitHub (Jan 8, 2020):

This works with any output as far as I know. I tried ls -lA and found the same issue, but have also written my own program to output x amount of lines to the command line.

Perhaps I explained the issue wrong:
The terminal will always fill your screen with output, regardless of the historySize variable; I've tested with a historySize of 1, and have found the screen to still fill up. The historySize variable dictates how many lines of text are saved off the top of the screen.

The issue is if you set the historySize to a low number and then print enough to the terminal to saturate this (i.e., fill the screen + historySize) then you cannot scroll.

@LawrenceWarren commented on GitHub (Jan 8, 2020): This works with any output as far as I know. I tried `ls -lA` and found the same issue, but have also written my own program to output x amount of lines to the command line. Perhaps I explained the issue wrong: The terminal will always fill your screen with output, regardless of the historySize variable; I've tested with a historySize of 1, and have found the screen to still fill up. The historySize variable dictates how many lines of text are saved _off the top_ of the screen. The issue is if you set the historySize to a low number and then print enough to the terminal to saturate this (i.e., fill the screen + historySize) then you cannot scroll.
Author
Owner

@zadjii-msft commented on GitHub (Jan 8, 2020):

@LawrenceWarren could you share your whole profiles.json file? I'm not seeing this, so there's gotta be something else I'm missing.
With this profile:

        {
            "guid": "{22aa0dad-35be-5f56-a8ff-afceeeaa6101}",
            "name": "Test Profile",
            "tabTitle": "Test",
            "commandline": "wsl.exe",
            "historySize" : 10,
            "useAcrylic" : true
        }

running for i in {1..50}; do echo $i; done in bash gives me the following:

image
image

With the scrollback pretty clearly saturated, but I'm still able to scroll.

@zadjii-msft commented on GitHub (Jan 8, 2020): @LawrenceWarren could you share your whole `profiles.json` file? I'm not seeing this, so there's gotta be something else I'm missing. With this profile: ```json { "guid": "{22aa0dad-35be-5f56-a8ff-afceeeaa6101}", "name": "Test Profile", "tabTitle": "Test", "commandline": "wsl.exe", "historySize" : 10, "useAcrylic" : true } ``` running `for i in {1..50}; do echo $i; done` in `bash` gives me the following: ![image](https://user-images.githubusercontent.com/18356694/72022658-9ead4600-3236-11ea-894d-96b1a8f71da8.png) ![image](https://user-images.githubusercontent.com/18356694/72022643-93f2b100-3236-11ea-9be8-4d7f019410a8.png) With the scrollback pretty clearly saturated, but I'm still able to scroll.
Author
Owner

@LawrenceWarren commented on GitHub (Jan 9, 2020):

Here's my full profile

//Windows Linux Subsystem settings (DEFAULT)
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
"hidden": false,
"name": "Ubuntu",       
"source": "Windows.Terminal.Wsl"

//Layout & style settings
"historySize": 1,
"acrylicOpacity": 0.5,
"useAcrylic": true,
"fontFace" : "Fira Code",
"fontSize" : 11,
"background": "#000000",
"backgroundImage": "C:/Users/lawre/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/Skyscrapers.png",
"backgroundImageOpacity" : 0.1,
"backgroundImageStrechMode" : "fill"

Screenshots from my end obviously won't help, it'll just be a screenshot of my terminal. Also might be worth noting that I'm on a laptop, so the scrolling is not being done with the scroll wheel, but with the bar on the side of the window.

@LawrenceWarren commented on GitHub (Jan 9, 2020): Here's my full profile //Windows Linux Subsystem settings (DEFAULT) "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl" //Layout & style settings "historySize": 1, "acrylicOpacity": 0.5, "useAcrylic": true, "fontFace" : "Fira Code", "fontSize" : 11, "background": "#000000", "backgroundImage": "C:/Users/lawre/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/Skyscrapers.png", "backgroundImageOpacity" : 0.1, "backgroundImageStrechMode" : "fill" Screenshots from my end obviously won't help, it'll just be a screenshot of my terminal. Also might be worth noting that I'm on a laptop, so the scrolling is not being done with the scroll wheel, but with the bar on the side of the window.
Author
Owner

@DHowett-MSFT commented on GitHub (Jan 9, 2020):

Screenshots from my end obviously won't help

You'd be surprised at how useful a screenshot is! Would you mind sending one anyway?
Thanks!

@DHowett-MSFT commented on GitHub (Jan 9, 2020): > Screenshots from my end obviously won't help You'd be surprised at how useful a screenshot is! Would you mind sending one anyway? Thanks!
Author
Owner

@LawrenceWarren commented on GitHub (Jan 10, 2020):

Alright, here we go then

You can see in this picture that I've printed from 1 -> 50, with a history size of 4.
printed

You can see that I am scrolling up on the right side, and the terminal window has not updated.
scrolling

The bar is set at the top - I've released it - and the terminal has still not re-rendered.
scrolled

This is the best I can do without providing a video, and I think it basically gets the point across.

@LawrenceWarren commented on GitHub (Jan 10, 2020): Alright, here we go then You can see in this picture that I've printed from 1 -> 50, with a history size of 4. ![printed](https://user-images.githubusercontent.com/53704822/72180708-9f351080-33df-11ea-8198-f01dc6e59db9.png) You can see that I am scrolling up on the right side, and the terminal window has not updated. ![scrolling](https://user-images.githubusercontent.com/53704822/72180712-a0663d80-33df-11ea-842b-1ec1f93e18f4.png) The bar is set at the top - I've released it - and the terminal has still not re-rendered. ![scrolled](https://user-images.githubusercontent.com/53704822/72180713-a0fed400-33df-11ea-97ef-940bcc9a5595.png) This is the best I can do without providing a video, and I think it basically gets the point across.
Author
Owner

@zadjii-msft commented on GitHub (Jan 13, 2020):

Okay yea that actually does help a lot. That looks reminiscent of #1494/#3344 and https://github.com/microsoft/terminal/issues/3622#issuecomment-555678052, though there's not really a resize here that's affecting this. Regardless, something is definitely wrong here. I'm not sure how to repro this on our end, so I'll add the Needs-Repro and Help-Wanted flags, hopefully we can get some more help here 😄

@zadjii-msft commented on GitHub (Jan 13, 2020): Okay yea that actually does help a lot. That looks reminiscent of #1494/#3344 and https://github.com/microsoft/terminal/issues/3622#issuecomment-555678052, though there's not really a resize here that's affecting this. Regardless, something is definitely wrong here. I'm not sure how to repro this on our end, so I'll add the Needs-Repro and Help-Wanted flags, hopefully we can get some more help here 😄
Author
Owner

@zadjii-msft commented on GitHub (Aug 5, 2022):

Hey, I hate being that guy, but are you still seeing this/? It's been like two years, there's been plenty of changes throughout the whole of the project. Here's hoping that this might have just fixed itself?

@zadjii-msft commented on GitHub (Aug 5, 2022): Hey, I hate being that guy, but are you still seeing this/? It's been like two years, there's been plenty of changes throughout the whole of the project. Here's hoping that this might have just fixed itself?
Author
Owner

@LawrenceWarren commented on GitHub (Aug 7, 2022):

Hey, no worries about being "that guy."
Unfortunately I can't test this anymore, as in those two years I have switched to using a Mac 😅

If I'm ever back on my old PC, I'll try and remember to play about with this and test if I can recreate it. Sorry I can't give you more immediate help.

@LawrenceWarren commented on GitHub (Aug 7, 2022): Hey, no worries about being "that guy." Unfortunately I can't test this anymore, as in those two years I have switched to using a Mac 😅 If I'm ever back on my old PC, I'll try and remember to play about with this and test if I can recreate it. Sorry I can't give you more immediate help.
Author
Owner

@zadjii-msft commented on GitHub (Aug 8, 2022):

Well I suppose that works for me. We'll close this out, and if it ever comes back, we can always reopen it. Thanks for following up!


<off topic>

Entirely genuinely - is there a particular reason you switched to MacOS? If you've got specific reasons, I always love forwarding feedback to the appropriate internal parties 😄

@zadjii-msft commented on GitHub (Aug 8, 2022): Well I suppose that works for me. We'll close this out, and if it ever comes back, we can always reopen it. Thanks for following up! <hr> \<off topic> Entirely genuinely - is there a particular reason you switched to MacOS? If you've got specific reasons, I always love forwarding feedback to the appropriate internal parties 😄
Author
Owner

@LawrenceWarren commented on GitHub (Aug 8, 2022):

Got a new job, and my company offered me a Mac. I never used a native Windows command line like Powershell or Command Prompt, only WSL or rarely Git Bash. I figured I might as well learn MacOS since it's native shell is the shell I'm used to using, there's less hassle that way.

IMHO MacOS is a prettier OS, but Windows is still more comfortable for me. MacOS can get limiting at points, they do oddly restrictive things with Windowing, but on the whole I have a fine time with it.

I think I would consider returning to Windows once WSL is a bit more complete, with a proper release for GUI apps, etc.

@LawrenceWarren commented on GitHub (Aug 8, 2022): Got a new job, and my company offered me a Mac. I never used a native Windows command line like Powershell or Command Prompt, only WSL or _rarely_ Git Bash. I figured I might as well learn MacOS since it's native shell is the shell I'm used to using, there's less hassle that way. IMHO MacOS is a prettier OS, but Windows is still more comfortable for me. MacOS can get limiting at points, they do oddly restrictive things with Windowing, but on the whole I have a fine time with it. I think I would consider returning to Windows once WSL is a bit more complete, with a proper release for GUI apps, etc.
Author
Owner

@zadjii-msft commented on GitHub (Aug 8, 2022):

Thanks for taking the time to write that up! I'm sure the WSL teams have heard it all before, but it's always nice to have specific feedback (without any flaming 😄).

@zadjii-msft commented on GitHub (Aug 8, 2022): Thanks for taking the time to write that up! I'm sure the WSL teams have heard it all before, but it's always nice to have specific feedback (without any flaming 😄).
Author
Owner

@craigloewen-msft commented on GitHub (Aug 12, 2022):

@LawrenceWarren GUI apps are fully supported on Windows 11! What features would WSL need to be more complete?

@craigloewen-msft commented on GitHub (Aug 12, 2022): @LawrenceWarren GUI apps are fully supported on Windows 11! What features would WSL need to be more complete?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#5780