-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
IDLE - modify text frame and widget borders #89614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Python 3.10 bundled IDLE with a small change in the interactive interpreter shell. Previously, the line indicators ">>>" were in-line with the command line, and a long/multi line command would have the same indentation as the indicator which was not ideal. that has been changed in 3.10 so that the line indicators are in a separate area as the actual commands so actual commands are always indented consistently. this is good. however, there is now a thick window border separating the line indicator and the main window. this is jarring and creates a visual separation that disassociates the line indicator from the line itself. i have on several occasions sat there waiting for something to finish only to notice that it has already finished but i missed seeing the next line indicator to the left. the window border creates two separate spaces and is distracting. an improvement would be to instead of the window border, eliminate it and shade the left side with a very light colour (probably even lighter than my photoshop in the attached image). actually, I suggest that the best solution is to remove the window border and leave the entire thing contiguously white, with no shading, similar to what it looked like previously. except that it now has correct indentation. I think this is the most visually cohesive and easy to use. Attached is an image to illustrate. Again, I suggest the "not shaded" version is the best. |
Whereas to me, 'not shaded' is easily the worst. Users can customize the sidebar colors, but since the default is the same at the text, I would not want to deliver IDLE with a scheme that I think is awful. On Windows, I agree that the light theme border is too heavy. The dark theme light border is barely noticeable. On mac, its the opposite: light theme ok, dark theme white border is too prominent. I would be willing to look at a change. |
of course that's fair, colour schemes are a very preferential thing. the main issue really is the border that creates a visual separation between the line indicators and the lines that they should be visually associated with. thanks! |
I request that this entire new feature be reverted. Having used it in classroom environment, it has been a catastrophe for teaching and is a significant regression in usability. Here are my notes so far:
print('hello') # This executes
print('world') # This is silently ignored
Here is what a saved interactive lesson used to look like: Python 3.7.6 (v3.7.6:43364a7ae0, Dec 18 2019, 14:18:50)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.
>>> # Quoting syntax: ' " ''' """
>>> 'hello'
'hello'
>>> "hello"
'hello'
>>> '''hello'''
'hello'
>>> """hello"""
'hello'
>>> print('Don\'t prefer backslashes')
Don't prefer backslashes
>>> print("Instead, we've used alternate quotes")
Instead, we've used alternate quotes
>>> print('''She said, "I'm a good string quoter."''')
She said, "I'm a good string quoter."
>>> 30 + 40 - 5
65
>>> _ * 10
650
>>> _ * 10
6500
>>> type(_)
<class 'int'> Here is what the saved session looks like now:
FWIW, when I say "students", I'm referring to adults who are already experts in their field. Today I was teaching experienced engineers (most with masters degrees) at a major consumer electronics company. The new IDLE feature seriously degraded their experience and almost every learner was adversely affected in some way. |
This issue applies to both Shell, with the prompt sidebar, and editor windows, with line number sidebars. I looked carefully at Windows Notepad++ editor tabs. They have a tab border, separate from the window border, that encompasses the line numbers, text, and scrollbar, but not the status bar. The are no internal lines between the three components. But the line numbers and scrollbar have a light gray background that separates them from the text. The IDLE text widgets instead have a border around the text but apparently not one around the larger frame. As a result, text widgets with just a scrollbar do not look exactly right. It would be easy to delete the text border and adjust the frame border. But as I suggested previously, I am pretty sure deleting it entirely would require a default light gray background. Any change would have to be tested on all 3 major systems. |
for what it's worth, Notepad++ is highly configurable. Here's what mine looks like with borders set to 0 and some sidebar items disabled. Even though it is the same classic theme, it looks a lot better than default. There's the more substantial point to note that Notepad++ is not interactive, the need to have an extremely tight visual coupling between the margin and the main body on a line-per-line basis is significantly reduced. Likewise, the line numbers separated by a border in the IDLE editor are not really bothersome either, it looks natural enough. It only really sticks out in the interactive interpreter. |
At a minimum, I think that there should be a toggle for whether this should be present or not, without having to dig in and change the values in IDLE (with, I'd like to note, absolutely no clue where to do that!). This is particularly an issue for beginners. It'd also be nice to control the color scheme/size etc, but I can understand if that's more complicated. |
In addition, I would encourage that people in future try to get a bigger gauge of how many people actually want a feature like this, how many don't, and then make a decision about whether to put it in- considering that there have been a fair few cases where people have clearly reacted negatively to this, maybe you should have checked if people'd dislike it before rolling it out w/o any easy way of undoing it. |
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:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: