Skip to content

Fix closing window shortcuts in combination with window groups #18116

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

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

Conversation

guillep
Copy link
Member

@guillep guillep commented Apr 25, 2025

The bugs

Multiple bugs happen on closing windows when you use a window group.

  1. in a window group full of senders/implementors, resize the window, then meta+w => the whole group is closed instead of the current tab
  2. in a window group full o senders/implementors, try to close all tabs with meta+w => all but the first one are closable with meta+w ONLY if the mouse is on top

The causes

  1. Calypso worked around shortcut handling by redefining the way shortcuts are dispatched (see redefinitions of kmDispatcher). Now, when the window group is resized, the focus is given to a drop list that is not wrapped by calypso, so the shortcut is handled by the enclosing window, closing the entire window
  2. When a window inside a window group is closed, the focus is not given to the next one.

The fixes

  • move specific window closing behavior from calypso to the window group morph (avoiding an iskindof also)
  • remove window closing shortcuts when embedding (and restore them when unembedding) => this allows the bubbling of events
  • pass the focus to the next tab when a tab is closed

@guillep guillep changed the base branch from Pharo14 to Pharo13 April 25, 2025 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants