Timeline
Jun 20, 2010:
- 4:51 PM Changeset [0be3efd]release-1.10release-1.7release-1.8release-1.9 by
- Move g_type_init into owl_global_init Ensures that the tester and everyone else manage to call it.
- 4:47 PM Changeset [5cc7e5e]release-1.10release-1.7release-1.8release-1.9 by
- Kill owl_global_needrefresh Not necessary now. Internal state for owl_window.
- 4:29 PM Changeset [1f4ea57]release-1.10release-1.7release-1.8release-1.9 by
- Allow the screen to get dirtied It's just painting it that does nothing.
- 4:27 PM Changeset [b9d04ad]release-1.10release-1.7release-1.8release-1.9 by
- Remove the giant hunk of dead code We have version control for a reason.
- 4:25 PM Changeset [9379760]release-1.10release-1.7release-1.8release-1.9 by
- Add owl_window_is_subwin Better not to always infer !screen && !toplevel => subwin
- 4:23 PM Changeset [58ea109]release-1.10release-1.7release-1.8release-1.9 by
- Remove the special case for moving the screen No need for that edge case; we'll allow the screen to be moved. It just doesn't do anything.
- 3:48 PM Changeset [3c2c7fc]release-1.10release-1.7release-1.8release-1.9 by
- zcrypt.c: Clean up some clang-detected warnings.
Jun 17, 2010:
- 9:41 AM Changeset [dec60b4]release-1.10release-1.7release-1.8release-1.9 by
- Merge branch 'perl-tester'
Jun 15, 2010:
- 1:05 AM Changeset [95d54e6]release-1.10release-1.7release-1.8release-1.9 by
- Document the glib function casts
- 12:09 AM Changeset [33b64f22]release-1.10release-1.7release-1.8release-1.9 by
- has_children and num_children aren't really necessary
- 12:08 AM Changeset [1aa4cc4]release-1.10release-1.7release-1.8release-1.9 by
- Export the hierarchy navigation
Jun 14, 2010:
- 2:44 PM Ticket #144 (Need better notification when sending a zephyr fails) created by
- When sending a zephyr fails because of expired/nonexistent Kerberos …
Jun 13, 2010:
- 7:53 PM Changeset [95414bf]release-1.10release-1.7release-1.8release-1.9 by
- tester: Require --builtin to run builtin tests
- 4:31 AM const edited by
- Slight wording cleanup. (diff)
Jun 12, 2010:
- 3:29 PM Changeset [ea7daa8]release-1.10release-1.7release-1.8release-1.9 by
- Remove the global notifier
- 3:29 PM Changeset [044f19f]release-1.10release-1.7release-1.8release-1.9 by
- Don't use signals for dirtying the sepbar I'm less convinced the correct code looks substantially different here, but the first iteration should not have this globalnotifier.
- 3:29 PM Changeset [e92e2a1]release-1.10release-1.7release-1.8release-1.9 by
- Don't use a signal to connect rightshift While the signal is cleaner, rightshift should likely be a private property of owl_mainwin anyway. (Or at least a property of owl_view.) This is with the goal of removing the dependence on globalnotifier for the first iteration.
- 3:29 PM Changeset [438409f]release-1.10release-1.7release-1.8release-1.9 by
- Don't forget to unset dirty_subtree after redrawing it
- 3:29 PM Changeset [4eee948]release-1.10release-1.7release-1.8release-1.9 by
- Eugh. Create the sepwin before the recwin The sepwin depends on a value computed by the recwin's draw handler. This is kinda nasty...
- 3:29 PM Changeset [358eeae]release-1.10release-1.7release-1.8release-1.9 by
- Add some notes at the bottom
- 3:14 PM Changeset [fcce3f1]release-1.10release-1.7release-1.8release-1.9 by
- Add owl_window documentation
- 2:17 PM Changeset [68e5464]release-1.10release-1.7release-1.8release-1.9 by
- Remove malloced and freed fields from owl_global They are no longer used by anyone. Signed-off-by: David Benjamin <davidben@mit.edu>
Jun 11, 2010:
Jun 10, 2010:
- 2:47 PM Changeset [2f25537]release-1.10release-1.7release-1.8release-1.9 by
- Jabber: Don’t break private replies in anonymous MUCs. In commit 7c5d06020df6dac7defab775ce2d91bdb46805ee we changed the Jabber message ‘from’ property to show less duplicate information as the long_sender. But in anonymous MUCs, we need the old ‘from’ for private replies, so remove the duplicate information inside sub long_sender instead in that case. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 12:48 AM Ticket #143 (jwrite fails on jids including a dash (-)) created by
- When using a server like chat.facebook.com (details here: …
Jun 9, 2010:
- 7:02 PM Ticket #142 (put :decrypt and perhaps :decrypt-all in core) created by
- There's an external :decrypt command in Perl running around, e.g. in …
Jun 4, 2010:
- 10:01 PM Ticket #141 (:viewuser filters specifically on zephyr) created by
- Running :viewuser nelhage currently generates the filter […] It …
Jun 3, 2010:
- 6:48 PM Changeset [6e90da8]release-1.10release-1.7release-1.8release-1.9 by
- Add some more query functions for children Probably should just expose the linked list or add a dummy iterator wrapper.
- 6:24 PM Changeset [840032d]release-1.10release-1.7release-1.8release-1.9 by
- Don't emit a resize signal if the window only moved Restore some old behavior.
- 1:36 PM Changeset [853f397]release-1.10release-1.7release-1.8release-1.9 by
- Make mainpanel's fill_parent_cb also generic
- 1:33 PM Changeset [8f9a044]release-1.10release-1.7release-1.8release-1.9 by
- Move the standard callbacks into a separate file
- 1:31 PM Changeset [d7c1dbe]release-1.10release-1.7release-1.8release-1.9 by
- Remove the stacking order functions We don't currently use them, and I'd rather wait until the 3-types-in-1 thing is resolved first.
- 1:29 PM Changeset [aab7af1]release-1.10release-1.7release-1.8release-1.9 by
- Make unlinked handling more explicit
- 3:04 AM Changeset [e8128c5]release-1.10release-1.7release-1.8release-1.9 by
- Make owl_function_full_redisplay do something In absense of anything more interesting, dirtying every window in existence sounds as fine as any.
- 2:58 AM Changeset [07b59ea]release-1.10release-1.7release-1.8release-1.9 by
- Maintain the cursor location with the context stack
- 2:47 AM Changeset [4dd115f]release-1.10release-1.7release-1.8release-1.9 by
- Set the sepwin as the default cursor location This lets us get rid of get_curs_sepwin
- 2:45 AM Changeset [571fab7]release-1.10release-1.7release-1.8release-1.9 by
- Move all the UI setup into a separate function
- 2:37 AM Changeset [f70a7a3]release-1.10release-1.7release-1.8release-1.9 by
- Add a default cursor and fallback finally on the screen Also get rid of useless prototype.
- 2:29 AM Changeset [cc36f27]release-1.10release-1.7release-1.8release-1.9 by
- Clean up the old weak pointers
- 2:19 AM Changeset [94be4a8]release-1.10release-1.7release-1.8release-1.9 by
- Add a command-executed signal for the sepbar Now we can remove sepbar_dirty()
- 2:11 AM Changeset [d6f2d21]release-1.10release-1.7release-1.8release-1.9 by
- Hook up and use the message-received signal in the sepbar
- 2:01 AM Changeset [40597e7]release-1.10release-1.7release-1.8release-1.9 by
- The msgwin isn't going to be NULL from allocation failure now This lets us get rid of the get_curs_msgwin function.
- 1:59 AM Changeset [521e600]release-1.10release-1.7release-1.8release-1.9 by
- Dirty windows when we init them
- 1:52 AM Changeset [c1f1e1e]release-1.10release-1.7release-1.8release-1.9 by
- Add convenience method for connecting a window to a signal
- 1:49 AM Changeset [0e98d87]release-1.10release-1.7release-1.8release-1.9 by
- Remove a pointless instance of sepbar_dirty
- 1:48 AM Changeset [ad788b5]release-1.10release-1.7release-1.8release-1.9 by
- Move the sepbar stuff into a separate file
- 1:44 AM Changeset [c1fd7e2]release-1.10release-1.7release-1.8release-1.9 by
- A few more redisplays may die for the signal
- 1:33 AM Changeset [608681f]release-1.10release-1.7release-1.8release-1.9 by
- Add curmsg property and finish curmsg-vert-offset
- 1:25 AM Changeset [9bd51b8]release-1.10release-1.7release-1.8release-1.9 by
- Register dependence on the right-shift with a signal
Jun 2, 2010:
- 11:57 PM Changeset [f041595]release-1.10release-1.7release-1.8release-1.9 by
- Don't attempt to create windows with invalid dimensions newwin will interpret height or width of 0 to be something special, so let's filter them out.
- 10:06 PM Changeset [d15ea5f]release-1.10release-1.7release-1.8release-1.9 by
- Punt the moving optimization since begx and begy are wrong
- 9:41 PM Changeset [f91767d]release-1.10release-1.7release-1.8release-1.9 by
- untouchwin any subwin before interacting with it subwins maintain dirtiness information that is useless. It messes up the wnoutrefresh when setting the cursor. Also, make the wsyncup more direct. I think there is still a cursor bug with begy/begx and subwins and mvderwin, but that can be fixed later.
- 9:32 PM Changeset [678a505c]release-1.10release-1.7release-1.8release-1.9 by
- Move the attribute setting between unrealize/realize Doesn't do anything, but it makes the logic clearer.
- 9:08 PM Changeset [99ce51c]release-1.10release-1.7release-1.8release-1.9 by
- Punt the arguments to owl_global_resize We're not using them, and they wouldn't work as advertised with the resizepending check.
- 9:00 PM Changeset [3e0147f]release-1.10release-1.7release-1.8release-1.9 by
- Fix up the comment
- 8:53 PM Changeset [fa65671]release-1.10release-1.7release-1.8release-1.9 by
- Remove the relayout code The signals take care of it now.
- 8:53 PM Changeset [40d1eef]release-1.10release-1.7release-1.8release-1.9 by
- And a hacky port of the mainwin too Some of the old relayout code should still be reorganized, but it's a start.
Jun 1, 2010:
- 9:55 PM Changeset [a5a9572]release-1.10release-1.7release-1.8release-1.9 by
- Make needrefresh when we set the cursor
- 9:54 PM Changeset [385fda9]release-1.10release-1.7release-1.8release-1.9 by
- A fairly hacky job of porting sepbar to owl_window We now use the new framework, but the sepbar isn't being marked dirty at the appropriate times. It'll want to be redone later to take advantage of the new signals. The 'in' parameter was also dropped. It was being unused. At best it provided a strange bug when resizing with appendtosepbar set. Also revert the attempt at cleaning up the cursor. We still have a hack, but using owl_window. The cursor probably needs integration with the context stack or some such.
- 9:01 PM Changeset [f06baef]release-1.10release-1.7release-1.8release-1.9 by
- Add a message received signal as well
- 8:48 PM Changeset [135d24b]release-1.10release-1.7release-1.8release-1.9 by
- Clamp too large of typwinlines values Otherwise, the window is off-screen and the text gets cut off somehow; I suspect what happens is that the owl_window gives up realizing the window.
- 8:45 PM Changeset [b2ea16b]release-1.10release-1.7release-1.8release-1.9 by
- Add a view-changed signal to the notifier and export This really wants to live on owl_view and owl_mainwin, but whatever.
- 8:28 PM Changeset [5b80b87]release-1.10release-1.7release-1.8release-1.9 by
- Avoid flagrant violations of layering and just g_object_notify in the setters. g_object_set_property calls g_object_freeze_notify and g_object_thaw_notify, so it should Just Work.
- 8:27 PM Changeset [e20dd769]release-1.10release-1.7release-1.8release-1.9 by
- Actually construct the notifier and avoid invalid property names -follow is not a valid property name.
- 8:10 PM Changeset [04d76ef]release-1.10release-1.7release-1.8release-1.9 by
- Add a signal for curmsg_vert_offset
- 8:06 PM Changeset [43e3061]release-1.10release-1.7release-1.8release-1.9 by
- Wire set_rightshift to fire its signal too
- 8:04 PM Changeset [f57a106]release-1.10release-1.7release-1.8release-1.9 by
- Wire the varstubs through g_object_set to fire the signal
- 8:04 PM Changeset [f3a9d4d]release-1.10release-1.7release-1.8release-1.9 by
- Add an OwlGlobalNotifer generated from variables It exists purely as a little GObject to fire off property signals.
- 3:24 PM Changeset [0b9e607]release-1.10release-1.7release-1.8release-1.9 by
- Rename redisplays to redraw Gives a target to grep for and matches the signal name.
- 3:21 PM Changeset [69873f7]release-1.10release-1.7release-1.8release-1.9 by
- The viewwin should take references to its window
- 3:19 PM Changeset [d70f45f]release-1.10release-1.7release-1.8release-1.9 by
- Port the msgwin to owl_window I feel kind of silly making a new file for this, but meh.
- 1:20 PM Changeset [e294783]release-1.10release-1.7release-1.8release-1.9 by
- Zero out the unref'd fields
- 12:14 PM Changeset [f6fae8d]release-1.10release-1.7release-1.8release-1.9 by
- Port the editwin to owl_window The others are still unmanaged for now. Fortunately, they were set up as as panels, so we can see through them to the windows we want in the meantime. :-)
- 12:12 PM Changeset [84a4aca]release-1.10release-1.7release-1.8release-1.9 by
- Add a cursor-tracking mechanism to owl_window
- 12:10 PM Changeset [908de44]release-1.10release-1.7release-1.8release-1.9 by
- Export owl_mainpanel_relayout Also, temporarily schedule a relayout.
- 11:56 AM Changeset [a57f87a]release-1.10release-1.7release-1.8release-1.9 by
- Move the update_panels into owl_window_redraw_scheduled
- 11:00 AM Changeset [cb5a9f3]release-1.10release-1.7release-1.8release-1.9 by
- Clear dirty flag on unrealized windows
- 3:31 AM Changeset [d2a4534]release-1.10release-1.7release-1.8release-1.9 by
- Maintain an owl_mainpanel structure This structure will contain all the other windows.
- 3:30 AM Changeset [05ca0d8]release-1.10release-1.7release-1.8release-1.9 by
- Implement our own owl_signal_connect_object This is actually more code, but that's because of comments. It'll be MUCH less error-prone.
- 1:27 AM Changeset [7a6e6c7]release-1.10release-1.7release-1.8release-1.9 by
- Use signals for redraw and resize
- 1:25 AM Changeset [7a70e26]release-1.10release-1.7release-1.8release-1.9 by
- Punt owl_window_children_foreach_onearg Use GFunc casts everywhere. This horrid and depends on calling convention, but glib relies on it EVERYWHERE. If our environment doesn't support it, we'll have worse problems anyway.
- 12:29 AM Changeset [e00355d]release-1.10release-1.7release-1.8release-1.9 by
- Drop the destroyed callback We probably don't need it with the new ownership semantics. If we do, gobject probably already has a mechanism.
- 12:25 AM Changeset [053f751]release-1.10release-1.7release-1.8release-1.9 by
- For prototyping, use a GObject-backed owl_window It gives us many signals and refcounting conveniences. This first iteration doesn't use any of these features but gets it barely working quickly.
- 12:25 AM Changeset [4751077a]release-1.10release-1.7release-1.8release-1.9 by
- Link to gobject for now At the least, it could be useful for prototyping things. Dropping it afterwards should not be difficult.
- 12:25 AM Changeset [3da1f4f]release-1.10release-1.7release-1.8release-1.9 by
- Export owl_window_unlink
- 12:25 AM Changeset [402ed3d3]release-1.10release-1.7release-1.8release-1.9 by
- Use two functions: show/show_all instead of recurse flag It's more readable, and matches GTK.
- 12:25 AM Changeset [50031f0]release-1.10release-1.7release-1.8release-1.9 by
- Rename map/unmap to hide/show to match GTK+ Also, the names make much more sense.
- 12:25 AM Changeset [933aa7d]release-1.10release-1.7release-1.8release-1.9 by
- Make the unlink logic more explicit Also, fix up a case where we might incorrectly link a window in some cases.
- 12:25 AM Changeset [fe49685]release-1.10release-1.7release-1.8release-1.9 by
- Be better about noticing failed window creations Any failure and we simply don't realize the window.
- 12:25 AM Changeset [46e2e56]release-1.10release-1.7release-1.8release-1.9 by
- Rename map_internal to realize
- 12:25 AM Changeset [7cbef8c]release-1.10release-1.7release-1.8release-1.9 by
- Don't dirty unrealized windows
- 12:25 AM Changeset [ce7c6c3]release-1.10release-1.7release-1.8release-1.9 by
- Rename owl_window_is_visible to owl_window_is_realized
- 12:25 AM Changeset [ec4ccfc]release-1.10release-1.7release-1.8release-1.9 by
- Unmap a window before unlinking it
- 12:25 AM Changeset [e96b4ce]release-1.10release-1.7release-1.8release-1.9 by
- Don't generate window.c's functions
May 31, 2010:
- 5:28 PM Changeset [37f9818]release-1.10release-1.7release-1.8release-1.9 by
- Don't process every source file in codelist.pl Notably, filterproc.c already has a header file anyway.
May 29, 2010:
- 1:42 PM Changeset [5d59c1e]release-1.10release-1.7release-1.8release-1.9 by
- Twitter: Handle new-style retweets better
- 1:42 PM Changeset [d27ecf3]release-1.10release-1.7release-1.8release-1.9 by
- Check in Module::Install for Twitter
- 1:14 PM Changeset [5d74b7c]release-1.10release-1.7release-1.8release-1.9 by
- Minor formatting
- 1:14 PM Changeset [ae11191]release-1.10release-1.7release-1.8release-1.9 by
- Remove the idlok blocks It's off by default anyway.
- 1:14 PM Changeset [d39f68c]release-1.10release-1.7release-1.8release-1.9 by
- Compute the terminal size in the screen's size callback We do some roundabout thing with clearing g->lines and g->cols to preserve the old logic of allowing us to force a value. (Not that it was every used. We also apparently flipped x and y.
- 1:14 PM Changeset [d106110]release-1.10release-1.7release-1.8release-1.9 by
- Make the size callbacks listen for parent sizing This probably matches better with how we'll usually use it. Keep the imperative functions around for now. They may be useful.
- 1:14 PM Changeset [6b93305]release-1.10release-1.7release-1.8release-1.9 by
- Skip moving if it does nothing
- 1:14 PM Changeset [b0cbde4]release-1.10release-1.7release-1.8release-1.9 by
- Move some things around In case we want to make them static.
- 1:14 PM Changeset [2dfccc7]release-1.10release-1.7release-1.8release-1.9 by
- Bleh, make the screen's window stdscr It's not necessary, as we only want it to the non-NULL. But it makes more sense.
- 1:14 PM Changeset [4e33cb2]release-1.10release-1.7release-1.8release-1.9 by
- Punt a lot of needrefreshes Move the actual needrefreshes into the functions actually dealing with curses. This will, of course, later get moved out of the paint events and no one will call it. But that's later.
- 1:14 PM Changeset [5f7eadf]release-1.10release-1.7release-1.8release-1.9 by
- Don't leave a sketchy pointer to the viewwin's window We really should just reallocate those structures each time.
- 1:14 PM Changeset [c447d9c]release-1.10release-1.7release-1.8release-1.9 by
- Also drop winlines/wincols from the viewwin struct Deduplicating data is probably worthwhile, although this doesn't have a negative diffstat. Maybe the owl_window struct should just be open. (Then it should maybe return some sort of const owl_window * while we internally work with a owl_window_private *)
- 1:14 PM Changeset [d3814ff]release-1.10release-1.7release-1.8release-1.9 by
- Don't remember lines/cols in popwin The window already retains this information
- 1:14 PM Changeset [1383b58]release-1.10release-1.7release-1.8release-1.9 by
- Look up lines/cols information from the window
- 1:14 PM Changeset [68f63a2]release-1.10release-1.7release-1.8release-1.9 by
- Port owl_viewwin to owl_window A number of hacks. This is just a test run of the API.
- 1:14 PM Changeset [7c8811c]release-1.10release-1.7release-1.8release-1.9 by
- Fix a warning and add convenience paint callback
- 1:14 PM Changeset [6eefb5e]release-1.10release-1.7release-1.8release-1.9 by
- Don't forget to wsyncup
- 1:14 PM Changeset [b6cb985]release-1.10release-1.7release-1.8release-1.9 by
- Add a owl_window_get_parent function
- 1:14 PM Changeset [449af72]release-1.10release-1.7release-1.8release-1.9 by
- First draft of Nth iteration of owl_window framework
- 1:13 PM Changeset [44cc9ab]release-1.10release-1.7release-1.8release-1.9 by
- While we're at it, rename submap to parent Should be more consistent with other programs. Signed-off-by: David Benjamin <davidben@mit.edu>
- 1:13 PM Changeset [13ebf92]release-1.10release-1.7release-1.8release-1.9 by
- Display submap bindings in :show keymap KEYMAP We don't recursively expand when running :show keymaps since we're already displaying every keymap. Signed-off-by: David Benjamin <davidben@mit.edu>
May 25, 2010:
- 10:55 PM Changeset [89ce405]release-1.10release-1.7release-1.8release-1.9 by
- owl_command_view: Fix an infinite loop on 'view -r args'. owl_command_view should really be cleaned up a lot, but this fixes the immediate bug. We already handle the 'view -r' case specially near the top, and 'view -r' with other args has clearly never worked, so let's just deprecate it.
May 24, 2010:
- 10:08 PM release-notes/1.6.1 edited by
- (diff)
- 10:06 PM OldNews edited by
- (diff)
- 10:05 PM WikiStart edited by
- BarnOwl 1.6 (diff)
- 10:04 PM release-notes/1.6.1 created by
- 8:24 PM Changeset [612270d]release-1.6 by
- BarnOwl 1.6.1
- 8:22 PM Changeset [bd1532f]release-1.6 by
- Jabber: Explain how to set your nick when joining a MUC. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 8:22 PM Changeset [764a03e]release-1.6 by
- Jabber: Make smartnarrow -i filter on subject. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 8:22 PM Changeset [d9b0bad6]release-1.6 by
- Jabber: Fix completion of MUC names. Properly store the MUC name, instead of the stringified JID object.
- 8:22 PM Changeset [d699541]release-1.6 by
- Add a start-command example to :bindkey since a lot of people asked about it
- 8:22 PM Changeset [4be3c76]release-1.6 by
- Fix small :help bugs for bindkey and unbindkey
- 8:22 PM Changeset [8a3768b]release-1.6 by
- owl_command_smartnarrow: Correctly use const. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 8:22 PM Changeset [258a3bf]release-1.6 by
- owl_function_classinstfilt: Don’t leak class and instance on early return. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 8:22 PM Changeset [935b8d8]release-1.6 by
- owl_command_smartnarrow: Correctly initalize optind. If we don't reset optind, the first time someone runs smartnarrow, we'll start scanning arguments wherever the getopt() at startup left off. Signed-off-by: Nelson Elhage <nelhage@mit.edu>
- 8:22 PM Changeset [51a56b3]release-1.6 by
- Free temporary argv in done segment Otherwise we leak memory when failing out of the getopt loop. We also can punt the strdups, as getopt doesn't mutate them.
- 8:22 PM Changeset [70087b9]release-1.6 by
- Mask all handled signals while running pre-select actions. This closes the race condition where a signal could be delivered just before the pselect() call, which hangs until the next event. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 8:22 PM Changeset [c088c53]release-1.6 by
- Make terminal refreshes a pre-select action. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: Nelson Elhage <nelhage@mit.edu>
- 3:15 PM Ticket #140 (Add commands to "login" and "logout" twitter accounts from in BarnOwl) created by
- We should have commands to manipulate the state of Twitter accounts …
- 2:52 PM Changeset [922f589]release-1.10release-1.7release-1.8release-1.9 by
- Free paths to Zephyr dot-files when non-existant Signed-off-by: David Benjamin <davidben@mit.edu>
Note: See TracTimeline
for information about the timeline view.