Open f4315b71-14d3-4c16-bb7a-6534e5fa1d04 opened 9 years ago
Right now the menubar is slightly different for the shell (has Debug) and the editor windows (has Format and Run). I'd like to suggest the same menubar be used for all windows.
Rationale:
Easier to use, especially for systems that share a single menubar visually across the top of screen.
Later on we'll likely have situations where shell and one or more editors are part of the same toplevel window.
Implementation Notes:
Tk lets you reuse the same menubar across multiple toplevel windows (it actually creates a 'clone' every time it gets attached to the window).
This will simplify code e.g. for managing help and windows menus, which now have to do the same thing for multiple menubars.
Using tabbed windows, while it's possible to swap the menubar on the fly as you swap windows, it's not necessarily desirable to do so.
I've mocked up a system for menu validation/dispatch that will simplify how menu commands are handled now depending on what window is in front, and makes it easier to ensure the right things are enabled/disabled based on context.
I agree. Better to gray-out inactive items. I believe bar is already somewhat shared on mac. We are working on other changes needed to use tabbed notebooks.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields: ```python assignee = 'https://github.com/terryjreedy' closed_at = None created_at =
labels = ['expert-IDLE', 'type-feature', '3.10']
title = 'IDLE - same menubar across application'
updated_at =
user = 'https://github.com/roseman'
```
bugs.python.org fields:
```python
activity =
actor = 'terry.reedy'
assignee = 'terry.reedy'
closed = False
closed_date = None
closer = None
components = ['IDLE']
creation =
creator = 'markroseman'
dependencies = []
files = []
hgrepos = []
issue_num = 25032
keywords = []
message_count = 2.0
messages = ['250242', '296676']
nosy_count = 4.0
nosy_names = ['terry.reedy', 'kbk', 'roger.serwy', 'markroseman']
pr_nums = []
priority = 'normal'
resolution = None
stage = 'needs patch'
status = 'open'
superseder = None
type = 'enhancement'
url = 'https://bugs.python.org/issue25032'
versions = ['Python 3.10']
```