Improved handling of appointment text that does not fit in available area.
Added more kinds of repeating items.
Added "Todo" items -- these propagate automatically to today every day.
Added emacs style editing of items.
Added on-line help.
Customizability changes since version 1.8
Added documentation of some of the internals (see doc/interface.ps).
This will be useful if you want to customize ical, or if you want to
write scripts to manipulate ical calendars.
Load $ical(library)/site.tcl at startup time if available.
Changed the Tcl class system to support single inheritance.
Ical can optionally be built as a single executable that contains
all required tcl/tk files. This allows people to copy ical binaries
around from one machine to another without having to install Tcl/Tk,
or without worrying about the location of ical's ".tcl" files. Use
the following method to build a standalone executable.
make ical-bundle
The ical library directory now includes the version number.
Therefore different versions of ical will not trounce each
other anymore.
Changes since version 1.9b2
Changed f2h to look for sed in more
directories than just /bin.
Made selected item background lighter to have better contrast
between foreground and background.
Add "-lc" flag when using shared linking with g++ on DEC OSF1.
This prevents an undefined symbol error at run-time.
Renamed "Annual" menu entry to "Annually".
-geometry option was being ignored.
Added "-iconposition" option for placing icon.
Removed duplicate definition of dialog_run.
Changed the Tcl class system to have better support for subclassing.
Item listings now contain more detailed repeating item descriptions
Added "Todo" items -- these propagate automatically to today every day
Added emacs style editing of items.
Added on-line help.
Overflowed appointment text now has a background.
Added documentation of some of the internals (see doc/interface.ps).
This will be useful if you want to customize ical, or if you want to
write scripts to manipulate ical calendars.
Contributed code
Added contributed script "icaladdlines"
Added contributed code "timeofday.tcl"
The "pollSeconds" option has been split in two -- "pollSeconds"
and "saveSeconds". The first option controls the frequency of
re-reads. The second option controls the frequency of saves.
By default "pollSeconds" is bigger than "saveSeconds".
The file selector was changed to not display ~ files by default.
The "children" list was also made a little wider.
Added more hooks
dayview-focus
dayview-unfocus
dayview-set-date
alarm-fire
Adapted the ruler demo from the Tk demo set for selecting a set of
alarm times.
Added "Delete Selection" menu item.
Internal Changes
Ical can optionally be built as a single executable that contains
all required tcl/tk files. This allows people to copy ical binaries
around from one machine to another without having to install Tcl/Tk,
or without worrying about the location of ical's ".tcl" files. Use
the following method to build a standalone executable.
make ical-bundle
The ical library directory now includes the version number.
Therefore different versions of ical will not trounce each
other anymore.
Lots of internal changes. These will allow easier creation of
calendar management scripts and ical customizations. Plus some
outright bugs were fixed. The Tcl code cleanups are:
cleaned up menu creation
cleaned up dialog code
cleaned up key binding mechanism
moved most code out of DayView into "actions.tcl".
removed obsolete use of "pack"
added inheritance support to object system
made a subclass of ItemWindow to allow moving/resizing
C++ code cleanups
C++ code now does permission checking and sets modified flags and
generates triggers on item/calendar modifications. This drastically
simplified the tcl code for manipulating calendars and items.
added routine to collect all non-hidden items
Removed calendar slot from items.
Removed "length" sub-command for notices.
cleaned up date/time parsing code and moved into C++
Bug fixes
handle invocations when the HOME environment variable is not set
Fix hangup that occurs on repeat_check/yes with fast typing into an item
Removed memory leaks
Do not use "gethostid" unless it really works. (It was causing
core-dumps on some HP machines.)
Supply "gethostname" routine for machines that do not have it.
(Solaris is the only problem reported to me.)
The calendar view automatically switches to the next day at midnight.
(But only if the view is displaying the current date.)
Added script "icalexpire" to the contrib directory. This script moves
expired items from the user's calendar into an archival calendar. Use
it if ical uses too much memory or takes too much time starting up
because there are too many expired items in your calendar.
Reduced per-item memory requirements.
Added date/time/time-range/item parsing routines to library.
Added code to import the current selection as a new item.
The item parsing code is used to guess the date and times for
the new item.
Added script "icaladd" to the contrib directory. This script reads
an item from the standard input and adds it to the user's calendar.
The date and times for the item are extracted from the standard input
if possible.
Cleaned up man-page formatting (thanks to john@civil.su.oz.au)
Include user name in printouts
Changed startup code so that more things get initialized when
the ical shells start up. Therefore the tcl startup scripts
need less junk. It also makes it easier to build various
converters and other scripts that manipulate calendar data.
Added a "contrib" directory.
Added a script "ical2calendar" to convert from an ical calendar to
an old-style calendar file.
Item text now word-wraps automatically. An unfortunate side-effect
of this change is that explicit new-lines in old items may make the
items have excessive new-lines.
Notices automatically expand and shrink as the text changes.
Appointments will optionally not allow text changes that would
result in overflow.
More user preferences can be set while ical is running.
default alarm intervals
default early-warning behavior
the time range displayed in the appointment window
height of the notice window
width of displayed appointments and notices
whether or not appointments allow text overflow
Dragging with the left mouse button held down in an appointment or
notice sets the X selection.
The "Insert Selection" entry in the Edit menu can now be used to
"paste" the current X selection into an appointment or notice.
The key "^y" invokes this operation.
On monochrome displays, item selection is indicated by changing the
border width of the selected item instead of reversing the colors.
This change was made because reversed colors interacted badly with
overflow text and X selections.
Support for Tcl 7.0 and Tk 3.3.
Ical no longer works with older versions of Tcl and Tk
Uses GNU style build process. Installers just need to type "configure"
and "make".
Ical is more careful about the fonts it picks. If a required font
does not exist, it tries to find another similar font. Eventually
it falls back to "fixed". You can also change from one font family
to another very easily -- use the "Ical.fontFamily" resource. See
the man page for more details.
Menus behave like most non-motif applications (unless tk_strictMotif
is set to true). I put in this change because most people in my lab
hate the motif-style menus that stay popped up even after you
release the button.
Users can now change the interval at which ical polls its calendar
files. This can help if you are on a slow machine.
Added "-popup" option for generating a nice item listing on an
X display. You can put "ical -popup" in your ".xsession" file
and get a little item listing window whenever you login.
Items now have an "owner" field to indicate who created them.
You can interactively change alarms for each appointment.
Backspace now deletes the last character (just like the Delete key)
If you delete an item you do not own, it does not actually get
deleted. It just gets hidden from your view.
You can now control am/pm printing, and whether a week starts with a
monday as opposed to a sunday.