* Sat Jun 07 23:04:02 2003, pabs * added ChangeLog * initial import * Sat Jun 07 23:09:10 2003, pabs * README: added requirements (YAML?) * Sat Jun 07 23:50:58 2003, pabs * raggle: added window type (for scrolling and selection behavior) * raggle: removed some old comments * Sat Jun 07 23:52:03 2003, pabs * added COPYING * Sun Jun 08 00:28:48 2003, pabs * raggle: added text reflow in Window#draw() * raggle: using start of "The Saturn Game" to demonstrate text reflow * raggle: added Link and Date fields to Description window * Sun Jun 08 07:59:37 2003, pabs * raggle: combined item_focus and hilite_auto_select into focus * raggle: sane keyboard configuration * Sun Jun 08 08:04:46 2003, pabs * raggle: added brief documentation to each method * Sun Jun 08 08:11:42 2003, pabs * raggle: slightly improved window refreshing * Sun Jun 08 18:19:32 2003, pabs * raggle: added preliminary online documentation as a pseudo-feed * added rss_grab.rb * Sun Jun 08 18:21:41 2003, pabs * rss_grab.rb: oops * Sun Jun 08 18:45:57 2003, pabs * raggle: added feed-grabbing thread * raggle: switched to select() with timeout so Ncurses::getch doesn't block ruby threads * raggle: added $config['feeds'] ("live" feeds) * Sun Jun 08 18:58:51 2003, pabs * raggle: added feed cache (uses YAML) * raggle: loads and saves from feed cache * Sun Jun 08 20:04:43 2003, pabs * raggle: added YAML dependency (for feed cache) * raggle: added expand_config() (primitive macro expansion) * raggle: $config['{feed_cache,config}_path'] are now derived from $config['config_dir'] * raggle: added '{load,save}_feed_cache' options * raggle: added 'input_select_timeout' option * raggle: added 'updated' field to feed hash * raggle: added 'read?' field to feed hash * raggle: added Alternet feed (pardon my political bias) * raggle: don't crash on empty feeds any more * raggle: slightly more informative comments * raggle: feed title now includes number of unread items * Sun Jun 08 20:56:41 2003, pabs * raggle: added additional online documentation * raggle: re-enabled save_feed_cache (oops) * raggle: added 'site' option * Sun Jun 08 22:11:35 2003, pabs * README: added brief introduction, requirements, etc * added AUTHORS * Mon Jun 09 02:32:39 2003, pabs * added TODO * raggle: code cleanup (moved all methods and code after config hash and Window class definition) * rss_grab.rb: made code much nicer looking (and OOP) * raggle: merged in code from rss_grab.rb * raggle: initial code for feed thread * Mon Jun 09 03:28:20 2003, pabs * raggle: actually parses feeds now :D * Mon Jun 09 10:46:29 2003, pabs * raggle: added 'strip_html' option * raggle: added OpenSounds to default feed list * raggle: all feed item elements are now optional (since different feeds seem to have different things) * raggle: Don't print date if it's not specified * raggle: fixed window redraw from update thread (maybe?) * Sat Jun 14 21:29:31 2003, pabs * raggle: added die() * raggle: added find_browser() (checks ENV['BROWSER'], falls back to links, then lynx) * raggle: added 'browser' option * raggle: added 'msg_load_config' option * raggle: added 'msg_load_feeds' option * raggle: added 'msg_save_feeds' option * raggle: added 'msg_thanks' option * raggle: slightly wider feed window * raggle: slightly shorter item window * raggle: added a ton of default feeds (i may tone this down a little) * raggle: removed ESC as a quit key -- seems to fix system call * raggle: load browser (seems to crash on return.. dunno why) * raggle: saner set_status() * raggle: added populate_feed_window() * raggle: feed thread updates status * rss_grab.rb: added redirect support * rss_grab.rb: handles urls ending in '/' * raggle: added redirect support * raggle: handles urls ending in '/' * Sun Jun 15 05:11:48 2003, pabs * raggle: scrolling works in feed and item windows!!! * raggle: added 'feed_log_mode' option (per-invocation feed log) * raggle: show selected item info in status bar * Sun Jun 15 06:14:15 2003, pabs * raggle: added unread and h_unread colors to item window (for unread feed items) * raggle: moved theme info (colors, window layout, etc) to ${config_dir}/theme.yaml * raggle: added 'browser_cmd' option * raggle: executing stuff works now * raggle: added color on cyan palette options * raggle: Feed::Window#draw takes a color instead of a hilite boolean * Sun Jun 15 06:46:30 2003, pabs * raggle: cleaner default theme * raggle: scrolling works! hoora! * raggle: change default colors * Sun Jun 15 14:53:47 2003, pabs * raggle: added screen support (via 'use_screen' and 'screen_cmd' options) * raggle: updated inline documentation * raggle: screen window (optionally) displays feed item title * Mon Jun 16 13:07:41 2003, pabs * raggle: don't save window sizes to theme * Tue Jun 17 04:11:49 2003, pabs * raggle: separated feed list from feed cache (to avoid losing the former if the latter gets corrupted) * raggle: switched to PStore for feed cache (MUCH MUCH faster loading now) * Tue Jun 17 22:31:28 2003, pabs * raggle: removed debug feeds (they didn't work any more anyway) * raggle: added preliminary support for END (it doesn't appear to work, but it's still there) * Tue Jun 17 23:57:20 2003, pabs * raggle: added command-line option handling * raggle: added command-line feed editor (add, list, remove) * raggle: added lockfile support (so multiple instances of Raggle don't trash each others' changes) * raggle: added command-line option help * Wed Jun 18 01:18:27 2003, pabs * raggle: remove annoying cache lock error * raggle: change cache locking and unlocking to non-blocking * Wed Jun 18 02:09:03 2003, pabs * raggle: added edit_feed (command-line edit feature) * raggle: commented out mouse support (needs patched ncurses-ruby to work at the moment) * Wed Jun 18 02:29:57 2003, pabs * raggle: added documentation for --edit * raggle: multi-instance cache disable now works correctly * Wed Jun 18 10:39:00 2003, pabs * raggle: fixed bug add feed bug reported by Richard Lowe * raggle: added 'unescape_html' option (decode html escape sequences in feed item descriptions) to fix another bug reported by Richard Lowe * raggle: renamed 'strip_html' option to 'strip_html_tags' * Thu Jun 19 02:44:33 2003, richlowe * raggle: Fix bug in net/https require that caused it to be non-optional * Thu Jun 19 03:26:21 2003, richlowe * raggle: Split scrolling out of Window#handle_key, into methods, so bindings can be customized later * raggle: Remove much duplicated "window scrolling" into Window#adjust_to, and call where I've noticed it's appropriate. * raggle: Add config option 'scroll_wrapping' to make behavior configurable when scrolling off the top or bottom of a list. * raggle: Add Window#activate to greatly simplify selecting an item from a list * raggle: Bind KEY_HOME to do the logical opposite of KEY_END * raggle: Bind KEY_NPAGE to do the logical opposite of KEY_PPAGE * raggle: Move page scrolling into scroll_{up,down}_page, and rework so that "page size" is configurable ('page_step'). * Thu Jun 19 05:21:41 2003, pabs * raggle: fixed unescape_html so it actually works * raggle: added special unescape_html bit for ‛, which is "'", and gets used all the time on PragDave's blog (I wonder if there are any more characters like this?) * raggle: added reflow_text parameter to Window#draw * raggle: Link: and Date: no longer reflow and wrap in Description window * AUTHORS: updated Richard's entry * TODO: marked off some stuff * Thu Jun 19 05:47:55 2003, pabs * raggle: minor comment updates * raggle: changed Window#wh to Window#dimensions (I like wh more, but I think Richard was going to kick me) * raggle: 'unicode_munge_str' option works properly now * raggle: handle pathological feeds more gracefully: if we're missing an item title, fall back to the truncated description as a title, and finally a truncated url * raggle: strip newlines from status strings * raggle: changed unicode munge str to 'ZZ' * Thu Jun 19 06:55:22 2003, pabs * raggle: don't allow someone to set a feed refresh of less than 30 minutes without passing the '--force' option on the command-line * raggle: added String#reflow * Thu Jun 19 15:15:08 2003, pabs * raggle: strip leading and trailing whitespace from feed item titles * raggle: do the same for feeds as well :) * Thu Jun 19 16:14:57 2003, pabs * raggle: negative page_step for window-height page-{up,down} * raggle: added 'theme/window_order' option (to control order of window activation) * Thu Jun 19 17:18:04 2003, richlowe * raggle: refix net/https require (rebroke in pabs' merge, I guess) * Thu Jun 19 17:46:43 2003, richlowe * raggle: Make Window#activate punt in feeds with no items. * Fri Jun 20 01:44:26 2003, pabs * raggle: added 'lock_feed_title' option: lock all feed titles to the value you enter (or the value pulled originally) * raggle: reset item offset when selecting new feed * raggle: added '--sort-feeds' command-line option: sort feed list alphabetically (case-insensitive) * raggle: added '--lock-title' command-line option: use it with --edit to lock the title of a specific feed (as opposed to the 'lock_feed_title' config option above, which locks _all_ feed titles. * raggle: added '--unlock-title' command-line option; it does the opposite of '--lock-title' * raggle: added brief descriptions to methods missing them * Fri Jun 20 02:29:18 2003, pabs * raggle: Window#clear actually works now * raggle: clear description window when selecting a new feed * raggle: added command-line documentation for --lock-title, --sort-feeds, and --unlock-title * raggle: added '--purge' command-line option: purge extra feeds in feed cache (only necessary if you manually edit your feed list, since it's called automatically on delete). * Fri Jun 20 03:11:18 2003, pabs * raggle: added 'save_feed_cache' option: save all old feed items, indefinitely (pretty stupid to use; the per-feed --save-items command-line option is probably much more appropriate) * raggle: added '--save-items' and '--unsave-items' command-line options. They set and unset the save_items? attribute on feeds, respectively. * Fri Jun 20 03:47:26 2003, pabs * implemented Richard's key bindings idea. Key bindings are now stored in $config and called as procs * Fri Jun 20 04:01:14 2003, richlowe * raggle: Fix Window#scroll_up_page and Window#scroll_down_page logic. * raggle: Make page up/down never wrap. It's confusing * Fri Jun 20 04:07:44 2003, richlowe * raggle: Fix bug preventing feed item number updating (misnamed variable). * Fri Jun 20 04:22:18 2003, pabs * raggle: terminal resize works now, although you have to press a few keys for it to update (not sure why yet). * Fri Jun 20 04:34:50 2003, richlowe * raggle: Allow a user to invalidate a feed (force a re-fetch) ./raggle (-i | --invalidate | --invalidate-feed) * Fri Jun 20 04:39:10 2003, richlowe * raggle: Invalidate a feed if it's URL changes in an edit. * Fri Jun 20 04:53:24 2003, pabs * added themes directory, and a handful of sample themes * Fri Jun 20 05:00:32 2003, pabs * TODO: updates, schmupdates * Fri Jun 20 21:24:25 2003, richlowe * raggle.1: Add mdoc manpage (needs changing to ms, preferably). * Fri Jun 20 21:31:31 2003, richlowe * raggle: Add -i/--invalidate to usage. * raggle.1: Document -i/--invalidate. * Fri Jun 20 23:03:24 2003, richlowe * raggle: Add a FeedList class, and make $config['feeds'] an instance of it. * Fri Jun 20 23:15:29 2003, richlowe * raggle: Add a Key module, and move routines to be bound to keys into it. * Fri Jun 20 23:26:16 2003, richlowe * raggle: Add default feeds. * Sat Jun 21 00:07:32 2003, richlowe * raggle: Add commands to move items in the item list (u = up, d = down). * Sat Jun 21 00:18:41 2003, richlowe * raggle: Add methods to move items in a window rather than doing it in the key handler * Sat Jun 21 01:46:36 2003, richlowe * raggle: Add item deletion support * Sat Jun 21 01:49:09 2003, richlowe * raggle: Fix typo in return binding. * Sat Jun 21 01:53:29 2003, richlowe * raggle: remove feed indirection through $SRC, there's no reason to use debug feeds anymore. * Sat Jun 21 13:21:10 2003, pabs * raggle: handle nil item titles sanely * raggle: check for --save-items and --lock-title in -e handler before dying * TODO: minor updates * Sat Jun 21 17:05:18 2003, pabs * raggle: added description and license * raggle: fixed move item up and down (wouldn't work outside of feed window) * raggle: make Key::delete select the previous feed * raggle: added Key::sort_feeds (bound to 'S' by default) * raggle: added FeedList#sort * raggle: make move_up and move_down bounded * raggle: Window#draw: escape % in strings * raggle: hilite feeds with unread items * raggle: added Richard to list of authors in command-line help * raggle: moved keybindings above palette in default config * raggle: disabled 'D' delete binding until we figure out a way to flush key events without blocking. there's a bug that causes Ncurses to drop the escape prefix on keys after resetting the window mode, which means you're pressing "A", "B", "D", or "C", respectively, when you press Up, Down, Left, or Right, after exiting a spawned browser. So we can't have anything destructive bound to those keys (eg. delete). * raggle: added a space prefix to the Raggle feed so it stays at the top after a sort * Sat Jun 21 18:43:09 2003, pabs * raggle: misc 1.8 cleanup. still doesn't work in 1.8, but it's a little closer * Sat Jun 21 23:38:31 2003, richlowe * raggle: Remove a 'p' before an exit 0 that I *think* I added by mistake * Sun Jun 22 00:25:12 2003, richlowe * raggle: Use GetoptLong for arg parsing, and *greatly* simplify the case. * Sun Jun 22 00:31:12 2003, richlowe * raggle: Fix FeedList#invalidate (calling a method when I should have been setting a hash item). * Sun Jun 22 00:38:37 2003, richlowe * raggle: Trap SIGINT and SIGQUIT early, and handle them gracefully * Sun Jun 22 00:45:25 2003, richlowe * raggle: Don't activate (and thus swith to 'items' with the (default) auto focus) the item selected after a deletion * Sun Jun 22 00:52:35 2003, pabs * raggle: mark empty feeds as read * Sun Jun 22 01:05:46 2003, richlowe * raggle: Remove Digital Theatre feed from defaults, it's been inaccessible for days now. * Sun Jun 22 01:08:15 2003, pabs * raggle: mark empty feeds in _red_, not as read (that's what I get for _talking_ to Richard, instead of typing to him :D) * Sun Jun 22 02:07:56 2003, richlowe * raggle: Allow FeedList's to be derefed like Arrays (just for Paul) INTERESTING NOTE: We can't delegate to Array, because that breaks YAML in all *sorts* of ways, basically, it makes a call that's delegated to the array, and thus assumes writes out based on the fact that FeedList *is* that array. This is not good. If only I knew the exact method I had to implement in FeedList to convince it not to do that. * Sun Jun 22 02:30:23 2003, richlowe * raggle.1: Add BUGS section, attempt to make option list easier to read * Sun Jun 22 02:41:16 2003, richlowe * raggle.1: Spellcheck * raggle: Spellcheck comments and strings. * Sun Jun 22 03:11:55 2003, richlowe * raggle: Default feeds refresh at 2 hours, rather than half an hour. * Sun Jun 22 03:19:46 2003, pabs , * raggle: add attributes to window colors * raggle: add attribute handling to Window#draw * raggle: added 'describe_hilited_feed' option; describe the hilited feed in the description window when hiliting them * raggle: only hilite error feeds, not ones that havne't been updated * raggle: remove strange p at the beginning of the line * raggle: add description for Raggle feed (for the inital stuff in the description window) * raggle: add attribute palette (similar to the color palette) * raggle: added new color keys to description window (for hiliting the feed description options) * raggle: change updated timestamp on all default feeds to zero * Sun Jun 22 04:09:24 2003, pabs * raggle: duplicate url in get_url (prevent prefix stripping) * raggle: move .to_i back into option handling (opts['id'] should always be a Fixnum * raggle: fix lock_title? bug * raggle: pruned default feed list to 10 items * Sun Jun 22 04:19:53 2003, richlowe * raggle.1: Add KEYS section to manpage documenting keybindings. * Sun Jun 22 04:31:18 2003, richlowe * raggle.1: Add an EXAMPLES section to the manpage giving examples of common usage (I hope) and (hopefully) offsetting the woeful quality of the rest of the page. * raggle.1: Add a license (copy/paste/sed from the executable) * Sun Jun 22 04:40:36 2003, richlowe * raggle.1: Pronouns. * Sun Jun 22 04:43:12 2003, richlowe * raggle.1: Fix type of list used in BUGS. * Sun Jun 22 04:56:14 2003, richlowe * raggle.1: Mention the email address that bug reports should be sent to. * Sun Jun 22 04:49:57 2003, pabs * raggle: ONLY I HOLD HTE COPYRIGHT MWHEHHAWHHAHAEHEH :) * raggle: change ncurses to "console"; it sounds nicer. * raggle: make sure richard is listed as an author everywhere * raggle: upped 'feed_refresh_warn' to 60 minutes * raggle: make 's' sort, instead of 'S' * raggle: updated timestamps on all raggle feed items * raggle: removed Ruby URL from welcome message (raggle feed description) * raggle: added basic navigation information to welcome message * raggle: updated welcome feed item * raggle: removed usage feed item * raggle: updated keyboard feed item * raggle: cleaned up reading feeds feed item * raggle: wrote adding feeds feed item * raggle: removed "Configuring Raggle" feed item * raggle: added "Files" feed item * raggle: updated reporting bugs section * Sun Jun 22 05:29:02 2003, richlowe * raggle: Fix bug where deleting an item would offset win/feed index, and cause widespread confusion, and a crash, when selecting the last item. It also made me change the code again, which I had commited myself to not doing (think of it as the "Richard sucks feature freeze", I think Paul will kill me if this breaks other stuff :) * Sun Jun 22 11:07:14 2003, pabs * README: updated system requirements * README: added installation section * README: added getting started section * README: added related links section * README: added Richard to the authors section * Mon Jun 23 00:39:22 2003, richlowe * README: Fix spelling. hilited -> highlighted, sorry, ispell agrees with me * Mon Jun 23 00:42:05 2003, richlowe * README: Fix spelling in comment, hilite -> highlight, see ispell comment above. (String will be fixed in code after release) * Mon Jun 23 04:37:14 2003, richlowe * TODO, BUGS: Mention that I have patches for description scrolling * raggle.1: Sync with BUGS * Mon Jun 23 05:07:58 2003, richlowe * raggle.1: Update BUG report URL to match inline documentation. *please* try to keep these in sync * Mon Jun 23 06:01:13 2003, richlowe * raggle: --lock-title and --save-items were being ignored with --add, fix (apparently missed in a merge). * Mon Jun 23 16:50:12 2003, pabs * raggle: updated themes to support new feed color stuff * Mon Jun 23 17:10:40 2003, pabs * raggle: --version doesn't require an argument * added Makefile (just for make install) * README: updated installation section to account for make install * Mon Jun 23 18:32:35 2003, richlowe * Makefile: Don't install rss_grab.rb * Mon Jun 23 18:49:04 2003, pabs * raggle: added 'msg_grab_done' and changed the grab feed thread to use it instead (it defaults to "Raggle #$VERSION" at the moemnt) * README: add comment about terminal size * Mon Jun 23 19:09:33 2003, pabs * added MANIFEST * releasing 0.1.0 * Mon Jun 23 19:18:17 2003, pabs * raggle: pretty error for unknown options, not an exception * okay, __really__ release 0.1.0 now * Mon Jun 23 19:48:17 2003, pabs * raggle: fix Raggle feed URL, just in case someone mucks with the refresh interval (which is set to -1 by default) * raggle: seriously, 0.1.0 * Tue Jun 24 11:32:12 2003, pabs * raggle: Handle the possibility of describing a feed that has never been updated (and thus feed['updated'] being nil), reported by Brian Almeida (bma@tynian.net). * Tue Jun 24 15:37:52 2003, pabs * raggle: The Key:: function the home and end keys are bound to, calls a function that doesn't exist. Apply fix from Ville Aine (vaine@cs.helsinki.fi). * Tue Jun 24 23:04:48 2003, richlowe MFC from HEAD 1.89 * raggle (Window#select_win_item): *** SECURITY FIX *** Previously to this change (including 0.1-release) Shell metacharacters in URLs would be passed through unchanged, leading to the possibility of a malicious feed being able to run arbitrary commands as the user running raggle. This commit introduces two new config options 'force_url_meta' (defaulting to false) to force the acceptance of URLs containing shell metacharacters, and 'shell_meta_regex' (defaulting to /([\`\$]|\#{)/, but in need of refinement), URLs matching this regex are ignored, and an error is displayed in the status line ********************* * Wed Jun 25 12:25:45 2003, pabs * raggle: set_status() shouldn't die on a nil message (reported by Brian Almeida (bma@tynian.net). * Wed Jun 25 16:33:40 2003, pabs * raggle: fix off by one error in feed list size check in FeedList#get, FeedList#delete, FeedList#invalidate, and FeedList#edit. Reported by Ville Aine (vaine@cs.helsinki.fi). * raggle: above methods should be using die, not raise. * Wed Jun 25 20:47:15 2003, pabs * raggle: save read status of feed items, regardless of whether or not we save the actual feed (much nicer this way) * raggle: increment version number to 0.1.1 * releasing 0.1.1 * Thu Jun 26 02:05:58 2003, richlowe * raggle.1: Change bug address back again, I'm sure I'd seen it as ragglebug@, oh well. * raggle.1: Document --config and --config-file * Thu Jun 26 02:27:04 2003, richlowe MFC HEAD 1.99: * raggle: Actually set the status line when we encounter a malicous URL, I really don't know how that crept in there, sorry guys :( * Thu Jun 26 14:29:10 2003, pabs * raggle: fixed nil.unescape_html bug reported by Ville Aine (vaine@cs.helsinki.fi) * Thu Jun 26 20:08:18 2003, pabs * raggle: applied command-line option handling code cleanup from Ville Aine (vaine@cs.helsinki.fi). * Thu Jun 26 20:10:48 2003, pabs * AUTHORS: update Ville Aine's entry. * Thu Jun 26 20:36:05 2003, pabs * raggle: added mark all items as read (bound to 'm') * raggle: added shell escape (bound to '!') * raggle: added jump to next unread (bound to 'n') * (all this stuff was suggested by Ville Aine) * Fri Jun 27 17:14:16 2003, pabs * raggle: fix bug in FeedList#edit so --save-items works again * Fri Jun 27 17:42:21 2003, pabs * raggle: backport Richard's 0.2.x man page updates * Fri Jun 27 17:44:45 2003, pabs * raggle: backport Richard's 0.2.x inline keybinding documentation updates * Fri Jun 27 17:57:16 2003, pabs * TODO: add new ideas to list * Sat Jun 28 15:18:30 2003, pabs * removed rss_grab.rb * added extras/rss_grab.rb * added extras/feed_sizes.rb * Sat Jun 28 15:27:56 2003, pabs * raggle: increment versoin number to 0.1.2