classification
Title: IDLE: Menu accelerator conflict between Format and Options
Type: enhancement Stage: needs patch
Components: IDLE Versions: Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: cheryl.sabella, ned.deily, roger.serwy, terry.reedy
Priority: normal Keywords: patch

Created on 2011-11-02 01:03 by roger.serwy, last changed 2018-02-12 14:31 by cheryl.sabella.

Files
File name Uploaded Description Edit
issue13319.patch roger.serwy, 2011-12-08 04:23 review
Messages (9)
msg146819 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2011-11-02 01:03
This is a minor interface issue. The accelerator for opening the _Options menu in an editor conflicts with the F_ormat menu. 

I suggest changing the Options accelerator to "i" since Alt-t is for toggling tabs. (Perhaps the accelerator for <<toggle-tabs>> should be dropped, so that the options menu could be accessed by Alt-t.)
msg147054 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2011-11-04 22:34
The conflict is not fatal for keyboard users because repeating alt-o switches between Format and Options. To resolve the conflict, I would prefer to keep alt-o for Options, both because it is the first letter of Options and because Options appears on Shell windows. The only non-conflicting character in Format is 'a'.
msg147062 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2011-11-05 00:20
Which platform are you running? 

On Linux (Ubuntu 11.10, Python 3.2, Tk 8.5), Alt-o does not toggle between Format and Options. The first Alt-o selects "Format" and the second Alt-o selects "Comment Out Region". 

Changing Format's accelerator to "a" would be inconsistent with other applications that use "o", such as LibreOffice and Abiword. Consistency aside, changing Format to "a" would be the simplest fix.
msg147064 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2011-11-05 00:28
Py 3.2 on Win 7. 'Comment out region' is Alt-3 here.
msg147065 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2011-11-05 00:51
Alt-3 is comment-out region on Linux as well. The problem is that "o" is an accelerator for "Comment Out Region" under the Format menu. Pressing "Alt-o and o" under Linux is equivalent to "Alt-o and Alt-o".

This toggling between Format and Options may be a Tk bug under Linux since it works on Win7.
msg149017 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2011-12-08 04:23
Attached is a patch to have Alt-i bring up the Options menu.
msg229967 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-10-24 23:20
Currently, in 3.4 Win 7, tk 8.6, Alt O <enter> (or Alt O O O <enter>, etc) is required to get the Format menu to drop down. Following that with Alt O does select comment out.  Alt O O <enter> (with or without holding down Alt) opens the Option menu.  Having to hit <enter> makes both possible, but it was not obvious to me.  I only tried hitting <enter> 'in desperation'.  So I would like to remove the conflict.

As I said before, I really want Alt-O to open the always present Options menu.  Alt-I is completely unmnemonic to me.  The 'i' in 'option' is silent in that it mutates 't' to 'sh' but is not pronounced in itself as a vowel.  I don't consider a couple of other editors to be determinative for Idle.  Notepad++ has 11 menu items and not all even have an Alt hotkey.  To open without a mouse, one must hit Alt and then move with <- and -> arrow keys.

I would like to change the hot key for <<toggle-tabs>> to Alt-7.  We could then use Alt-T (Meta-T) for Forma_t.  Alt 5 & 6 are already used for Tabify and Untabify, so using the next key for tab toggle makes sense to me.  (And if we ever need Alt-U for something else, I would change the hot key for the probably seldom used 'Indent width' to Alt-8). 

Ned, do you have any opinion on this issue?
msg230025 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-10-26 09:01
I believe it is the case that none of these proposed changes would have any effect on Aqua (native, non-X11) OS X Tk variants (Cocoa or Carbon).  Unlike on Windows and X11, standard OS X menus in conforming GUI apps do not have underline letter shortcuts.  (OS X provides an application-independent way to navigate menu hierarchies in all apps using the keyboard; the link below has more details.)  OS X apps, of course, do have modifier key accelerators but, in almost all cases, the actual key combinations are different from those on other platforms, as defined in the default sets in config-keys.def.

Mark Roseman's TkDocs web site tutorial (and book) has a good overview of Tk menus and the most significant platform differences.

http://www.tkdocs.com/tutorial/menus.html

https://developer.apple.com/library/mac/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXKeyboardShortcuts/OSXAXKeyboardShortcuts.html
msg312055 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python triager) Date: 2018-02-12 14:31
Maybe a solution for this would be to change the name of the 'Format' menu to something like 'Source'?  Interestingly, the Format menu is available on outwin, even though that is output-only, so I guess 'Source' would only make sense if the other uses of an EditorWindow remove it from the menu.
History
Date User Action Args
2018-02-12 14:31:10cheryl.sabellasetnosy: + cheryl.sabella

messages: + msg312055
versions: + Python 3.8, - Python 2.7, Python 3.4, Python 3.5
2015-08-08 01:47:19terry.reedylinkissue24822 superseder
2014-10-26 09:01:27ned.deilysetmessages: + msg230025
2014-10-24 23:20:20terry.reedysetversions: + Python 3.5, - Python 3.3
2014-10-24 23:20:12terry.reedysetnosy: + ned.deily
messages: + msg229967
2013-06-15 18:43:52terry.reedysetversions: + Python 3.4, - Python 3.2
2011-12-08 04:23:36roger.serwysetfiles: + issue13319.patch
keywords: + patch
messages: + msg149017
2011-11-05 00:51:15roger.serwysetmessages: + msg147065
2011-11-05 00:28:59terry.reedysetmessages: + msg147064
2011-11-05 00:20:57roger.serwysetmessages: + msg147062
2011-11-04 22:34:46terry.reedysetversions: - Python 2.6, Python 3.1, Python 3.4
nosy: + terry.reedy

messages: + msg147054

stage: needs patch
2011-11-02 01:03:56roger.serwycreate