Summary
Under GNOME on a Wayland session, GNUstep combo box dropdowns and native tooltips can appear once and then fail to reappear on subsequent attempts.
The root cause appears to be that these popup-style panels are shown as independent top-level windows rather than transient children of their owning window.
Environment
- Debian 13
- GNOME session on Wayland
- GNUstep apps running under Xwayland
libs-gui current master
Observed behavior
Combo boxes
- The first combo box dropdown often appears.
- On the second attempt, the dropdown does not appear.
- GNOME shows a notification like
"Window" is ready, which suggests the popup is being treated as a separate top-level window.
Tooltips
- Native GNUstep tooltips show the first time.
- Subsequent tooltip displays may fail in the same way.
Expected behavior
Combo box dropdowns and tooltips should remain associated with their owning window and reliably reopen in the foreground instead of being managed as unrelated top-level windows.
Notes from investigation
This appears to be a libs-gui issue.
The issue was resolved locally by changing libs-gui so the combo popup window and tooltip window are attached to their owning window as child/transient windows before being shown, and detached when dismissed.
The relevant areas are:
Source/NSComboBoxCell.m
Source/GSToolTips.m
The working patch makes these popup windows follow the same general ownership model already used for menu windows.
Proposed fix
Before showing these popup panels:
- attach the combo popup window to the control's window
- attach the shared tooltip window to the view's window
When the popup is dismissed:
This allows the window manager to keep these popup windows associated with the owning application window.
Patch
I am attaching the working patch in a follow-up comment.
Summary
Under GNOME on a Wayland session, GNUstep combo box dropdowns and native tooltips can appear once and then fail to reappear on subsequent attempts.
The root cause appears to be that these popup-style panels are shown as independent top-level windows rather than transient children of their owning window.
Environment
libs-guicurrentmasterObserved behavior
Combo boxes
"Window" is ready, which suggests the popup is being treated as a separate top-level window.Tooltips
Expected behavior
Combo box dropdowns and tooltips should remain associated with their owning window and reliably reopen in the foreground instead of being managed as unrelated top-level windows.
Notes from investigation
This appears to be a
libs-guiissue.The issue was resolved locally by changing
libs-guiso the combo popup window and tooltip window are attached to their owning window as child/transient windows before being shown, and detached when dismissed.The relevant areas are:
Source/NSComboBoxCell.mSource/GSToolTips.mThe working patch makes these popup windows follow the same general ownership model already used for menu windows.
Proposed fix
Before showing these popup panels:
When the popup is dismissed:
This allows the window manager to keep these popup windows associated with the owning application window.
Patch
I am attaching the working patch in a follow-up comment.