classification
Title: IDLE: Make font sample editable
Type: enhancement Stage: resolved
Components: IDLE Versions: Python 3.7, Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: cheryl.sabella, serhiy.storchaka, terry.reedy
Priority: normal Keywords: patch

Created on 2017-10-24 13:20 by serhiy.storchaka, last changed 2018-01-23 04:32 by terry.reedy. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 4106 merged serhiy.storchaka, 2017-10-24 13:23
PR 4154 merged python-dev, 2017-10-28 00:22
Messages (8)
msg304909 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-24 13:20
The proposed patch makes the font sample in IDLE font configuration dialog editable. This allows users to test fonts with arbitrary samples.
msg305098 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-10-27 03:47
Thanks for the patch.  Adding the feature is somehow easier than I expected.  After moving the sample text to module level, which I considered doing before, saving edits for the duration of an IDLE session turned out to also be easy.  

With 11 point Lucida Console, there is room for 5 more lines, without erasing anything, before anything scrolls off the top.

I expect that saving changes across IDLE sessions would be much harder and likely not worth the effort.  I think that exploring font choices is likely rare enough that there is little need to do so.
msg305128 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python triager) Date: 2017-10-27 17:33
I don't know if saving the changes would be too difficult.

1.  Create a new config file for the text (I think it would clutter the existing config files, but could also add it there).
2.  Load font_sample_text from the config file.
3.  In apply(), write the text back to the config file.

Issues:
1.  Have a reset button so that the original sample text could be restored at some point?  If so, then need to store the original (current) text somewherem maybe a .def and .cfg version like for the other settings?  A reset button would also require some screen space from the text frame.
msg305135 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-10-27 21:18
Cheryl, thanks for explaining, in part, why I don't want to do this ;-).  Using the the current .def, .cfg system would mean that the default sample would be frozen.  I want to be able to change it.
msg305141 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python triager) Date: 2017-10-27 23:25
Makes sense.  I guess I didn't think of it being frozen because I was thinking of it being more like the Recent Files list, but pre-populated if it were empty.  As you said, probably not worth the effort.  :-)
msg305143 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-10-28 00:22
New changeset ed6554c487fb2403bc88be6deee611c7a4171d33 by Terry Jan Reedy (Serhiy Storchaka) in branch 'master':
bpo-31860: Make the font sample in the IDLE font configuration dialog editable. (#4106)
https://github.com/python/cpython/commit/ed6554c487fb2403bc88be6deee611c7a4171d33
msg305144 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-10-28 00:59
New changeset 6a2957de08e0c2d73f3124d12874b408cda4633d by Terry Jan Reedy (Miss Islington (bot)) in branch '3.6':
bpo-31860: Make the font sample in the IDLE font configuration dialog editable. (GH-4106) (#4154)
https://github.com/python/cpython/commit/6a2957de08e0c2d73f3124d12874b408cda4633d
msg310469 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-01-23 04:32
Postscript: I read a week or so ago that a new Windows 10 font chooser will have this feature.  There was not much detail and I believe it is currently only part of the Preview package.
History
Date User Action Args
2018-01-23 04:32:07terry.reedysetmessages: + msg310469
2017-10-28 12:55:22terry.reedysetpull_requests: - pull_request4125
2017-10-28 01:39:39python-devsetpull_requests: + pull_request4125
2017-10-28 01:03:14terry.reedysetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2017-10-28 01:02:32terry.reedysetpull_requests: - pull_request4123
2017-10-28 00:59:40terry.reedysetmessages: + msg305144
2017-10-28 00:39:04python-devsetpull_requests: + pull_request4123
2017-10-28 00:22:57python-devsetstage: commit review -> patch review
pull_requests: + pull_request4122
2017-10-28 00:22:52terry.reedysetmessages: + msg305143
2017-10-27 23:25:30cheryl.sabellasetmessages: + msg305141
2017-10-27 21:18:00terry.reedysetmessages: + msg305135
2017-10-27 17:33:31cheryl.sabellasetnosy: + cheryl.sabella
messages: + msg305128
2017-10-27 03:47:28terry.reedysetmessages: + msg305098
stage: patch review -> commit review
2017-10-24 13:23:25serhiy.storchakasetkeywords: + patch
stage: patch review
pull_requests: + pull_request4076
2017-10-24 13:20:40serhiy.storchakacreate