homepage

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: Remove tear-off menu feature
Type: enhancement Stage: resolved
Components: IDLE Versions: Python 3.6, Python 3.4, Python 3.5, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: Todd.Rovito, ezio.melotti, markroseman, mcgrete, ned.deily, python-dev, roger.serwy, serhiy.storchaka, taleinat, terry.reedy
Priority: normal Keywords: patch

Created on 2012年01月26日 23:41 by mcgrete, last changed 2022年04月11日 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
IDLE2.6.5_RecentFilesUndocked.png mcgrete, 2012年01月26日 23:41 screen capture
issue13884.patch roger.serwy, 2012年01月28日 21:54 review
tearoff.patch markroseman, 2015年07月29日 19:42 Remove tearoff menus review
tearoff27.patch markroseman, 2015年07月29日 19:42 Remove tearoff menus, 2.7 branch review
Messages (16)
msg152050 - (view) Author: Tim McGreevy (mcgrete) Date: 2012年01月26日 23:41
When selecting from menu:
File --> Recent Files
the 'Recent Files' dropdown list undocks from the IDLE gui / File dropdown list. Even after selecting a past file, it remains open until closed manually.
Ubuntu LUCID
amd64
IDLE 2.6.5
TK version 8.5
All installed using Ubuntu supported PPA (Synaptic)
After closing 'Recent Files' subwindow, problem no longer persists until IDLE is terminated and restarted.
msg152054 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2012年01月26日 23:58
Could you try with IDLE 2.7/3.2?
msg152067 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2012年01月27日 06:45
IDLE has tear-off menus. From Help/IDLE Help:
"Click on the dotted line at the top of a menu to "tear it off":
a separate window containing the menu is created."
This is a feature, not a bug.
On 3.2.2, Win7, the Recent Files sub-menu cannot be torn off unless and until the File menu is torn off.
msg152192 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2012年01月28日 21:54
Should tear-off menus still be a feature? This relates to the #13504 meta-issue, in particular entry "4) ANNOYANCE: Get rid of the detachable menus feature.."
Attached is patch against 3.3a0 to disable tear-off menus. (It also makes modifications to Mac-specific code, but I can't test it since I don't have a Mac.)
msg173284 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2012年10月18日 17:04
I wonder if anyone uses this feature and would miss it if gone. Since it is a simple matter of passing 'tearoff=0/1' on menu creation, perhaps it should be a configuration feature.
msg173291 - (view) Author: Todd Rovito (Todd.Rovito) * Date: 2012年10月18日 19:54
Terry,
 I would not miss the feature at all this is very old school Unix like and most people find it confusing. At my job I tend to provide Python support to my co-workers and have had many questions about it. In addition I think #13504 meta issue provides even more evidence that removing the tear off menus would be a good thing. Something to consider with IDLE is it is often the first thing a user sees when using Python and first impressions count in most circumstances. IDLE could be much improved and Roger Serwy has a good start on improvements with his IdleX project. Thanks for the review and I for one would appreciate this patch getting committed.
msg173293 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012年10月18日 20:12
Yes, please, make it a configuration feature (off by default). Tear-off menus useful for large and deeply nested menus. Do not forget about people with disabilities.
msg173300 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2012年10月18日 21:53
Keep in mind that tear-off menus are not supported on IDLE on OS X when using Aqua Tk (either Carbon or Cocoa), the standard these days. That's primarily because Aqua Tk uses native OS X menu bars which appear once at the top of the desktop, not in each window. There are no dotted line menu bars there. The desktop menu bar menu items change to reflect which window currently has keyboard focus.
msg230381 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014年10月31日 19:27
I haven't seen any other program using it, so I wouldn't mind if they were removed. People with disabilities probably have better ways to deal with menus, but if adding the option is trivial it's probably better to add it.
msg247611 - (view) Author: Mark Roseman (markroseman) * Date: 2015年07月29日 19:42
As indicated in prior comments, the tearoff menus are strictly a holdover from ancient Motif, and are no longer found in current user interfaces on any platform. Because of that, I would strongly support deleting them altogether, rather than making available a configuration option.
I've updated Roger's patch for current 3.x tip (and also extended it to remove the reference to tearoff menus from the help file).
msg247612 - (view) Author: Mark Roseman (markroseman) * Date: 2015年07月29日 19:42
Same changes for 2.7 branch
msg247649 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015年07月30日 03:39
In your online tutorial, your recommend
 root.option_add('*tearOff', FALSE)
Why not here, and be covered everywhere, and in the future?
Or is this needed for each Toplevel?
msg247661 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015年07月30日 11:28
+1 for removal.
msg247676 - (view) Author: Mark Roseman (markroseman) * Date: 2015年07月30日 14:52
Doing it via the option database vs. on each menu would be my preferred approach. The option database is global, not per toplevel, so would cover everything. Only 'downside' is the whole its-not-an-application-its-a-library thing, though in the highly unlikely case someone was actually using idlelib this way, I'd consider setting that option a public service.
There's no harm doing it the other way (and I was being polite since the previous patch was done that way), but it does very marginally increase maintainability difficulties (remembering to keep the option and add it to any future menus).
Either way - please let's just make this change! :-)
msg247694 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015年07月30日 20:45
New changeset bead9330438c by Terry Jan Reedy in branch '2.7':
Issue #13884: Idle: Remove tearoff lines from menus. Patch by Roger Serwy.
https://hg.python.org/cpython/rev/bead9330438c
New changeset 6eb4441ed14b by Terry Jan Reedy in branch '3.4':
Issue #13884: Idle: Remove tearoff lines from menus. Patch by Roger Serwy.
https://hg.python.org/cpython/rev/6eb4441ed14b 
msg247697 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2015年07月30日 20:58
I decided the accessibility argument does not apply because a) there is only one nested menu, Recent files b) that menu can be very wide and I intend to make it longer, making it a bad candidate for staying on the screen, and c) when torn off, it did not seem accessible from the keyboard.
I decided to keep the patch as is, with tearoff disabled at the point of submenu creation. Setting the option on root is no easier when there are multiple Tk() calls. There may be more than one for normal Idle execution. There are many for testing, and we want the option set for tests.
History
Date User Action Args
2022年04月11日 14:57:26adminsetgithub: 58092
2020年06月08日 00:29:28terry.reedyunlinkissue13504 dependencies
2015年07月30日 21:11:24terry.reedysetassignee: terry.reedy
2015年07月30日 20:58:05terry.reedysetstatus: open -> closed
resolution: fixed
messages: + msg247697

stage: patch review -> resolved
2015年07月30日 20:45:19python-devsetnosy: + python-dev
messages: + msg247694
2015年07月30日 14:52:07markrosemansetmessages: + msg247676
2015年07月30日 11:28:26taleinatsetnosy: + taleinat
messages: + msg247661
2015年07月30日 03:39:41terry.reedysetmessages: + msg247649
versions: + Python 3.6
2015年07月29日 19:42:52markrosemansetfiles: + tearoff27.patch

messages: + msg247612
2015年07月29日 19:42:13markrosemansetfiles: + tearoff.patch
nosy: + markroseman
messages: + msg247611

2014年10月31日 19:27:47ezio.melottisetmessages: + msg230381
2014年10月20日 04:59:27terry.reedylinkissue13504 dependencies
2014年10月03日 03:50:10terry.reedysetversions: + Python 2.7, Python 3.5
2012年10月18日 21:53:23ned.deilysetnosy: + ned.deily
messages: + msg173300
2012年10月18日 20:12:35serhiy.storchakasetnosy: + serhiy.storchaka
messages: + msg173293
2012年10月18日 19:54:46Todd.Rovitosetmessages: + msg173291
2012年10月18日 17:04:19terry.reedysetmessages: + msg173284
2012年10月18日 16:57:29terry.reedysettitle: IDLE 2.6.5 Recent Files undocks -> IDLE: Remove tear-off menu feature
stage: patch review
type: enhancement
versions: + Python 3.4, - Python 2.6
2012年10月18日 16:05:45Todd.Rovitosetnosy: + Todd.Rovito
2012年01月28日 21:54:03roger.serwysetfiles: + issue13884.patch

nosy: + roger.serwy
messages: + msg152192

keywords: + patch
2012年01月27日 06:45:39terry.reedysetmessages: + msg152067
2012年01月26日 23:58:20ezio.melottisetnosy: + ezio.melotti, terry.reedy
messages: + msg152054
2012年01月26日 23:41:03mcgretecreate

AltStyle によって変換されたページ (->オリジナル) /