Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
118 stars 1 forks source link

Settings menu should remember your scroll position per category #2025

Open epicEaston197 opened 1 month ago

epicEaston197 commented 1 month ago

Is your feature request related to a problem? Please describe.

When I'm going through my settings it's really inconvenient that the scroll position always resets to the top I would like if it remembered my scroll position per category

Describe the solution you'd like

I want the scroll position to be remembered per category

Describe alternatives you've considered

None apart from maybe attempting to save the scroll position somewhere

Additional Context

No response

Requesters

@epicEaston197

Frooxius commented 1 month ago

I don't know if this is something we'd add.

I'm not aware of any similar UI that would do this as well - generally when you navigate UI's, the scroll position is reset.

This would require a fair bit of complex work, that I don't think we'd commit to.

Banane9 commented 1 month ago

I'm not aware of any similar UI that would do this as well - generally when you navigate UI's, the scroll position is reset.

To name some UIs that keep the scroll position:

In general it's very convenient to be returned exactly where one was when going back.


This would require a fair bit of complex work, that I don't think we'd commit to.

For what it's worth, @Nytra has implemented this exact behavior for the Settings Page in general in the Resonite Integration for MonkeyLoader, as part of the Loader's integration into the settings.

Nytra can probably say more about how it works exactly, but as far as I understood it, it's basically just a stack of the scroll position that gets added to whenever a nested path is opened. Conversely, when moving up in the path, the value is popped and reassigned to the scroll position.

lxw404 commented 4 weeks ago

Resetting the scroll position actually seems to be the exception in UX now.

A common example of preserving scroll: you switch tabs in a browser, the tab you were on doesn't forget its scroll position. Or even: if you scroll down in a page in any major browser, then follow a link, then press the back/forward button, the scroll position is preserved on all pages.

Frooxius commented 4 weeks ago

Thanks for the additional info. Based on that we could look into adding this.

For the implementation though, mods tend to cut a lot of corners to achieve a very specific goal, so that doesn't quite help us. The solution we need is something that needs to be generic (meaning it'll work with any piece of UI ideally), robust and scalable, which is where the engineering complexity comes from.

We can devise a solution, it's just matter of putting time into it.