Skip to content

Conversation

@leolost2605
Copy link
Member

Instead of manually handling keyboard focus where needed, do it like GTK does it with some adaptations.

We have the FocusController which exists only once for a stage. This handles receiving keyboard events and moving focus according to them.

Then we have the focusable interface which is implemented by the actors in the actor tree where focus is needed. The interface handles deciding which implementor gets the focus based on the direction.

To hook controller and focusable up we can register the top most focusable in a certain area (in this case the multitasking view) as a root focusable. There may only be one mapped root focusable at a time and it will receive the focus calls from the controller based on key presses.

We now also hide the focus indicator after 5 seconds.

@leolost2605 leolost2605 changed the title Leolost/focusable Support keyboard navigation over multiple monitors in multitasking view Sep 17, 2025
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.

2 participants