8000 Allow nested scrolling of Windows by joouha · Pull Request #1701 · prompt-toolkit/python-prompt-toolkit · GitHub
[go: up one dir, main page]

Skip to content

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

0