beeware / beeware/toga

Develop a HIG-compliant story for GTK menus

Open
#874 17 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
9h 45m
Merged PRs (30d)
58

Description

Ticket #872 addressed some immediate UX issues with menus under GTK; however, there is a larger UX issue that needs to be addressed.

The [GNOME HIG](https://developer.gnome.org/hig/stable/) specifies how menus should be used on a GTK app; the current way the GTK backend uses menus violates that specification.

Toga apps *don't* explicitly define menus so that different HIG guidelines can be incorporated. This allows macOS to display the "quit" option under the application menu, Windows to put "quit" under the File menu... and GTK to have it's own interpretation.

This also extends to user-defined commands; commands are currently grouped, which roughly maps onto top level menu items - but the GNOME HIG will require some re-examination of this.

Specific Gnome HIG references:
* [Design patterns](https://developer.gnome.org/hig/stable/patterns.html.en)
* [UI Elements](https://developer.gnome.org/hig/stable/ui-elements.html.en)

We need to develop a consistent HIG-compliant interpretation of Toga commands for the GTK backend.

Contributor guide

Open the contributing guide

Research direction

Start by examining how the GTK backend currently maps Toga commands into menus, then compare that behavior with the GNOME HIG Design patterns and UI Elements references linked in the issue. The work is done when application and user-defined commands have a consistent GTK interpretation that follows the relevant HIG guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
design, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.