Purpose: develop a list of needs and wishes for someone developing stand alone or suites of applications. See also Extension Developer's Wishlist for Tcl and Application User's Wishlist for Tcl. Tk can also be covered here (we can spin it off to a new page if necessary).
What constitutes urgent or required? Good question. What is critical for one person might be fluff or nonsense to someone else. The best I can do is give this kind of guideline. I would personally consider a feature urgent and needed in Tcl if it required the core to be modified, or extensive new code to be developed (as opposed to a wrapping for an existing library), to support some feature that might be useful to more than one customer.
Tcl 9.0 Wishlist would, in my mind, be a subset of the total wishlist.
Urgent/required features missing in Tcl
- Support for OO development. Minimal OO requirements for Tcl is the start of some work on defining this.
- More basic functions that the Tcl programmer can invoke. What, specifically though, needs to be added?
- Native cross-platform support for drag and drop in Tk, including suitable default bindings for some widgets (text, entry widgets in particular), and library procedures where necessary to make it easy for other widgets to be made drag'n'drop aware.
Features that would be useful/helpful/cute but not necessary
- I would put bundling itcl or other extensions into this category myself. This is because an application developer can make use of technologies like Tclkit, Freewrap, the TclWrap, Teapot, etc. to create a stand alone bundle of code. Having one or more existing extensions guaranteed to be present on the desktop if Tcl is there becomes, in my mind, a helpful, but not critical/necessary wish.
- MG July 10th 2005 - Not sure if this is the best/most current page for this, still, but.. I'd like to see a new value for the -compound option that many Tk widgets support, that works as the opposite of "none" - that is, if defined, the -text option is used instead of the -image/-bitmap options. For toolbars, particularly, it's nice to be able to easily switch between text/image/both, without having to $widget configure -image {} to get only the text to show. That is, IMHO, a real pain, as it means you have to keep track in a global array or somewhere else of which images are used by which widgets, so that when the user wants image/both again you can reconfigure it. Being able to just $widget config -compound [none/left/text] would be much easier, and would fit perfectly into the current workings of -compound, IMHO.
JJM Current Wish List...
- A "file truncate" command. --> see ftruncate in TclX (done in Tcl 8.5, see: http://tip.tcl.tk/206 ).
NOTE: I meant a truncate command that is in the core, is fully cross platform, and operates on an open file_id (I have part of an implementation for Win32 done already).
- An "lsearch -nocase" option, for uniformity with string match. (done in Tcl 8.5, see: http://tip.tcl.tk/241 )
- Bug fixes to make loading/unloading/reloading Tcl/Tk work properly. (mostly done for Tcl 8.5)
- Blue Sky #1: all "known issues" fixed.
- Blue Sky #2: fully thread-safe/bulletproof Tk.
- a built in debugger ala perl that lets you single step and examine variables. TclPro, RamDebugger, idebug, etc. all fall short
AK: What is missing from TclPro to make it fall short in your eyes ?
PSW:
- It is not built in
- TclPro is impossible (at least very difficult) to build
- The newer version tcldev is not free
LV: active support
- BLTs bgexec. It makes control of both stdout and stderr of an exec'd program very easy. This feature is requested every once in a while in the newsgroup. US
Is it really bgexec that you want, or just easier control of stdout and stderr? bgexec has most of the limitations of Tcl's exec and it seems a shame to continue those if something new were being added.
Breadcrust's Wish List
- Fileevent errorreadable to allow the programs to take care of stderr instead of having to redirect it or using catch. (nice)
- Ability to read more hardware ports on all platforms (eg - Parallel, USB, IR). (required)
- Something like TclX's filelist built-in. (nice)
- Tk image rotate (required)
- Toplevel -title -geometry & -icon options (nice)
- wm iconbitmap -default on all platforms, not just windoze (nice)
- Command to change window icon to image stored in variable (nice)
- Statusbar & Iconbar/Toolbar widgets (nice)
- Linux kernal level Tcl execution (MISC plug-in driver) (nice)
LV a free tool that provides reports and possibly interactive access to variable and proc cross referencing, ala C's cscope program.
LES Much better looking Tk in Linux. At the very least, anti-aliasing for fonts.
RLH 2005-07-09: How about a UI builder (like Glade) for Tk? If we had one good one then the community could hack on it. Also, since there is a wxTcl maybe we could modify wxGlade to output Tcl code?
From comp.lang.tcl, during August, 2007:
- Ability to print the contents of a text widget, retaining the relevant formatting (various fonts, colors, underlining, etc.), as well as providing access to the various features that are available in platform specific widgets but are missing in Tk's default text widget)
- More Tk widgets supported within Tile/Ttk, such as native spinbox and text widget
- completely flat button widget, to be used on MacOS X in button bars
- Bring MacOS X Tile widgets up to date
- Add .icns file support to Img
- Standard API for printing, perhaps with platform specific backend, but a common API for script developers
- Improve flexibility of smtp and smtpd
- Provide packages for messaging protocols like instant messaging [ See amsn, oscar8, tkabber, coccinella, for a start ]
- Tutorials for many of the packages, like soap, tile, etc.
- improve ability to write Tcl web services via soap
- release tcl 8.5 and a new version of tdom
- provide a package to produce formatted reports [add in references to packages which provide this functionality]
- provide support for printing graphics
- provide Windows GDI and Linux CUPS printing support
- Add something as good, or better, than Tktable to Tk.
- Provide an easy way to wrap FORTRAN libraries, such as netlib
- Provide a way from Tcl to manage the memory used by a library, regardless of the language in which it is written
- Provide support for http REST [L1 ]
- http 1.1 in the core
- A version of BLT that works on all platforms and Tcl versions
- ability to rotate text on canvas
- ability to rotate photo images (at least in 90 degree increments)
- a multi-platform Tcl package supporting SSH
- proper clipping to rectagular regions, multiple viewports
- good fast generic database API along the lines of SQLite.
- good way of specifying, reading, and writing binary file formats
- Packages for parsing, generation, and querying (TBox/ABox) RDF and OWL
- A megawidget to set up a default menu with About, Help, Quit, Save, Open, etc. as well as code to set up scaffolding for things like drag-n-drop, printing, etc.