This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: IDLE - same menubar across application
Type: enhancement Stage: needs patch
Components: IDLE Versions: Python 3.10
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: kbk, markroseman, roger.serwy, terry.reedy
Priority: normal Keywords:

Created on 2015-09-08 17:22 by markroseman, last changed 2022-04-11 14:58 by admin.

Messages (2)
msg250242 - (view) Author: Mark Roseman (markroseman) * Date: 2015-09-08 17:22
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:

1. Easier to use, especially for systems that share a single menubar visually across the top of screen.

2. Later on we'll likely have situations where shell and one or more editors are part of the same toplevel window.


Implementation Notes:

1. Tk lets you reuse the same menubar across multiple toplevel windows (it actually creates a 'clone' every time it gets attached to the window).

2. This will simplify code e.g. for managing help and windows menus, which now have to do the same thing for multiple menubars.

3. 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.

4. 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.
msg296676 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-06-23 04:59
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.
History
Date User Action Args
2022-04-11 14:58:20adminsetgithub: 69220
2020-06-07 22:06:49terry.reedysetversions: + Python 3.10, - Python 3.6, Python 3.7
2017-06-23 04:59:39terry.reedysetversions: + Python 3.7, - Python 2.7, Python 3.4, Python 3.5
messages: + msg296676

assignee: terry.reedy
type: enhancement
stage: needs patch
2015-09-08 17:22:33markrosemancreate