classification
Title: Idle Editor: Bottom Scroll Bar
Type: enhancement Stage: needs patch
Components: IDLE Versions: Python 3.6, Python 3.5, Python 3.4, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: Todd.Rovito, csabella, kbk, michael.foord, roger.serwy, terry.reedy
Priority: normal Keywords:

Created on 2005-05-24 09:08 by michael.foord, last changed 2017-06-07 21:51 by terry.reedy.

Pull Requests
URL Status Linked Edit
PR 1984 open csabella, 2017-06-07 11:49
Messages (8)
msg54533 - (view) Author: Michael Foord (michael.foord) * (Python committer) Date: 2005-05-24 09:08
IDLE comes without a horizontal (bottom) scroll bar. In 
general this is preferable, but there are times when it's a 
nuisance.

It would be nice to have an option (easily accessible) to 
switch this on.
msg54534 - (view) Author: Kurt B. Kaiser (kbk) * (Python committer) Date: 2005-05-26 15:48
Logged In: YES 
user_id=149084

IDLE is intended to present a simple interface to
beginners and to encourage good style.  I believe that
GvR made a deliberate decision not to have a horiz
scroll bar to discourage lines longer that 80 char.

If you want to code a patch,  I'd accept it.  However,
the config switch should be in config-main.def only, and
the selection should not appear on the Options dialog.

That way an experienced user could set it in
.idlerc/config-main.cfg 
msg164436 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2012-07-01 00:01
#15141, which I will close as a duplicate, makes the same request (for the edit window). Roger Serwy notes that his extension package
http://idlex.sourceforge.net/extensions.html
has horizontal.py, which does what is requested. He is willing for that (or other) extension(s) to be bundled with idle for default or optional activation. I presume that is done in some .cfg file. I re-opened for that purpose.

(Note: it would seem nice to be able to get a list of extensions available and those enabled from the menu. Or is there a reason not too?)

Some arguments for h. scroll:
1. The shell window is a print output as well as code input window. Output should not necessarily be limited to 80 chars. With variable pitch font, that does not even make much sense.
2. Edit windows are not limited to python code. Else they would *always* syntax hilight. Or Pycode might be embedded in other formats. If #6858 were implemented, h scroll would be more useful.
3. Not everyone agrees with the 80 char limits.
4. People sometimes edit a file written by someone else.

Counter-arguments:
1. A full screen window allows about 200 chars or more, which is enough for any code entry and most print output and most 'files written by someone else'.
2. For exceptions, put cursor on long line and use => arrow key.
msg164446 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2012-07-01 03:18
I wrote Horizontal.py as an extension in order to avoid forking IDLE. It 
should be simple to incorporate a toggling horizontal scroll bar within 
the EditorWindow class itself.
> (Note: it would seem nice to be able to get a list of extensions available and those enabled from the menu. Or is there a reason not too?)

IdleX provides a dialog for enabling and disabling extensions.

The shell window has wrapping enabled on its text widget. A horizontal 
bar is not needed there.
> 2. Edit windows are not limited to python code. Else they would *always* syntax hilight. Or Pycode might be embedded in other formats. If #6858 were implemented, h scroll would be more useful.
True. The Editor window does not wrap, which is why the horizontal bar 
is needed there.
> 3. Not everyone agrees with the 80 char limits.
The limit does make printing code simpler, however.  But that's a 
separate discussion.
> 4. People sometimes edit a file written by someone else.
Yes, and often times it is one or two lines in the file that extend 
beyond the right border of the editor.
> Counter-arguments:
> 1. A full screen window allows about 200 chars or more, which is enough for any code entry and most print output and most 'files written by someone else'.
I shouldn't have to resize the editor to see its contents.
> 2. For exceptions, put cursor on long line and use =>  arrow key.
>
> ----------
> nosy: +serwy, terry.reedy
> resolution: rejected ->
> status: closed ->  open
> versions: +Python 3.4
>
> _______________________________________
> Python tracker<report@bugs.python.org>
> <http://bugs.python.org/issue1207613>
> _______________________________________
>
msg228302 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-10-03 03:41
patch to be pulled from idlex
msg291301 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-04-07 22:03
I don't like telling people to hand-edit .idlerc files. It causes too many problems.  We added Extensions tab to avoid this.  I think all supported options should be on dialog.

Windows are resizable and accommodate lines up to current width.  Default width is user settable option.  So people who want to edit 100 char lines for code can and have editor open with 100 char width.

Shell,Edit, and Output windows should not necessarily be same.  Currently, Shell wraps both input and output while Editor Output truncate code input and grep output respectively.  I plan to review this, including possible scrollbar, but not a priority.
msg295332 - (view) Author: Cheryl Sabella (csabella) * Date: 2017-06-07 11:52
I hope you don't mind that I made a change for this.  I was working with 'Find in files' and couldn't see the full line, so I figured out where to add the scroll bar.  I only found this ticket after the fact.

If it's not appropriate, I can withdraw the PR.
msg295374 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-06-07 21:51
Output Window definitely needs a scrollbar available on screens where it cannot be stretched to 160 chars or so.  Thinking about it, if one greps idlelib in a local install, with a url something like C:/users/somename/appdata/local/python/lib/idlelib/*.py, one only needs 100 chars to pick up the idlelib file name and code, but needs the scrollbar to display the last 100 chars instead of the first 100 chars.

To add to msg16443: the fact that one can stretch the window much wider than 80 chars means that omitting a scrollbar does not enforce an 80-char limit.
History
Date User Action Args
2017-06-23 02:23:39terry.reedylinkissue30016 superseder
2017-06-07 21:51:45terry.reedysetmessages: + msg295374
2017-06-07 11:52:17csabellasetnosy: + csabella
messages: + msg295332
2017-06-07 11:49:41csabellasetpull_requests: + pull_request2050
2017-04-07 22:03:06terry.reedysetassignee: terry.reedy
messages: + msg291301
2015-08-07 02:05:16terry.reedysettitle: Bottom Scroll Bar in IDLE -> Idle Editor: Bottom Scroll Bar
versions: + Python 3.6
2014-10-03 03:41:22terry.reedysetassignee: kbk -> (no value)
versions: + Python 2.7, Python 3.5
2014-10-03 03:41:05terry.reedysetmessages: + msg228302
stage: needs patch
2013-03-26 09:07:37Ramchandra Aptesettitle: Bottom Scroll Bar -> Bottom Scroll Bar in IDLE
2013-03-25 03:00:45Todd.Rovitosetnosy: + Todd.Rovito
2012-07-01 03:18:21roger.serwysetmessages: + msg164446
2012-07-01 00:02:49terry.reedylinkissue15141 superseder
2012-07-01 00:01:48terry.reedysetstatus: closed -> open
versions: + Python 3.4
nosy: + terry.reedy, roger.serwy

messages: + msg164436

resolution: rejected ->
2005-05-24 09:08:33mjfoordcreate