Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please provide a new setting: verticalScrollBarWidth #9218

Open
ghost opened this issue Feb 19, 2021 · 27 comments
Open

Please provide a new setting: verticalScrollBarWidth #9218

ghost opened this issue Feb 19, 2021 · 27 comments
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Area-UserInterface Issues pertaining to the user interface of the Console or Terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Milestone

Comments

@ghost
Copy link

ghost commented Feb 19, 2021

Please provide an option in the config.json to:

  • set the width of the vertical scrollbar to some fixed width - for e.g.: 32px
  • there should be something in the config like: "verticalScrollBarWidth" or something similar

Why should users use this?

The new behaviour of the vertical scrollbar in windows terminal provides no advantage. It's confusing the users.
Many users want to use windows terminal as replacement for the dos box and this new behaviour drives them crazy.

Example:
"defaults":
{
"scrollBarState" : "visible",
"verticalScrollBarWidth" : 32
}
... and this will set the vertical scrollbar to a fixed width

@ghost ghost added Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Feb 19, 2021
@zadjii-msft
Copy link
Member

zadjii-msft commented Feb 19, 2021

This makes sense to group with the rest of the "theming" asks in #3327. Thanks!

(also related: #3454)

@zadjii-msft zadjii-msft added Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Area-UserInterface Issues pertaining to the user interface of the Console or Terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Feb 19, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Feb 19, 2021
@zadjii-msft zadjii-msft added this to the Terminal Backlog milestone Feb 19, 2021
@DHowett DHowett removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Feb 23, 2021
@WesleyM77
Copy link

Just popping in to say that this would be appreciated very much! I don't like the current scrollbar behavior. Thanks!

@mailinglists35
Copy link

mailinglists35 commented Oct 1, 2021

I need this as well, because it is too slim and this makes it difficult to click it with the mouse pointer. it's actually identically as slim as msedge's, perhaps I should also ask this to Edge team as well.

@ghost
Copy link
Author

ghost commented Oct 3, 2021

Workaround: activating "Arero Lite Theme" gives you back the scroll bar.

As used in this script: https://github.com/mhgschmidt/w10install/blob/master/scripts/modify-desktoptheme.cmd
Config for Aerolite is here: https://github.com/mhgschmidt/w10install/blob/master/scripts/config/aerolite.theme

Works for me. Givin up and closing this ticket.

@ghost ghost closed this as completed Oct 3, 2021
@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label Oct 3, 2021
@mailinglists35
Copy link

@mhgschmidt please leave it open. I don't want to alter the theme.

@mailinglists35
Copy link

if you don't want to get notifications of this issue, you can unsubscribe from it. but there are others who don't want the theme workaround. and it's a workaround, not a solution to the issue you opened

@ghost ghost reopened this Oct 4, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Oct 4, 2021
@ghost
Copy link
Author

ghost commented Oct 4, 2021

Reopened.
@zadjii-msft : This looks like an easy and small task for me. Can you do something here ?

@zadjii-msft
Copy link
Member

If you'd like to contribute, we'd happily review the PR. I'm not sure there's an easy way to change the width of a XAML scrollbar, but if there is, this would be the place to start:

<ScrollBar x:Name="ScrollBar"
Grid.Column="1"
HorizontalAlignment="Right"
VerticalAlignment="Stretch"
IndicatorMode="MouseIndicator"
IsTabStop="False"
LargeChange="4"
Maximum="1"
Orientation="Vertical"
PointerPressed="_CapturePointer"
PointerReleased="_ReleasePointerCapture"
SmallChange="1"
ValueChanged="_ScrollbarChangeHandler"
ViewportSize="10" />

@zadjii-msft
Copy link
Member

lmao it works but looks insane:
image

@StephenLPeters (sorry you're my go to "winui on GH person" now) Any ideas if there's an easy way to set the thickness of the thumb too? This obviously looks insane. At least the whole track works for hit testing, though, the up/down buttons don't.

@zadjii-msft
Copy link
Member

Note to self: <x:Double x:Key="ScrollBarSize">16</x:Double> might be the key I'm looking for.

@StephenLPeters
Copy link

@zadjii-msft this is the resource that drives this value: https://github.com/microsoft/microsoft-ui-xaml/blob/e4c5d3443caa0242be0953010dd5ab3ddb4c2925/dev/CommonStyles/ScrollBar_themeresources.xaml#L785 unfortunately it is a StaticResource defined in a Non-ThemeDictionary in Winui2 which, because of some... quirks... in the resource lookup system means that you will not be able to override this propety from Terminal. Therefore I think the only option you have is to retemplate the control. We could/should fix this in winui2 and make it a ThemeResource which would allow you to override it in the visual tree.

@zadjii-msft
Copy link
Member

@StephenLPeters thanks for the follow up. Seems to me like the best course of action would be:

  • Provide this setting now, under the experimental. namespace, because it looks a little silly but works
  • Use Discussion: Scrollbar thickness is smaller in ControlsV2 microsoft-ui-xaml#6684 to drive changing the VerticalThumb Width to a ThemeResource.
  • When there's a version with the above fix in it available for the Terminal to ingest, we remove the experimental. bit from the setting and use that themeresource to fix the appearance.

Sound like a plan?

@zadjii-msft zadjii-msft added the Needs-Discussion Something that requires a team discussion before we can proceed label Feb 7, 2022
@StephenLPeters
Copy link

Yes, although we should confirm that this resource is the only one that you need access to in order to fulfill your design. Its possible that you'd also need to change the roundedness of the corners or the margin from the edge of the well, or something like that. Maybe we can pull the nuget package from our PR pipeline and test that terminal is able to make the changes you need. I'll make the PR now.

@zadjii-msft
Copy link
Member

Team discussion:

  • yeeting a experimental feature into the OS as a bugfix is not the right move, especially one that we don't have runway to remove the experimental aspect before snapping the last OS build.
  • We should just patch the scrollbar width for what it used to be. That would be the simplest fix......

Oh look at that. He just fixed it like that, because he's the best. microsoft/microsoft-ui-xaml#6686. Thanks!

That might change our previously discussed plans. More discussion to follow tomorrow, I'm sure.

@StephenLPeters
Copy link

I suspect there is more that is needed to make this look correct.. for instance the chevrons are also miss sized so we'll need to figure out the set of resources that are needed.

@zadjii-msft zadjii-msft removed the Needs-Discussion Something that requires a team discussion before we can proceed label Feb 14, 2022
@jvincent-siplay
Copy link

I'm sorry, I need to downvote this. I completely agree that the scrollbars are too thin, but we really should not be configuring scrollbars separately for every app. Scrollbars have gotten too thin everywhere (Feedback hub, Window News, Xbox apps, every single Electron app, the list goes on.) This really needs to be pushed up to some Microsoft UI team so we can control this globally at the OS level for all apps.

@mailinglists35
Copy link

mailinglists35 commented Aug 19, 2022

until you find the right place to file the issue with microsoft, downvoting this helps no one.
other than that, I agree this needs to be addressed system wide. even in the edge browser I am typing now there is inconsistence between the width of the page scroll bar and the scroll bar of the vertical tabs 🙈

@DHowett
Copy link
Member

DHowett commented Aug 19, 2022

Actually, you know what? I'm inclined to agree with @jvincent-siplay. No other application in common use today offers this kind of customization--if it would, does it offer a switch for making the buttons smaller or larger? Or making the status bar taller or shorter? The caption controls smaller, redder, or more translucent?--and so I don't think we should either. I would say that downvoting this issue has helped us, as I think it's going to clear this thing off our backlog that shouldn't be on it.

The Terminal team is able to funnel these feature requests to the right people, but we have no special ability to make sure they get acted on.

@mailinglists35
Copy link

no application offers customization

the problem is microsoft terminal is a rebel citizen in windows 10

see how other native microsoft apps have their scrollbars in windows 10:

device manager, command prompt, explorer, task manager, edge, uwp settings app

@mailinglists35
Copy link

image

@mailinglists35
Copy link

mailinglists35 commented Aug 21, 2022

what all these scrollbars have in common? they're all usable. they're usable interactive ui elements, not just page progress indicators like terminal does. yes, you can click terminal scroll bar, but at the high cost of wasted time due to terrible low mouse grab precision which ends up giving up using it.

if you call customization the ability to be usable... then I am left with no other argument.

@shinebayar-g
Copy link

shinebayar-g commented Dec 3, 2022

too damn hard to grab even notice where the scroll bar is at .. lol
while title bar is wide as ocean. Try to find the scroll bar.
image

Why can't this version be default? It's soo much better. But only shows up when you hover on the thin line.

image

@mailinglists35
Copy link

too damn hard to grab even notice where the scroll bar is at .. lol

while title bar is wide as ocean. Try to find the scroll bar.

image

Why can't this version be default? It's soo much better.

I presume that the team/person in charge has prioritized visibility/aestethics over usability.

They must think "the bar is just an indicator, nobody actually clicks it to scroll, everyone simply usees the mouse wheel for scrolling".

The scary thought is however, "what if they guessed right, and we - users of precision click and drag on scrollbar - are now just a minority?"

There can be no other explanation for this monstruous absurdity, a huge wide titlebar and a tiny scrollbar.

@zadjii-msft
Copy link
Member

Why can't this version be default? It's soo much better. But only shows up when you hover on the thin line.
[screenshot]

FWIW, that was added in #14047, and is shipping in 1.17.


We also changed the width of the Terminal's scrollbar to align with the rest of the OS's scrollbar's in #12608, back in 1.14. We're a WinUI-style scrollbar, with a ComCtl-style width now.


They must think "the bar is just an indicator, nobody actually clicks it to scroll

9218-whinging-000

🤔

In general, the Terminal repo isn't the right place for feedback on the design of the WinUI scroll bars. A better place for your feedback would be: microsoft/microsoft-ui-xaml#7422

@shinebayar-g
Copy link

shinebayar-g commented Dec 13, 2022

They must think "the bar is just an indicator, nobody actually clicks it to scroll, everyone simply usees the mouse wheel for scrolling".
The scary thought is however, "what if they guessed right, and we - users of precision click and drag on scrollbar - are now just a minority?"

I also use scroll bar to track where am I in the jungle of huge command line output.

FWIW, that was added in #14047, and is shipping in 1.17.

Thanks! Eagerly waiting for the release then.

@ghost
Copy link

ghost commented Apr 5, 2023

With Windows Terminal v1.12.1073, the scrollbar looks like this:

good

however starting with the next version, Windows Terminal v1.12.1098, the scrollbar is narrow:

bad

and in future versions even rounded at the corners. I find these changes distracting. Also, they are different from my browser Mozilla Firefox:

firefox

My editor Vim:

vim

and even Windows Explorer:

explorer

this is quite annoying, I wish Microsoft would just focus on making the terminal itself better, and not spend time on these "bikeshed" issues, especially in regards to changes that are difficult or impossible for users to revert. in my case I am now forced to use the old version forever.

@molesmoke
Copy link

Please consider visually impaired users too - the current indicator is also too small

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Area-UserInterface Issues pertaining to the user interface of the Console or Terminal Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

8 participants