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

Is there a way to tweak the sidebar folder/file browser touchpad scroll speed? #1170

Closed
nonplayer opened this issue Jan 8, 2025 · 19 comments
Assignees

Comments

@nonplayer
Copy link

I'm using MM on a Dell XPS laptop, Windows 10. The touch-scrolling (two-finger dragging) in MM seems to function independent of the system touchpad settings, as nothing I change in them seems to affect the MM scrolling. Anyway, the touch-scroll speed on the file browser in the sidebar seems to be a lot more sensitive than the scroll speed in both the editor and the preview window. Scrolling either of those is gentle and seems to move at an almost perfect pace, while in the folder browser, even just a slight scroll touch will zoom it almost to the top or bottom of even lengthy file lists. It seems to be a bit overly eager to register multiple scrolls with even light touches. Is there a way to tweak that sensitivity?

@nonplayer
Copy link
Author

Just doing a bit more testing, by placing two fingers on my laptop touchpad and just leaning them forward and back, not even sliding across the pad. On the Editor and the Preview, the scroll barely moves a single line of text. On the file browser sidebar, just a slight lean moves me quickly to the top or bottom of a 30-file list.

@RickStrahl
Copy link
Owner

RickStrahl commented Jan 9, 2025

The scroll areas are controlled by two separate 'applications'. The list is the actual application (ie. a WPF Windows app) the second is in browser content in a hosted WebView control. So in effect the editor and preview are browser applications which behave somewhat differently.

However, I can't duplicate what you're seeing on my three laptops I have here (an MSI beast, an Arm64 SnapDragon machine, and an ancient Dell 2 in 1). All of them handle the file browser tree as I would expect. Slightly different feel than the browsers (less smooth but that's because Chromium does some internal scroll management) but it's pretty close. In all cases I fine motor control over the scroll operation.

This is using the MSI machine's touchpad using two finger scrolling:

ScrollSpeed

MM does nothing specifically to speed up or slow down scroll handling. The only thing that should affect the behavior should be the Windows touch pad settings in your Windows settings.

@RickStrahl RickStrahl self-assigned this Jan 9, 2025
@nonplayer
Copy link
Author

nonplayer commented Jan 9, 2025

@RickStrahl an update, if it helps I've now reproduced this behaviour on three separate machines (and they're the only machines I've tested on):

  • a Dell XPS laptop running windows 10, using the built in touchpad
  • an Asus ROG Zephyrus G15 laptop running windows 11, using the built in touchpad
  • a custom home-built gaming PC running windows 10, using an external third-party USB touchpad.

In all three cases I have noticed that the file browser is crazy fast zooming, while the main editor is not. Just a single two-finger touch, no dragging, only leaning up and down, is enough to scroll the file browser super fast up long lists, while only scrolling the editor a single line in either direction.

EDIT: Adding that in each case, windows scroll settings are set to two lines only. MM respects this with mouse wheels, no issue there, it's only the touchpad that has this issue. Touchpad is set to "medium" sensitivity, but otherwise the windows touchpad settings doesn't have a scroll speed selector and defaults to the mouse settings for that. I've added a video and pics in the follow up comment below.

@nonplayer
Copy link
Author

nonplayer commented Jan 9, 2025

Here's an example from the PC, with the attached USB touchpad: https://1drv.ms/v/s!AmJqxeKbscNGndAK-y6_zVA-ydBFXg?e=mRuWrB

(and a youtube link if the one above does not work: https://www.youtube.com/watch?v=YtMcsquMtdk)

In this case, for both tests, I placed two fingers on the touchpad, perpendicular to the plane, and only tilted them forward and back, no gliding or sliding motion, just the slightest roll of the fingertips in place. This behaviour is identical on both of my laptops. If I actually do a two-finger glide, the scroll hits the bottom and top so fast as to be almost instantaneous, while the scroll of the editor and preview behaves as I would expect them to.

Mouse settings for reference:

image

image

image

@nonplayer
Copy link
Author

I didn't think to test this until just now being in a bigger document, but I experience the same scroll speed turbo-scroll discrepancy in the Document Outline sidebar as well, with the same touch-and-tilt zooming through long outline lists.

@RickStrahl
Copy link
Owner

What happens when you use an actual mouse (if handy) with the scroll wheel?

Another test: Open your document (preferably a longish one that spans a few pages). Use the previewer to scroll and note scroll speed. Then right click, open in Web Browser. Repeat in the browser (Chromium browser of some sort preferably Edge, Chrome, Brave etc.) For me the behavior is nearly identical.

As mentioned the browser (editor and preview) is effectively a separate executable and has its own UI so you get the scroll behavior of the system. If anything the scroll in the folder browser is probably in correct due to the virtualization and the fact that there can be a shitload of files in the FB list so the scroll speed might be exaggerated. I don't see that on my end though - it depends on the size of the list.

The browser scroll in the editor matches what I see in any Chromium browser, so the behavior there is as expected. I see that scrolling with two finger scroll is on the slow side compared to the free floating scroll wheel which can be blazing fast. But it also matches what I see in VS Code and Visual Studio so the editor behavior is I guess as expected?

I've played around with some of the touchpad settings to increase the scroll and pointer speeds but that seems to have no noticable effect on anything (in any app)...

@RickStrahl
Copy link
Owner

RickStrahl commented Jan 17, 2025

Ok after some checking it looks like the editor actually has options to control the scroll speed. Experimenting now.

Image

All scrolls using the touch pad. First scroll is using the default (looks like it's 1) - pretty slow. Second is using 10 which is very quick but maybe a bit much. last is 5 which is fast but not too fast. I think that'll make a good default value.

I think I'll add a configuration property that will allow you to set the scroll speed (1 normal, anything else faster). I'm using 10 and it's very fast but it also accelerates the scroll wheel so have to find a balance. I think it's likely a good idea to make it a little bit faster by default than the current default.

@RickStrahl
Copy link
Owner

RickStrahl commented Jan 17, 2025

So was the Editor scroll speed actually the issue, or were you worried about the sidebar scroll speed. The sidebar scroll speed should be completely system controlled so that should act like other Windows controls and basically uses the Scroll Wheel line height.

But from the discussion here the issue seems to be that the editor is slow scrolling, not the other way around? IAC, I see that as a good addition regardless if you were after something else 😄

Image

@nonplayer
Copy link
Author

Thanks for looking into this! Following up on the above, when I use a mouse on Markdown monster to scroll the sidebar (either the file browser or the outline), it scrolls at two lines per "tick" on my scroll wheel. The editor is "about" 2 lines (it doesn't seem exact, I'm assuming that is based on the window size and font), and the preview pane is similar (based on panel size it seems). So with the mouse, it all seems fine.

With a touchpad, the editor and the preview panel seem fine, they move at the pace I expect with a two-finger drag-scroll. The sidebar panels on the other hand seem overly sensitive. Just a simple touch-and-lean is enough to scroll the entire length of long lists just with 5 or so degrees of angle change.

@RickStrahl
Copy link
Owner

So I've added a scroll speed flag for the folder browser too. I still can't duplicate what you're seeing. The default behavior works just fine for me with touchpad on all of my machines. Is it possible you have some custom mouse handling software installed that interferes with the default windows behavior? Or perhaps your touchpad settings are too sensitive?

IAC, I've added a setting for this now so you can slow it down and speed it up.

Image

0 is the default behavior, 1 is slowest. I see somewhat of a difference between default behavior and 1 which is the slowest speed (and which is roughly 10x slower than the default if I understand the mechanics of this right). Anything higher then speeds up the scroll speed.

Update will be in v3.5.21.1

@nonplayer
Copy link
Author

3.6 Update experience: I've now tried this on four machines - the three mentioned above, and now again to make sure I'm not going insane, using MM 3.6 running in a brand new Win10 (22H2) VM via Virtualbox on a PopOS! Linux laptop (Asus FX505DT). All have the same initial "ridiculously sensitive" scroll problem in both the Folder Browser and the Document Outline when using a touchpad. I can't figure out how these can possibly all be an only-me thing, unless this bug is somehow tied to me as an individual somehow just sitting in front of the computer, maybe I have hyper-capacitive super powers, heh.

Anyway, the new Folder Browser scroll speed setting works perfectly! Thank you! Setting it to 5 results in both the Touchpad and the mouse scroll wheel synched up now and scrolling at the same expected speed.

Any chance you could add the same option for the Document Outline panel as well? It still has the same scroll de-sync issue with the touchpad, so I'm assuming the same option would fix it in the same way.

@RickStrahl
Copy link
Owner

RickStrahl commented Jan 29, 2025

I was finally able to duplicate this and yeah - it only happens with the touchpad. The scrollwheel - even with the clutch off - doesn't show these issues which is weird as the TP should simulate scroll behavior. IAC I see it now too.

Oddly originally this was not happening on the Folderbrowser for me (still doesn't if I remove the updates I added), but it sure does on the Document Viewer and Link Checker. I can't quite see why one works and not the other.

IAC, I created a more generic helper method that can be called, and I've hooked that up to the Document Viewer and the new Link Checker sidebars and also to the FolderBrowser so they are all using the same logic now and scroll at the same clip. It'll probably also needed on other list boxes in some of the other UIs but I'll leave that for another day until somebody complains. Most of these lists aren't long enough for this to be a problem.

I've updated to v3.6.2.1 which has the fix.

@RickStrahl
Copy link
Owner

RickStrahl commented Feb 3, 2025

Anymore feedback on this with the latest update? v3.6.3+

@nonplayer
Copy link
Author

I just updated to 3.6.3 on the two most handy machines, and they both scroll much more controllably now with a touchpad. I would consider this resolved, thanks!

@RickStrahl
Copy link
Owner

Thanks for sticking with me on getting this resolved...

@nonplayer
Copy link
Author

Thanks for sticking with me on getting this resolved...

Thanks for digging into it!

Although I think I found another place where the scroll speed is "off" - the "Markdown Monster Settings" menu.

@RickStrahl
Copy link
Owner

RickStrahl commented Feb 5, 2025

Hmmm... that's another one I can't duplicate. For me that scrolls just fine with the touchpad.

To be clear, we're talking about the main scrollbar for the content of the Settings dialog, right?

Does this happen with the full list or a small list. I can't make it behave like the folder browser did where any movement basically jumps top or bottom in either case - small or large list.

It'd be an easy fix to add the same patch that I used on the other lists, but I'm trying to understand why you're seeing this and I'm not.

@RickStrahl
Copy link
Owner

RickStrahl commented Feb 5, 2025

I guess I can see it if the list is very short (ie. 2 screens maybe). Anything beyond that it works well enough.

I've added the scroll patch nevertheless so now it will respect those same scroll parameters as the other lists discussed above.

It'll be in the next update (past 3.6.3).

@nonplayer
Copy link
Author

To be clear, we're talking about the main scrollbar for the content of the Settings dialog, right?

Ah yes, to clarify, if I go to Tools -> Settings, the screen that then appears can be scrolled, and seems a bit more sensitive to touchpad than mousewheel. It's not as intense as the side panels used to be, just enough of a noticeable difference with my touchpad that I figured I'd note it here. It's certainly more manageable.

Thanks for looking into it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants