[issue24776] IDLE: Improve config dialog font change user interface

Terry J. Reedy report at bugs.python.org
Mon Jul 10 18:05:15 EDT 2017


Terry J. Reedy added the comment:

Make this the master issue for improving the font tab user interface by improving components and rearranging them.  With basic tests done, I am moving this up in priority.

Related issues currently open.
#30870 (dependency) made Up/Down change font selection; unit test needed.
#27755 replaces IDLE's custom DynOptionMenu with ttk.Combobox.  Comboboxes allow key entry of a value and the arrow toggles. See msg298091 for comparison and evaluation for font page.
#13802 (dependency) is about the improving the sample display.
#17642 is about font resizing by hot key and wheel in editor.
#20917 is about the font change notification system.

Additional changes for this issue or new related issues.

* Selecting a font by name (as well as a font size by number) can be done with an entry box with a validator linked to the listbox.  If a ttk Combobox can be locked open, I would try that.  See #27755.  For a demo of another alternative, run the tk fontchooser.

import tkinter
root = tkinter.Tk()
root.tk.call('tk', 'fontchooser', 'show')

For IDLE, I like some parts, not others.  I view it as an alternate mockup for ideas to build on.

* Mark's mockup removes "Base Editor Font".  If an editor window can have its font individually resized, then the settings on the font page define just that.  'Font Size' would then have to be 'Starting [or Default] Font Size'. 

* Font size a slider?  I am not convinced.  It would have to be vertical to go up to 40.  (I added larger sizes by request for classroom projector use.)  On the other hand, it would allow any size in the given range.  A spinbox that could be spun by mousewheel would also and stay compact.  Or use a ttk Combobox.

* See #13802 for discussion of sample display.

* Indent.  I don't understand "cries out to be moved (usually when people are intending to increase their font size)."  But I think it take too much space and should be shrunk to a spin box or drop box.  Reduced to a single line, I am thinking of moving it to the General tab, or perhaps a new Editor tab.  It does not particularly belong with font selection.

* Factor the Font page, with associated Variables and their tracers, other attributes, and methods, into a FontPage class.

----------
dependencies: +IDLE Prefernces/Fonts: use multiple alphabets in examples, IDLE: configdialog/fonts: change font when select by key up/down, Retire DynOptionMenu with a ttk Combobox
priority: low -> normal
title: Improve Fonts/Tabs UX for IDLE -> IDLE: Improve config dialog font change user interface
versions: +Python 3.7 -Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24776>
_______________________________________


More information about the Python-bugs-list mailing list