Ruby Agenda
Ruby Agenda is an Agenda/Schedule application aimed at use on an iPAQ, but
works just as well on your desktop. Ruby Agenda is actively tested by the
author on an iPAQ, that is, in daily life. The iPAQ runs Linux (with X and
matchbox as window manager).
Ruby Agenda is written in Ruby with Tk bindings (which are in the default
Ruby libraries; Tk is likely to be installed on any UNIX system).
For use on iPAQ/linux/familiar-distro, see my
ipkg feed. The agenda will be ported from Ruby/Tk to Ruby-Wise to eliminate the tcl interpreter. At this
point in time, it would not gain much speed and would loose functionality,
since Ruby-Wise is not finished.
Download (stable beta), unzip and launch
with
ruby agenda/tkagenda.rb
The agenda will store appointments in ~/.rbagenda.xml when it
quits (i.e. the window is destroyed) or when you press the Save button. It will
back up the previous version in ~/.rbagenda.xml.old while Ruby Agenda
is in beta.
Make sure you have a recent version of Ruby, or the Tk-bindings will not
work.
Alternatively, when running familiar on iPAQ-linux, install ruby-agenda from
my feed and launch it from your menu.
Features
v0.9.2 (stable -- 2002 Aug 13 -- 1557 lines)
- Feature: split database in two for faster browsing through future
appointments,
- Fix: edit-flag now marked when only changing existing appointments; caused
lost data,
- Fix: sets edit-flag to false after saving.
v0.9 (stable -- 2002 May 25 -- 1482 lines)
- as ipkg for familiar, comes with /usr/lib/menu/ entry,
- Slight speed up of xml-parsing (could do much better, still, but I don't
care enough), also shortened the xml-file about 5%,
- Can cancel occurrences (but not list and un-cancel them, yet),
- Moved appt-specific commands from buttons to Popup menu (press and hold
appointment in the list),
v0.9-pre1 (unstable -- 2001 Dec 24 -- 1574 lines)
- Popup widget for Day-of-Month and Hour disappears when clicked outside of
it (but within Ruby Agenda),
- Added config-file ~/.rbagenda.cfg,
- Can set UseFont in config-file, so all widgets use that font;
this allows me to fit the agenda on my iPAQ screen again (Yeah, found a bug in
the Ruby/Tk bindings, so this likely does not work for you yet, unless you
obtain the ipkgs from my feed for
iPAQ/linux),
- Yearly repetition,
v0.8 (stable -- 2001 Dec 22 -- 1499 lines)
- All-Day appt,
- Gives some sort of week view,
v0.8-pre3(stable -- 2001 Nov 8 -- 1284 lines)
- Takes Daylight Saving Time into account,
- Processes deviations properly for DST (you may experience one-hour
mistakes for deviations you set in 0.7),
- Repeating pattern for X-daily and X-weekly appts,
- Allows repeating appts to finish repeating,
v0.8-pre2(unstable)
- Slightly improved on DST occurrences and deviations,
v0.8-pre1(unstable)
- First attempt at DST,
- Saves and rereads the database in new format (can still read the 0.7
format), including repetition/deviation restructuring (test.rb rendered
useless),
v0.7(stable -- 2001 Sep 9 -- 1196 lines)
- New appt now defaults to date of View (instead of today's date),
- Added Save button while proper auto-saving is not in place,
- Constructs back-up of appointments, mostly to protect me while adding
features and making mistakes,
- Deviation from a Repeating appointment (can edit all fields, except
repeat-fields; can not cancel, yet),
- Fixed Duration (removed subsecond accuracy),
v0.6
- TkTime widget includes DayOfWeek,
- TkTime maintains internal state (and updates subwidgets accordingly),
- Improved editing of appointments,
- Navigating through Agenda in main window improved by use of TkTime,
v0.5 (first usable version)
- Saves data in XML,
- Supports Repeating appointments (but not monthly, yet),
abandoned Single Appointments,
- Supports Location and Description,
- Can Cancel edits and new appts,
- View stays on same day when returning from editing or when deleting,
- Can Delete Single appts,
- Selection of Day of Month like Hour of Day,
- Tests for (a.o.) Repeating appts built,
v0.1
- Supports Time (and Duration) and Subject,
- Can browse, one day per step,
- Can Add and Edit appts,
- Single appointments,
To Do
- I fear I need my own Date and Time classes...
- v1.0: List all deviations of a certain appointment, especially the
cancellations,
- v1.0: Improve and unify navigation,
- v1.0: Improve Saving of database (auto-save? apmd-dependent?),
- v1.0: add repetition for monthly appts(?) or other reps (every 3rd week of
September)?,
- v1.0: Change all-day appt into n-Day duration(?),
- v1.0: provide a way to view some (all) deviations,
- v1.0: implement extra occurences,
- v1.0: Improve handling of those Repeating appts and its Deviations,
- v1.0: Search function,
- v1.0: Improve exchangable of datafile with other programs, if XML,
- v1.0: Implement Alarms (may not work on hibernating hardware :(
- Implement for other toolkit (Tcl/Tk takes 2 MB of my iPAQ flash; Ruby-Wise
is the obvious candidate),
- Implement Gant-Chart like overviews (takes lot of screen estate...),
- Hook into rb-pim suite,
- Provide a way to list Easter (and the like) each year,
- ...
Kero