Address TODOs in GTK 4 porting - #710
Merged
Merged
Conversation
get_widget_at() called in focused_column and focused_row properties returns Gtk.Grid instances instead of AppButton ones, resulting keyboard navigation does not switch focused app entries.
danirabbit
reviewed
Aug 9, 2026
1 task
ryonakano
marked this pull request as draft
August 11, 2026 12:44
danirabbit
approved these changes
Aug 11, 2026
danirabbit
marked this pull request as ready for review
August 11, 2026 16:41
This was referenced Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses TODOs in #645
Changes Summary
GridView: Remove existing fake grids before adding AppButtonAddressed in GridView: Create dummy grids only when no apps to populate #711 as suggestedget_widget_at()called infocused_columnandfocused_rowproperties returns Gtk.Grid instances instead of AppButton ones, resulting keyboard navigation does not switch focused app entriesfocus_in_eventwithGtk.EventControllerFocusIssues I found with this branch
I found the following 2 issues with this branch but I don't plan to fix them within the scope of this PR because they both would require more work and investigation.
1. Focus on AppButtons are stolen in a few seconds after first keyboard navigation
Screencast.From.2026-08-09.15-28-39.mp4
But this also happens with other indicators, so I suppose this would be an issue of Wingpanel itself:
Screencast.From.2026-08-09.15-27-22.mp4
2. Dnd app icons causes the entire wingpanel crashes
Screencast.From.2026-08-09.15-30-40.mp4
I suspect this is because the popover (display widget) of Applications Menu would be freed before DnD finishes and would be causing null pointer access, because it gets unparented by PopoverManager of Wingpanel itself when the popover is requested to be closed1. And Application Menu surely requests to close the popover when starting DnD23.
I confirmed commenting out the above
popover.unparent ();in Wingpanel resolves this issue but we need to unparent the popover anyways at some point, right? So probably we might want to keep the popover open while DnD.Footnotes
https://github.com/elementary/wingpanel/blob/acf9a51a8d1de4e136bd72c523099ef650856d84/src/Services/PopoverManager.vala#L76 ↩
https://github.com/elementary/applications-menu/blob/320297fb25ab8aa60d768eee10a5531ca495308d/src/Widgets/AppButton.vala#L118-L130 ↩
https://github.com/elementary/applications-menu/blob/320297fb25ab8aa60d768eee10a5531ca495308d/src/Views/GridView.vala#L86 ↩