beeware / beeware/toga

Make ScrollContainer's .focus() operational

Open
#2,894 3 comments 0 reactions 0 assignees View on GitHub
enhancement not quite right
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
15h 39m
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Currently, ScrollContainer cannot accept focus. This means we don't have the ability to press `Space` / `Shift + Space` to scroll the page down/up like we do in the WebView, for example.

### Describe the solution you'd like

Make ScrollContainer's `.focus()` operational, so we can set focus to it, enabling the user to press `Space` / `Shift + Space` to scroll down/up the page.

### Describe alternatives you've considered

Make ScrollContainer respond to `Space` / `Shift + Space` by default, without the need to set focus.

The issue with this approach is: We'll have no control. Especially if we have multiple ScrollContainers in view at the same time.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by locating ScrollContainer and its .focus() behavior, then compare how the WebView handles Space and Shift + Space scrolling. Confirm how focus is assigned when multiple ScrollContainers are visible. Done means a focused ScrollContainer accepts Space and Shift + Space to scroll down and up without changing behavior for other containers.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.