(I've only been using digests up to this point, so this probably won't end up in the right thread.)

Hi Dave,

I recently took up maintaining Tcl::pTk and its port in MacPorts (p5-tcl-ptk, and related ones p5-tcl-tk and p5-tkx). Despite this, I do not consider myself an expert on Perl nor Tk.

To clarify, there is no `p5-tkk` port, it's probably a misspelling.

What Mojca said is correct: Perl/Tk never made it onto the native macOS "Aqua" UI, and still requires XQuartz. Based on what the current Perl/Tk maintainer has said, it would be a lot of effort to get it working on Aqua, so to answer your question, it's unlikely anyone is working on it. A few upstream reports for this: https://github.com/eserte/perl-tk/issues/7 and https://github.com/eserte/perl-tk/issues/24

I agree that some of the Q&A out there on this topic is unsatisfactory and outdated, so a few days ago I posted my own answer to StackOverflow: https://stackoverflow.com/questions/1249186/should-i-use-perl-tk-tcltk-or-tkx-for-a-perl-gui/54897792#54897792

The Perl/Tk port (p5-tk), from what I've tried it with, seems to work about well as it does on other platforms (e.g. Linux). If you expect any examples out of _Mastering Perl/Tk_ etc. to work on the first try, then I think that would be what to use.

However, if you want to use the native Aqua UI, then you might want to give one of the "wrapper" modules a try. These wrappers require an actual Tcl/Tk installation (i.e. the wrapper ports depend on the tk port); whenever a new Tcl/Tk is released, the wrappers will usually keep working as-is, which does give the impression of them being undermaintained. Contrast with Perl/Tk's philosophy of putting everything from Tk (plus extensions and modifications) into a single Perl module, with no dependency on a separate Tcl/Tk installation, but as a consequence has fallen far behind Tcl/Tk.

Specifically, you might try Tcl::Tk, a lightweight wrapper with Perl/Tk-like syntax; or Tcl::pTk, which is based on Tcl::Tk but is more intended for providing compatibility with existing Perl/Tk programs. I'm not sure which of the two to recommend for someone not familiar with Perl/Tk; it likely depends how much of Perl/Tk beyond the most common or basic features are to be used. For someone completely new to Tk, or is familiar with Tcl/Tk or wrappers for other programming languages (e.g. Tkinter for Python), or following the tutorials at TkDocs.com, I might suggest Tkx despite its dormancy.

You're welcome to join the mailing list tcltk at perl dot org if you have questions with using any of the wrappers. Of the few active users I've heard from recently, it turns out many of them are also using Tcl::pTk to run existing Perl/Tk programs on macOS Aqua.

If you do try Tcl::pTk, there's a good chance it will break on the first try, but the effort of finding any workarounds hopefully is smaller than rewriting a whole program in Tkx or Tcl/Tk. There are also certain features that Tcl::pTk unfortunately will "never" provide. Seeing what happens when running Perl/Tk programs out there under Tcl::pTk helps find where it needs improvement, so any issue reports are appreciated.

Christopher A. Chavez


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Reply via email to