Tklib Contribution & Feedback

If you read the tcllib page, you will find information about content requirements, submission guidelines, etc. for your software.

  1. Tracker @ https://core.tcl.tk/tklib/reportlist

However, recently tclguy summarised the process on news:comp.lang.tcl as:

  1. say you want to add a module in one of the forums where the admins hang out (the Wiki chat, https://www.tcl-lang.org/ , comp.lang.tcl, the tcllib developers mailing list are all possible locations)
  2. get a SourceForge developer login.
  3. Send it to one of the tklib administrators, asking them to add you as a member to the tklib cvs list.
  4. Create a new module in tklib.
  5. Add it to the tklib Makefile module list.
  6. Add in your code.
  7. Hopefully add in documentation and test cases, and perhaps even some demo code.
  8. Commit the changes. Be certain to add relevant comments to the CVS and hopefully the tklib ChangeLog.

See also tcllib for the policies and discussions relating to another module of this project, which has tcl-only procedures.


List here the suggestions for inclusion in tklib

Remember to list only items that come in Tk scripting - compiled widgets like tkimg, tkhtml, tktable, tktreectrl, blt, tix, vuw widgets, tkdnd, etc. belong in the various Batteries Included distributions.

Another systematic source for tklib-appropriate ideas are ports of the add-ons and widgets that Perl/Tk and Tkinter (and perhaps PMW) build in beyond the core ones provided in Tk itself.

I encourage people to list other useful Tk related widgets and add-ons that are not already a part of some other extension.

In particular, look around this wiki - I suspect there's a number of wonderful possibilities here.

For instance, check out Commonly requested widgets - if you can find well written versions of these, putting them into tklib would be a wonderful idea. Do be careful to verify the licensing status of the code, and GET PERMISSION FROM THE AUTHOR before adding code to the library though.


AM Things I can add:

  • Flash windows (transient windows with a picture) en maximised windows - there are several such scripts around
  • Bindings for zooming/panning in a canvas
  • Scaling functions (so that you can add items to a canvas in world coordinates)