Much To Do About Nothing

About Much To Do

Much To Do About Nothing is a simple to-do list application written using Perl/Tk and Perl DBI.  It is free software; you may do whatever you want with it, so long as you credit the author.  Don't expect too much from it; it was written to learn PerlTk, and it's fairly basic.  However, if you want a practical working example of how to build a GUI using PerlTk, this one may be a good example for you to learn from.  (And, of course, you may find it useful in its own right.)  It requires the modules Tk, Tk::ROText, DBI, and Getopt::Long.

Much To Do About Nothing uses a MySQL database to store reminders, but it can be easily modified for any database with a DBD module available.  The database must be created by hand at present.  Every attempt is made to make database transactions atomic and not hold the database open.

There is no set limit upon the number or length of reminders.  Reminders are displayed in order of priority from highest to lowest (Priority 1 is high), then alphabetically by title.

Click on a reminder's title in the left pane to view it on the right pane.  You can add, delete or edit reminders, or re-sort the list, using the Reminders menu.  (You must have a reminder title selected in the listbox to edit that reminder.)  You can also edit a reminder by double-clicking its title in the left pane.  You can re-prioritize a reminder when you edit it.  The Update button in the Edit window saves your changes, and updates the left-pane list, without closing the Edit window.

The font and geometry can be set in a ~/.muchtodo file using the following simple syntax:

geometry: 800x800

scrollwidth: 14/50

font: -*-CG Omega-medium-r-normal--*-140-*-*-p-*-iso8859

boldfont: -*-CG Omega-bold-r-normal--*-140-*-*-p-*-iso8859

If not specified, the geometry defaults to 800x600, and the normal and bold fonts default to CG Omega.  If normal font is specified but bold isn't, it will be assumed you want the bold version of your specified normal font as your bold font.  If you don't have CG Omega, you'll probably want to change it to, for example, Helvetica, but I'm touting CG Omega because it's a marvellously clear font for both titles and body text (though its true beauty doesn't become apparent until you print it), yet almost unknown and grossly underappreciated.

NEW - You can now also set the relative width of the scrolling reminder list and the text pane in ~/.muchtodo file using the following syntax:

scrollwidth: 12/40

In this example, the reminder list will be 12/40 of the total window width, or, with the 800x800 example geometry, 240 pixels wide.

BUGS:  Widget geometries are precalculated for the default font, and may require minor tweaking if you use a significantly different sized font.

Installing Much To Do

Installing Much To Do About Nothing is simple.  All you need is the muchtodo program itself (here) and the SQL schema (here).  Create the database according to the given schema, set up the permissions as you want them, make the muchtodo file executable, put it somewhere in your PATH, and have at it.