Skip to content

macOS Rework: Toolbar - #32365

Draft
iccir wants to merge 22 commits into
matplotlib:mainfrom
iccir:macos-pr-toolbar
Draft

iccir wants to merge 22 commits into
matplotlib:mainfrom
iccir:macos-pr-toolbar

Conversation

@iccir

@iccir iccir commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

PR summary

Important

This PR depends on #32161 and will appear larger than it really is until #32161 is merged. To view the actual changes in this PR, compare macos-staging → macos-pr-toolbar.

This PR adjusts the appearance of the navigation toolbar and its buttons.

In addition, it:

  • Fixes layout so the window corner doesn't overlap the Home button.
  • Uses a single menu button when there isn't enough room to display all buttons.
  • Adds main menu entries for the various toolbar actions.
  • Adds support for macOS's "Increase contrast" accessibility setting. This adds a one pixel outline to the buttons and toolbar.
  • Adds support for macOS's "Keyboard navigation" option. This allows the user to press Tab and Shift-Tab to cycle through controls. When turned on, the backend will route Tab to the system and not create key_press_event/key_release_event events.
Screenshot showing the four different variants. Screenshot showing the compact width menu button.

AI Disclosure

  • I use AI for web search due to search engines becoming less reliable.
  • All code is my own.

PR quality check

  • Use an expressive title, e.g. "Fix title font property precedence"
  • [N/A] New and changed code is tested (Tested manually)
  • [N/A] Plotting related features are demonstrated in an example
  • [N/A] New features and API changes have release notes
  • [N/A] Documentation complies with general and docstring guidelines

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