Skip to content

Make sticky scroll more explicit for new users #215440

@aiday-mar

Description

@aiday-mar

Sticky scroll is turned on by default for a couple of builds now. We are receiving issues and concerns from users who do not know what the sticky widget is and who confuse it with the editor lines. They think the sticky widget is an editor bug. This issue is about how to handle this issue. Several ideas have been proposed:

  • Turn the sticky widget on by default only when an outline provider is available. For some languages like C# where allman style braces are used, if there are no outline providers, one can see only brackets in the sticky widget, which provides little useful information. To mitigate this, we can introduce a setting which shows the sticky scroll lines only when an outline provider is available. The lines in the sticky widget would then carry in general more useful information.
  • Add a pin on the sticky widget in the far right bottom corner of the sticky widget. When the pin is unpinned (by clicking on it), this would remove the sticky widget. This is a quick way to remove the sticky lines, and indicates to new users this is an individual widget.
  • Instead of adding a pin, we could add a gear icon on the far bottom right, which when clicked, opens the context menu from which it would be possible to toggle the sticky scroll on and off.
  • The sticky widget background color corresponds to the editor background color. This is done for aesthetic purposes. Perhaps we could change the sticky scroll widget background color to something lighter or darker than the default background colors of the base themes.
  • We could also make larger the drop shadow of the sticky widget. This would make it clearer that the sticky widget lies on top of the editor.
  • We could add a tooltip on the sticky widget. When you would hover over the sticky scroll lines, you would see a tooltip with some information like 'Line 14 is the sticky scroll widget'.

Pinging @daviddossett about thoughts, cc @hediet

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions