From mboxrd@z Thu Jan 1 00:00:00 1970 From: marc.hartstein@alum.vassar.edu (Marc Hartstein) Date: Thu, 17 Apr 2008 16:43:29 -0400 Subject: [sup-talk] [PATCH] Add 'A' archive and mark read command to inbox-mode. Message-ID: <1208465009-5957-1-git-send-email-marc.hartstein@alum.vassar.edu> For some email, the only meaningful content is in the subject line. It is thus useful to be able to dispatch this email with a single command after glancing at it. As 'N' moves the cursor, and 'a' doesn't clear the "unread" flag, it is currently necessary to press "Nka" to do this on a single thread. The 'A' command does this simple task with a single, easy-to-remember, keystroke, but makes it harder to hit accidentally than 'a'. A multi_ mode is supplied. --- lib/sup/modes/inbox-mode.rb | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/lib/sup/modes/inbox-mode.rb b/lib/sup/modes/inbox-mode.rb index a2de13f..c623f4a 100644 --- a/lib/sup/modes/inbox-mode.rb +++ b/lib/sup/modes/inbox-mode.rb @@ -6,6 +6,7 @@ class InboxMode < ThreadIndexMode register_keymap do |k| ## overwrite toggle_archived with archive k.add :archive, "Archive thread (remove from inbox)", 'a' + k.add :read_and_archive, "Archive thread (remove from inbox) and mark read", 'A' end def initialize @@ -38,6 +39,23 @@ class InboxMode < ThreadIndexMode regen_text end + def read_and_archive + return unless cursor_thread + cursor_thread.remove_label :unread + cursor_thread.remove_label :inbox + hide_thread cursor_thread + regen_text + end + + def multi_read_and_archive threads + threads.each do |t| + t.remove_label :unread + t.remove_label :inbox + hide_thread t + end + regen_text + end + def handle_unarchived_update sender, m add_or_unhide m end -- 1.5.3.7