Repository navigation
IDLE: configdialog tab rearrange #84648
Copy link
Copy link
Closed
Labels
3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixes3.9 (EOL)end of lifeend of lifetopic-IDLEtype-featureA feature request or enhancementA feature request or enhancement
Description
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:
assignee = 'https://github.com/terryjreedy'
closed_at = <Date 2021-06-10.05:44:40.702>
created_at = <Date 2020-05-01.14:10:10.497>
labels = ['expert-IDLE', 'type-feature', '3.9', '3.10', '3.11']
title = 'IDLE: configdialog tab rearrange'
updated_at = <Date 2021-06-10.05:44:40.701>
user = 'https://github.com/E-Paine'bugs.python.org fields:
activity = <Date 2021-06-10.05:44:40.701>
actor = 'terry.reedy'
assignee = 'terry.reedy'
closed = True
closed_date = <Date 2021-06-10.05:44:40.702>
closer = 'terry.reedy'
components = ['IDLE']
creation = <Date 2020-05-01.14:10:10.497>
creator = 'epaine'
dependencies = []
files = ['49105', '49106', '49107', '49108', '49109', '49110', '49113', '49114', '49115', '49117', '49118', '49119', '49384']
hgrepos = []
issue_num = 40468
keywords = ['patch']
message_count = 21.0
messages = ['367846', '367870', '367941', '367946', '367973', '375224', '375283', '375384', '395304', '395310', '395357', '395358', '395364', '395372', '395373', '395374', '395375', '395459', '395465', '395466', '395504']
nosy_count = 6.0
nosy_names = ['terry.reedy', 'taleinat', 'markroseman', 'cheryl.sabella', 'miss-islington', 'epaine']
pr_nums = ['26561', '26593', '26612', '26613', '26618', '26619', '26620', '26621', '26628', '26629']
priority = 'normal'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = 'enhancement'
url = 'https://bugs.python.org/issue40468'
versions = ['Python 3.9', 'Python 3.10', 'Python 3.11']Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixes3.9 (EOL)end of lifeend of lifetopic-IDLEtype-featureA feature request or enhancementA feature request or enhancement
Activity
E-Paine commentedon May 1, 2020
The proposed change to move some of the content in the "General" tab to a new tab. The need for this has been emphasised
As a proof-of-concept, I moved the "Window Preferences" LabelFrame to a new tab titled "Window" (and did the minimum required to get the window to show).
The result can be seen in the "general_page.png" & "window_page.png" files.
Looking at the new general page, I felt that the "Editor Preferences" & "Shell Preferences" LabelFrames should not expand to fill the newly created space, and this should instead be taken up in the "Additional Help Sources" LabelFrame. The result can be seen in the “general_page_pady.png” file.
Finally, I felt that we could now reduce the height of the window further by decreasing the font page Listbox height to 10 (from 15). The result can be seen in “font_page_short.png”, “general_page_short.png” & “general_page_pady_short.png”.
As I said originally, this is just a proof-of-concept and we could easily move other options into a new tab (such as a “Editor/Shell” tab – though I think this is too long for a tab title).
terryjreedy commentedon May 1, 2020
'Windows', not 'Window'.
The indentation width should be moved to the Window page after being converted and reduced to a single line with a spinbox or maybe just an entry box.
Indent spaces (standard 4) [ 4] # or
Convert tab indents to [4] spaces (standard 4)
I cannot imagine that anyone would ever want more than 8, certainly not 16. Note that there is another issue that will result in no longer using tabs instead of spaces in Shell, so that this will really be for both (all, including Output).
There is at least one issue where this has been discussed, with the thought that something that most people should and will never change is now way too prominent. (My python development system with my list of issues is now being repaired. There has also been discussion about converting size to a spinbox. There is no particular reason for the particular presets.)
The problem with General is that the items left other than Help are specific to either editor or shell. I think General with general window preferences and Help followed by Shell/Ed specifics might be a better division.
E-Paine commentedon May 2, 2020
Would it be helpful to move the additional help sources to the extensions page (and rename it to "Add-ins")?
Just throwing ideas out there, we could also add an "Advanced" tab where we put the settings we (really) don't want others changing without good reason (such as the indentation width). However, such a tab could quite possibly mean reorganising the entire settings dialog.
While the original intention of this issue wasn't for a complete reorganisation of the dialog, I am more than willing to spend some time if we want to tie several other issues into this one (and it would be helpful to do so).
Another random idea is to copy other IDEs and use a tree on the left-side to navigate to different settings, which would allow us to keep the number of settings on a page much lower.
I will write a new prototype trying the "Shell/Ed" tab idea you suggested and will upload the relevant screenshots.
terryjreedy commentedon May 2, 2020
Since the help sources extend the Help menu, putting them under Extensions makes some sense. But I don't know how many people would think to look at the tab. But something to keep in mind. We can also ask for user opinions on idle-dev list.
Notebooks can put tabs on any side. I found one side example.
https://stackoverflow.com/questions/46909169/python-tkinter-side-notebook-tabs
This would allow more and longer tab names, though I would prefer position='w'or 'wn' (west north) instead of 'ws'. We should try this for the existing extensions pane.
When done with General, there are issues about redoing Highlights and Keys pages, with one person's mockups. One problem with making changes has been divergent opinions.
E-Paine commentedon May 3, 2020
Initially, I simply changed the tab position on the settings window notebook to west-north (tabs_wn.png). I didn't like that the tabs were right-sticky and looked at changing this in the following two ways:
Changing the tab position to the right-side (tabs_en.png), though I believe they are too easy to miss in this place.
Setting the tab minimum width after measuring the titles using the tkinter default font (finding the largest of these and then adding an appropriate padding - for tabs_wn_padx.png, this was 10).
This meant that tabs behaved as east-west sticky, and text was centred. I couldn't find how to change this to left-justified, though it is possible this can be done through a ttk layout.
Are there any other ideas?
If we do change the tab position, I think it would also be helpful to increase the font size to make them more obvious.
On a separate point, would it be better for me to upload future screenshots to an image hosting site and just include the link in the descriptor message?
16 remaining items
terryjreedy commentedon Jun 8, 2021
New changeset ab36b9f by Terry Jan Reedy in branch 'main':
bpo-40468: Move IDLE helplist settings to extensions page of dialog. (GH-26593)
ab36b9f
miss-islington commentedon Jun 8, 2021
New changeset 2cfe0e7 by Miss Islington (bot) in branch '3.10':
bpo-40468: Move IDLE helplist settings to extensions page of dialog. (GH-26593)
2cfe0e7
terryjreedy commentedon Jun 8, 2021
New changeset c03f0ab by Miss Islington (bot) in branch '3.9':
bpo-40468: Move IDLE helplist settings to extensions page of dialog. (GH-26593)
c03f0ab
terryjreedy commentedon Jun 9, 2021
PR-26618 wraps the extension functions in a new class, ExtPage, and then moves the new class after GenPage.
I verified that replacing the indent slider with a spinbox results in the dialog being shorter by the full height of the helplist frame. I will do that (or use a plain entry box) when I move it Window Preferences, after splitting GenPage.
terryjreedy commentedon Jun 9, 2021
New changeset 5571cab by Terry Jan Reedy in branch 'main':
bpo-40468: Factor out class ExtPage in idlelib.configdialog (GH-26618)
5571cab
miss-islington commentedon Jun 9, 2021
New changeset c835323 by Miss Islington (bot) in branch '3.9':
bpo-40468: Factor out class ExtPage in idlelib.configdialog (GH-26618)
c835323
miss-islington commentedon Jun 9, 2021
New changeset 33a7a24 by Miss Islington (bot) in branch '3.10':
bpo-40468: Factor out class ExtPage in idlelib.configdialog (GH-26618)
33a7a24
terryjreedy commentedon Jun 9, 2021
New changeset 275d5f7 by Terry Jan Reedy in branch 'main':
bpo-40468: Split IDLE settings General tab (GH-26621)
275d5f7
miss-islington commentedon Jun 9, 2021
New changeset 664ae29 by Miss Islington (bot) in branch '3.10':
bpo-40468: Split IDLE settings General tab (GH-26621)
664ae29
miss-islington commentedon Jun 9, 2021
New changeset d9f38d7 by Miss Islington (bot) in branch '3.9':
bpo-40468: Split IDLE settings General tab (GH-26621)
d9f38d7
terryjreedy commentedon Jun 10, 2021
Along with the spinbox PR for bpo-33962, I believe everything discussed here is done. There are still issues to improve specific pages.