FE 'tkGooies' system

RELEASED (and 'To Do') List

'apps' grouped in functional categories

(FE = Freedom Environment)

The 'wheeeMorph' FE tkGooie

FE Home page > FE Overview page or FE Downloads page > FE 'tkGooies' Description page >
This FE 'tkGooies' 'RELEASED (and To-Do)' List page

! Note ! More 'tkGooie' 'released' and 'to-do' projects are to be added over time
--- and, when a project is implemented, a link to its code (and description) page
will be added in this functionally-categorized list.

< Go to Table of Contents, below >


I have a 'released and to-do' list of Tcl-Tk projects that I maintained from about 2010 through 2014 on the 'Tcl-Tk Wiki' ( wiki.tcl.tk ) at my 'Category: Person' (person-defining) page at wiki.tcl.tk/28584.

Starting in 2015 March, I started implementing my Tcl-Tk GUI script projects as 'drawers' in 'tkGooies' 'toolchests' of a menu-driven FE 'tkGooies' system that is available via an FE Downloads page. Hence, that 'released and to-do' list has become a 'released and to-do' list for the FE 'tkGooies' system.

I cannot be sure that certain obsessive-compulsive 'moderators' of the Tcl-Tk Wiki will not try to re-format my 'personal page' (at wiki.tcl.tk) containing my 'to-do' list --- or even delete or re-write/change portions of it --- accidentally or on-purpose.

    In particular, Nathan Coulter, who hides behind the nickname 'Poor Yorick' and initials 'PYK', is irking many contributors to the Wiki by unilaterally deciding to change their contribution pages. He even changes 'personal' pages of some seemingly currently inactive contributors, raising the ire of other contributors who think that the changes to their fellow-contributors' pages are inappropriate. And, in his hundreds or thousands of edits, Coulter sometimes accidentally deletes or changes parts of someone else's writings.

    Sometimes he changes someone else's writings and refuses to undo the changes when the original writer strongly objects to the changes.

    Coulter has written scripts that do 'batch changes' to Wiki pages. On multiple occasions, his batch changes have made changes to contributed code such that the code no longer runs.

    In short, the Tcler's Wiki (wiki.tcl.tk) is no longer a safe place to store my 'released and to-do list' --- nor any of my contributed code.

In addition, I cannot be sure that the 'Tcl-Tk Wiki' will last as long as my FE system. The Tcl-Tk 'home site' moved around a lot in the 1990-to-2005 fifteen-year time-frame --- and various Tcl-Tk code archives appeared and disappeared in that time-frame. The 'Tcl-Tk Wiki' code pages at wiki.tcl.tk could move --- or disappear, as moderator-PYK (Nathan Coulter) --- or a moderator like him --- drives more and more contributors away, causing the site to fold. I hope that my FE web site will last at least until 2020.

So, in early 2015, the time has come to maintain a 'master' copy of my Tcl-Tk 'released and to-do' list on this Freedom Environment site --- among the pages for the FE 'tkGooies' system --- instead of at 'wiki.tcl.tk'.

A copy of my 'released and to-do' list is below. It becomes the 'master copy'.

The 'Released and To-Do' Code Groups :

The table-of-contents (TOC) below provides 'category links' to sections of this page, which are further below. Those sections allow for showing my 'released and to-do' list broken up into these various categories.

For compact reference, I have labelled each category/group with a three-character ID of the form 'Cxy'. The C stands for 'Contribution' or 'Code' --- and the 'xy' identifies a 'released and to-do' group.

Also for compact reference, I have labelled each 'tkGooie' (whose code has been 'released') with a 6-or-more character ID of a form like 'Cxy-ab' or 'Cxy-abc' or 'Cxy-abcd'.

The 'tkGooies' that do not have an initial release yet are labelled 'Cxy-ToDo' --- to indicate that they are still in a 'ToDo' status and have not had an 'initial' release yet.

Not infrequently, I will have a 'tkGooie' utility that could be a candidate for inclusion in more than one script-category on this page. In most cases, I will probably put the 'tkGooie' in one category --- and add a note in another applicable category, pointing to that script.

If you (or I) are searching whether a certain topic/utility is in this 'released and to-do' list, it may not be easy to determine via the 'code groups'. So, alternatively, use the 'Find text' option of your web browser to look for keywords on this 'released and to-do' list page.

For example, when looking for released (or 'to do') items that do image 'warping' or 'merging' or 'morphing', use a FindText keyword like 'warp' or 'merg' or 'morph'.

You can look for 'to do' items, in this list, with a FindText keyword like '-todo'.

I offer the categories below in the order in which they appear (or may appear in the future) in the 'tkGooies' toolchests.

The indented categories indicate groups of 'tkGooie' 'apps' that are placed in sub-toolchests.

Table of Contents:    (links to sections of my 'released and to-do' list, below)

End of Table of Contents.

Start of the 'released and to-do' sub-list sections.

C3D) 3Dtools
(3D model viewers, file converters, terrain generators/viewers, color-array generators, ...)

Some '3Dtools' 'to-do' projects :

  • C3D-ToDo)
    A 3D Model File Translator - between OBJ, PLY, OFF, STL, and other files

  • C3D-ToDo)
    A 3D Molecule File Loader-and-Examiner - with OBJ file output

  • C3D-ToDo)
    A 3D '.hgt' Binary Terrain File Loader-and-Examiner -
    with OBJ file output of sub-sections

  • C3D-ToDo)
    A 3D 'point cloud' Display-Examine utility - from OBJ file ;
    with options to show numeric point-IDs in various ways

  • C3D-ToDo)
    A 3D 'point cloud' Display-CreatePolygons utility -
    OBJ file in and OBJ file out

  • C3D-ToDo)
    A 3D Model File Report Generator - giving Edge/Polygon/Vertex relationship listings

  • C3D-ToDo)
    A 3D Model File 'Touch-Up' Editor - to manually combine mesh elements and/or refine meshes

  • C3D-ToDo)
    An Image-PointAndPolygon-Picker and 3D-Model-File Generator -
    contour maps to 3D terrain files --- or
    alphanumeric characters/fonts (in image files) to 3D model files --- or
    photo images (such as faces) to 3D model files

  • C3D-ToDo)
    Gouraud-like shading (color interpolation) in 2D triangles and quadrilaterals on a Tk canvas (using colors specified at vertices)

  • C3D-ToDo)
    Texture (image) Mapping to 3D polygons on a Tk canvas

  • C3D-ToDo)
    A utility to generate Color Arrays and show them as stacks of colored rectangles --- for example, for use in coloring terrain models

  • C3D-ToDo)
    A 3D auto-mesh-enhancement (refinement) utility

  • C3D-ToDo)
    A 3D auto-mesh-'decimation' (reduction) utility

  • and still more to come

CAU) 'AUDIOtools'           'AU' = 'AUdio tools'

Some AUDIOtools 'to-do' projects :

  • CAU-ToDo)
    a GUI 'front end' for 'mplayer' (Also in VIDEOtools.)

  • CAU-ToDo)
    some GUI 'front-ends' for the 'sox' sound file editing/playback command

CFM) FILEmanagers           'FM' = 'File Managers'
(for Linux/Unix/BSD/MacOS)

Some FILEmanagement 'to-do' projects :

  • CFM-ToDo)
    A 'front-end' for the 'rsync' command
    (to backup files in a directory hierarchy --- or update a backup)

  • CFM-ToDo)
    A two-directory file system navigator
    (2 panels; one for each directory)

  • CFM-ToDo)
    A one-directory file system navigator
    (2 panels; one for subdirectories, one for files)

  • CFM-ToDo)
    Tk GUI Front End for 'du' - to display sizes of a hierarchy of sub-directories

  • CFM-ToDo)
    Tk GUI Front End for 'ls' - to display lists of files in a hierarchy

  • CFM-ToDo)
    Tk GUI Front End for 'batch-find(-and-optional-make-copies-or-links)'
    (a 'front-end' for 'cp' and 'mv and 'ln')

CIT) IMAGEtools           'IT' = 'Image Tools'

for Sketching / Painting / Diagramming / Morphing / Pixel-Editing
( 'lots-of-manual-interactivity'-but-computer-aided )
( also front-ends for various commands such as 'find', various image viewers,
ImageMagick 'convert', ...)

Some 'IMAGEtools' 'to-do' projects :

  • CIT-ToDo)
    tkImageMap --- mapping/distorting an image into a planar, polygonal outline
    --- for example, a world-map image onto an unfolded octagon

  • CIT-ToDo)
    tkImageGridWarp2 --- like GridWarp above, but allowing for moving the edges of the image in or out

  • CIT-ToDo)
    tkImageSwirl --- for 'stirring' pixels in an image

  • CIT-ToDo)
    A Color Pixel Editor for GIF and PNG files

  • CIT-ToDo)
    A Color Symmetric Drawing Utility

Some IMAGEtools 'front-ends' for commands such as 'find' and various image viewers (including animated-GIF viewers) and ImageMagick 'convert' :

Some IMAGEtools 'FRONT END' 'to do' items :

  • CIT-ToDo)
    Tk GUI Front End for ImageMagick 'convert' - to make 'spiffy-looking' text-font images

  • CIT-ToDo)
    Tk GUI Front End for ImageMagick 'convert' - to make other 'spiffy' images

  • CIT-ToDo)
    Tk GUI Front End for ImageMagick 'composite'

In the 'CGA' (Game-Dev Aids) group, there are image-related utilities --- such as a front-end for the 'base64' command:

  • CGA-toB64)
    Make BASE64 data from Tk 'photo' image files (GIF,PGM,PPM,PNG) -
    a Tk GUI wrapper for the 'base64' command (for Linux/Unix/BSD systems)

CIF) 'Image Flat' Utilities           'IF' = 'Image Flat'

for Tk GUI Embellishment ( 'flat' BIBBs , where BIBBs = Buttons, Icons, Backgrounds, Bullets )

Five alternative GUI's to draw rectangular buttons with x-or-y color gradients :

In the GUI's above, the color gradient follows vertical or horizontal straight lines.

The following GUI's are to draw non-linear (curvalicious) color gradients in a rectangular 'button'.

  • CIF-go)
    Color Gradient Ovals rectangular-button
    ovals drawn about a user-selectable center point (uses canvas-'create oval')

  • CIF-ToDo)
    A color-gradient-button-maker GUI using cartesian functions of one variable

  • CIF-ToDo)
    A color-gradient-button-maker GUI using polar functions of one variable

  • CIF-ToDo)
    A color-gradient-button-maker GUI using spline curves

Other 'flat' rectangle/button makers :

There are a large variety of functions in 'CIF-fi'.

Other 'flat' BIBB makers (beyond rectangles) :

For more rectangles, try 'CIF-rp' with N=4 and try 'CIF-se' with large exponent.

CIS) 'Image Shaded' Utilities           'IS' = 'Image Shaded'

for Tk GUI Embellishment ( 'shaded', 3D-like BIBBs )

Some experiments to try with these tkGooies :

  • Try 'CIS-se' with large exponent for 3D-like rounded-rectangle shapes.

  • Try 'CIS-sf' for 3D-like star/petals/snowflake shapes.

  • Try 'CIS-sd' for 3D-like (bulging) sphere/disk shapes.

  • Try 'CIS-sr' for 3D-like donut/ring shapes.

  • Try 'CIS-st' for 3D-like triangle shapes.

The 'CIT-ef' utility, in the 'CIT' section above, could be used to edit-with-functions --- to make shaded-looking images from 'flat' images (if some functions were added) --- or to process already-shaded images.

See 'CIT-tb' (a 'Title Blocks' utility) to add text-fonts to rectangular (and other shaped) images --- for example, to add text to shapes made by the utilities in the CIF and CIS utility groups.

The following page gives an overview of the 'CIT' and 'CIF' and 'CIS' utilities, along with use of some of the other utilities in this list of contributions.

CIA) 'Image Animation' Utilities           'IA' = 'Image Animation'

  • CIA-ToDo)
    tkVisualizer --- animated images that can be driven by changing data
    (data from audio files, network activity, CPU activity, memory/swap activity, ...)

  • Other image-animations will be available in the 'CME' (MATHed) group below.

  • Some animated-GIF files are created in some 'CIT' (IMAGEtools) warp and morph utilities.

CNP) INTERNETtools         'NP' = 'Network Protocol'

(using internet/intranet Network Protocols and commands like http, ftp, wget, ...)

  • CNP-toon)
    tkGetComics - to get 'old' comics from comic archive web-sites
    --- for example, Dilbert, Doonesbury, Rhymes with Orange, Speed Bump, Zits, and perhaps (eventually) the sites of some editorial-page political cartoonists

Some INTERNETtools 'to do' items :

  • some front-ends for the 'wget' command --- to analyze web pages in various ways

  • more 'CNP' candidates may be coming

CMT) MATHtools           'MT' = 'Math Tools'

( calculators, converter-selectors, ... )

Some 'MATHtools' 'to-do' projects :

  • CMT-ToDo)
    Put a Tk GUI on some nonlinear equation solving procedures.
    Ref: 'Newton-Raphson Equation Solver' at wiki.tck.tk

  • CMT-ToDo)
    tkOscilloscope - to experiment with dynamic curves in 'the plane'

  • CMT-ToDo)
    A Traffic Simulation - on a simple grid of streets and stop-lights, with simplifying assumptions

  • CMT-ToDo)
    Calculate who owes how much on a house rental for a week, for members of a family reunion --- with some members staying different numbers of days --- with some rooms being valued higher than others --- with some family members getting a discount (such as children or the low-earning/low-saving uncle)

Some 'MATHtools' 'to-do' projects that will probably be put in the 'SELECTORtools' toolchest :

  • CMT-ToDo)

  • CMT-ToDo)

  • CMT-ToDo)

  • CMT-ToDo)

CME) MATHed           'ME' = 'Math Education'

Math Proofs and Demonstrations - Interactive and/or Animated
( for education and/or entertainment )

Many MATHed 'to-do' projects :

In the course of developing these demos, I hope to develop some algorithms/procs that make it easy to perform geometric constructions (example: a generalized proc for creating a line perpendicular to a given line and passing through a given point). By developing a library of utility procs like that, it will hopefully become easier and easier to develop demos of math theorems/results/proofs/facts/truths.

In fact, it may become possible to put together an 'interactive geometry system' somewhat like some that are listed at Wikipedia. Or, at least, I should be able to show that Tcl-Tk is so flexible that one can perform demos in ways that are not possible with any (or most) of these software systems.

A paraphrase: "Math longa. Vita brevis est."   From: "Ars longa. Vita brevis est."

Meanings: "Math lives on. Life is short."   and   "Art lives on. Life is short."

CDE) ODEtools         'DE' = 'Differential Equations'

( utilities to integrate classes of ODE's = Ordinary Differential Equations )

None released yet. Some 'ODEtools' 'to-do' projects :

  • CDE-ToDo)
    Integration of (nonlinear) ODE's for simple (wide-swinging) pendulum, with animation of solutions

  • CDE-ToDo)
    Integration of (nonlinear) ODE's for double (wide-swinging) pendulum, with animation of solutions

  • CDE-ToDo)
    Integration of ODE's for (non-linear) spring-mass-damper system, with animation of solutions

  • CDE-ToDo)
    Integration of ODE's for plane (2D) 3-body problem, with animation of orbits

  • CDE-ToDo)
    Integration of ODE's for 3D 3-body problem, with trajectories output to 3D-line-segs OBJ file

  • CDE-ToDo)
    Integration of a system of first-order ODE's for pharmacokinetics simulation --- 2-compartment, plasma-tissue model, for a chemical and up to 2 metabolites, oral and/or intravenous administration, for various mammals (examples: mouse, rat, rabbit, dog, human, horse)

CPL) PLOTtools           'PL' = 'PLot tools'

(for QUICK line, pie, bar, etc. graphs )

Some 'native-Tk' GUI plot utilities :

  • CPL-pc)
    A 'PlotQuik' Pie Chart GUI ... for making pie charts QUICKLY

  • CPL-ToDo)
    A 'PlotQuik' Bar Chart GUI ... for making bar charts QUICKLY
    (This code needs to be ported-and-improved from the 'feHandyTools' system.)

  • CPL-ToDo)
    Math Expression XY-plot, created from an expression entered on the GUI
    (This code needs to be ported-and-improved from the 'feHandyTools' system.)

  • CPL-ToDo)
    Points and/or Lines XY-plot, created from data entered on the GUI
    (This code needs to be ported-and-improved from the 'feHandyTools' system.)

  • CPL-ToDo)
    XY-plot from a text file of data columns, 2 or 3 columns to x-y or x-y1-y2 plots
    (This code needs to be ported-and-improved from the 'feHandyTools' system.)

Some 'gnuplot' with Tk GUI front-end plot utilities :

CSE) SELECTORtools           'SE' = 'SElector tools'

( for colors, fonts, ... ; and various converter-selectors )

The 'CMT' (MATHtools) group references some 'converter-selectors' placed in this 'SELECTORtools' group:

Some SELECTORtools 'to do' items :

  • CMT-ToDo)

  • CMT-ToDo)

  • CMT-ToDo)

  • CMT-ToDo)

CSY) SYSTEMtools           'SY' = 'SYstem tools'

( including utilities using meters to show changing computer system conditions )
( also some 'front-ends' to some computer system configuration & query commands )

There are some *demo* scripts on wiki.tcl.tk that show meters or dials --- drawn on a Tk 'canvas' widget. But (up to 2013) no one, on wiki.tcl.tk, seems to have tied those meters into doing something useful.

By calling some utility programs on Linux that return memory-usage numbers or CPU-usage numbers, I propose making some (rather pretty) meters that dynamically display such activity --- by using the Tcl 'after' command to update the meter display, every so many milliseconds, in a Tk GUI.

The meters of Marco Maggi are the best ones that I have seen on wiki.tcl.tk :

especially the tachometer and the voltmeter. Unfortunately, he did not post images with the code, but the code seems to run with little change (at least on Linux). If it's OK, someday, I may post images on those 3 wiki.tcl.tk pages so that people can see the meters easily. (Done, 2013 Jul.)

Here are four implementations of the Maggi tachometer-style meter :

I plan to return to these 4 meter utilities and make 'Hi-Def' versions based on a 'create image' technique --- instead of the 'create arc' and 'create line' commands used to make the Maggi-meters. (See below.)

And I may try to make versions of these utilities based on a 'moving skyscraper silhouette' or 'moving mountain-tops silhouette' technique based on using 'create line' on a Tk canvas. See a 'to do' list below.

These two alternatives --- 'create image' and 'moving skyscraper' --- are discussed in more detail near the bottom of the page A Tachometer-style Meter --- for CPU Usage.

Here are some 'Hi-Def' versions of the above meters:   (done with background images)

Also on my 'to do' list are some 'traveling-history' plots of the above types of computer usage:

  • CSY-ToDo)
    A Traveling History Plot - for CPU Usage - using 'create line' or 'create image'

  • CSY-ToDo)
    A Traveling History Plot - for Memory-and-Swap Usage - using 'create line' or 'create image'

  • CSY-ToDo)
    Traveling History Plot - for Network Interface Usage - using 'create line' or 'create image'

Some 'front-ends' for system configuration & query commands
--- such as 'xinput', 'ps', ... :

  • CSY-xin)
    tkPointerSettings - a Tk GUI 'wrapper' for the 'xinput' command,
    to change or implement various 'button' functions on pointer-devices (like mice),
    for various maker-models of the pointer devices
    (for Linux/Unix/BSD systems)

  • CSY-ToDo)
    Tk GUI Front End for 'ps'

  • CSY-ToDo)
    Tk GUI Front End for a 'nethogs' utility

CTX) TEXTtools           'TX' = 'TeXt Tools'

( esp. FE 'xpg' )

CVT) VIDEOtools           'VT' = 'Video Tools'

Some 'VIDEOtools' 'to-do' projects :

  • CVT-ToDo)
    Tk GUI Front End for 'xrandr'
    (to help connect laptops to TV's and overhead projectors)

  • CVT-ToDo)
    Tk GUI Front End for 'mplayer'
    (Also to be accessible in the AUDIOtools toolchest.)

  • more video candidates coming

CGE) Tk-GUIs EMBELLISHED         'GE' = 'Gui Embellished'

Experiments in making 'GUIs with Images'

CGA) Game-development Aids           'GA' = 'Game-dev Aids'

Some 'CGA' (Game-Dev Aids) 'to-do' projects :

  • CGA-ToDo)
    A library of base64-image-files, with a GUI wrapper to see the images and optionally make GIF files

  • CGA-ToDo)
    A library of GIF-image-files, with a GUI wrapper to see the images and optionally make base64-data

  • CGA-ToDo)
    A Tk GUI utility to convert between GIF and PNG files - and show each on a canvas

  • CGA-ToDo)
    A PGM/PPM-file to GIF-file conversion utility

CPA) Tk Programming Aids           'PA' = 'Programming Aids'

Some 'CPA' (Programming Aids) 'to-do' projects :

  • CPA-ToDo)
    A demo script for the 'miniscale' widget, used above in 'CIF-1d'.
    (maybe, someday, after all the projects above are done)

  • CPA-ToDo)
    A demo script for the 'miniscaleH' widget, used above in 'C3D-ca'.
    (maybe, someday, after all the projects above are done)

  • CPA-ToDo)
    A demo script for the 'minilistbox' widget, used above 'CIF-rp' and 'CIF-gs'.
    (maybe, someday, after all the projects above are done)

  • CPA-ToDo)
    A demo script for a 'work-in-progress indicator', based on some wiki.tcl.tk scripts

  • CPA-ToDo)
    A demo script for 'balloon helps', based on some wiki.tcl.tk scripts

CSR) Tcl-Tk Suggestions/Requests.         'SR' = 'Suggestions and Requests'


REFERENCES for the Tcl-Tk 'Released and To-Do' List :

Some resources (web links and locally-stored documents) for reference in coding the projects in this 'to do' list are available on a 'tkGooies' Resources web page.

Since web links go dead so frequently, I try to choose web links that are likely to be around for at least a few years (from the date I post them). And, to have more long-lasting sources of information, I store some reference documents (often in the form of PDF files) on this Freedom Environment web site.

I occasionally look for information that will help me code specific Tcl-Tk scripts via a web search on keywords like 'map projection algorithm'. I may use results of queries like this to populate the 'tkGooies Resources' web page mentioned above.

Here is a Menu of Web Searchers --- to help in finding more coding info for making 'tkGooies'.

"FE 'tkGooies' . . . . Lots of GUI Hammers for Your Various Nails."

Bottom of the FE 'tkGooies' RELEASED (and To-Do) LIST page.

To return to a previously visited web page, click on the
Back button of your web browser a sufficient number of times.
OR, use the History-list option of your web browser.
OR ...

< Go to Table of Contents, above. >
< Go to Top of Page, above. >
< Go to FE Home page >

Page was started 2015 Mar 12. Page was changed 2015 Mar 20.
Page was changed 2015 Dec 01. (minor format and name changes)
Page was changed 2015 Dec 31. (reorganized the categories in this page along the lines of the categories of 'tkGooies' toolchests)
Page was changed 2016 Jan 11. (added many links in the MATHed section)