microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.45k stars 8.3k forks source link

Please provide a new setting: verticalScrollBarWidth #9218

Open ghost opened 3 years ago

ghost commented 3 years ago

Please provide an option in the config.json to:

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

zadjii-msft commented 3 years ago

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

(also related: #3454)

WesleyM77 commented 3 years ago

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

mailinglists35 commented 3 years ago

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 commented 3 years ago

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.

mailinglists35 commented 3 years ago

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

mailinglists35 commented 3 years ago

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 commented 3 years ago

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

zadjii-msft commented 3 years ago

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:

https://github.com/microsoft/terminal/blob/e5293b78143bdbb7bff4f83fadd5cf5c080608e9/src/cascadia/TerminalControl/TermControl.xaml#L92-L105

zadjii-msft commented 2 years ago

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 commented 2 years ago

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

StephenLPeters commented 2 years ago

@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 commented 2 years ago

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

Sound like a plan?

StephenLPeters commented 2 years ago

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 commented 2 years ago

Team discussion:

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

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

StephenLPeters commented 2 years ago

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.

jvincent-siplay commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

image

mailinglists35 commented 2 years ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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: https://github.com/microsoft/microsoft-ui-xaml/discussions/7422

shinebayar-g commented 1 year ago

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 https://github.com/microsoft/terminal/pull/14047, and is shipping in 1.17.

Thanks! Eagerly waiting for the release then.

ghost commented 1 year ago

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 commented 1 year ago

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