-
-
Notifications
You must be signed in to change notification settings - Fork 687
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
HIG-compliant for GTK menus #1931
base: main
Are you sure you want to change the base?
HIG-compliant for GTK menus #1931
Conversation
This looks like a pretty good summary of #874; two details that stood out:
Might want to clarify the exact ordering here - it reads as if "horizontal separator" will be the last item, which doesn't make much sense :-) These groupings are important, as they they influence where users can insert their own app-level commands.
This isn't something we discussed explicitly - I'm guessing the intention is that GTK considers the menu and toolbar to be a singular unit, so if someone has explicitly promoted an item to the toolbar, that supersedes the default presentation in a menu? It's inconsistent with the implementation on other platforms, but I guess it's consistent with the spirit of GTK's HIG; we'll need to make sure this "inconsistency" is flagged in documentation. One additional item that isn't mentioned here is the implementation of the Application menu (the one in the bar at the top of the screen, not the top of the window), which only seems to have "New Window", "Preferences" and "Quit" - and probably also has an interaction with DocumentApp. I'm not sure if you want to consider that in-scope for this PR - I'd be entirely comfortable with leaving that for a separate PR if you wanted to. |
After I read it again, look likes it needs some paraphrasing, and it is as following: The items on the menu are arranged from bottom of the menu to top as following the last item is 'About app-name', followed by 'Help', 'Keyboard Shortcuts', 'Preferences', and finally, a horizontal separator."
That's good that you alerted me to that, I'll make sure I add that to the documentation.
As you say, I think it will be better to keep it for a separate PR. |
Ok ... but that means the first item is a horizontal separator. What is it... separating? What goes above the separator? I feel like I'm missing something here. |
Yes, it is a separator. It is a separator between those items and other user-defined items. If the user does not add any other items, it will not be exist. |
Ah - so, that can be addressed by setting those 4 items in a common section with |
This is actually what I did in a last commit 😄. |
Similar, but not quite (at least, based on what you've pushed to Github) - you've used |
@MuhammadMouradG: You've done 10 consecutive merges from |
@mhsmith: Yes, I plan to continue working on this PR. I'm waiting for two things to be completed before I can make further progress:
I'm doing these consecutive merges to announcing that the PR is still active and keeping things updated to early observe and resolving any raising conflicts. If these consecutive merges raising any problem to Toga team please let me know. |
No problem, thanks for the explanation. |
Describe your changes in detail
This PR convert the discussion into #874 to an actual implementation after formalize it.
By default and for any app with gtk-bacend, this PR will:
Gtk.DropDown
.What problem does this change solve?
This PR will make the gtk-backend follow the HIG-compliant of GTK menus.
Related issues:
Refs #874
PR Checklist: