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

Allow nested scrolling of Windows #1701

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

joouha
Copy link
Contributor

@joouha joouha commented Dec 17, 2022

These changes mean that Windows will return NotImplemented when attempting to scroll beyond their scrollable limits.

This means mouse scroll events can bubble up to a scrollable parent container when a window has finished scrolling.

In the following screen recording, you can see that when the TextArea moves under the mouse while scrolling the parent pane, it begins scrolling, and when the TextArea has scrolled all the way to the bottom, the parent pane resumes scrolling:

nested-scrolling.webm

I've also changed the reported line-count of the DummyControl to 1 rather than 100*100 for this to work. Without this, Windows without content believe their DummyControl is always scrollable and accept all scroll events. I can't find any issues with doing this - why was the DummyControl's content's line count set to 100*100?

@joouha
Copy link
Contributor Author

joouha commented Oct 16, 2023

I don't think the test failures are related to the proposed changes

These changes mean that Windows will return NotImplemented when attempting to
scroll beyond their scrollable limits, allowing mouse scroll events to bubble
up to a parent container when a window in a scrollable container is scrolled.
@joouha
Copy link
Contributor Author

joouha commented Jan 17, 2024

I've rebased and fixed the issues with checks.

This would also allow implementing a wrapping Container which can automatically disable mouse support for an app if you've scrolled to the top, allowing the terminal scrollback buffer to be scrolled instead.

Screencast_20240117_193406-1.webm

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

Successfully merging this pull request may close these issues.

1 participant