Scrolling Behavior in places like Command Palette

Use case or problem

Currently when in menus like the command palette and the open/search palette, those palettes have a round-robin nature to them, at least that’s what I know it to be called. This is when you’ve scrolled all the way to the bottom using your keyboard and when the bottom is reached, you’re right back at the top again automatically.

I personally can’t stand this behavior. It forces me to try and be way too accurate and careful when scrolling to something that’s right near the end or the beginning. Chances are I’ve missed and have to scroll back the other way. In my opinion, it’s not optimal.

A. The current behavior is not as efficient as my proposed solution

B. Makes for a bad experience in its current implementation since I end up having to go around again, or pay extra close attention to how close to the bottom I’m getting and at what speed before I have to get ready to let go of the arrow key.

I’d rather be able to just hold down the arrow key and know that I don’t have to be accurate at all, but all I have to do is hold till I get to the bottom and when I do, I can let go of the arrow key and stay at the bottom.

Proposed solution

For folks who like the current behavior, I think a simple toggle switch in settings would be great. I would set the toggle on by default so nothing changes for others and users like me can just go and turn it off.

The perfect behavior for lists or menus like this in my opinion is this:

Once the bottom or top is reached (depending on which direction you’re scrolling), the focused row won’t automatically jump back to the top or bottom of the list. Instead, it will stop. Then after you’ve let go of the arrow key, you can press that same arrow key again once to jump back to the top for example (if you were at the bottom). Then press and hold the arrow key again to repeat. This feels more natural and intentional. Also, you get the best of both worlds – being able to just scroll right to the top or bottom of a list without having to closely monitor where you are, but also lets you quickly get back to the top or bottom again with a single key press.

Current workaround (optional)

Current workaround is just having to closely monitor the speed and travel distance. Harder with shorter menus.

Related feature requests (optional)