This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author markroseman
Recipients Lance Ware, epaine, markroseman, serhiy.storchaka, terry.reedy, zach.ware
Date 2020-09-16.01:17:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Elaine, I was just having a look at this the other day too! I agree, this is definitely worth some effort to get done.

To be honest, I'm not a fan of the vwait solution to force the dialog to be modal. It doesn't actually make it modal (i.e. you can still do stuff in other windows). Moreover, the Mac version (which is native, so couldn't easily be made modal via Tkinter) has a very different design than on other platforms. It doesn't have "ok", "apply", "cancel" buttons or similar. It's designed to just hang around. 

When the font dialog was originally proposed for Tk (see they'd tried a modal API first and found it unworkable.

In light of that, my preference for the official wrapper would be to mirror the underlying API, as per what Lance's version first tried, using a callback mechanism to return results. Most importantly, it would eliminate the assumption that there's always a way to make it modal. Documentation would be key. Mind you, there's no official docs for the other dialogs. I can guarantee it would be well-documented with an example on TkDocs anyway!

If there aren't any strong objections, I'm able to have a go at modifying Lance's version over the next week or so. I've got Mac, Windows, and Linux environments to test everything out. 

Question... I assume the official wrapper needs checks to ensure fontchooser is available (i.e. 8.6 or greater). If not, should the wrapper just error out? Would providing an alternative implementation for Tk < 8.6 be something that would be done in an external module, or might that be something that could/should be included in the official library?
Date User Action Args
2020-09-16 01:17:43markrosemansetrecipients: + markroseman, terry.reedy, zach.ware, serhiy.storchaka, Lance Ware, epaine
2020-09-16 01:17:43markrosemansetmessageid: <>
2020-09-16 01:17:43markrosemanlinkissue28694 messages
2020-09-16 01:17:42markrosemancreate