From 1204128104a1b77bf3ad52fba9c8e6c44931fd4a Mon Sep 17 00:00:00 2001 From: Marc Hartstein Date: Thu, 17 Apr 2008 16:43:29 -0400 Subject: [PATCH] add 'A' (archive and mark read) command to inbox-mode 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 file changed, 18 insertions(+) diff --git a/lib/sup/modes/inbox-mode.rb b/lib/sup/modes/inbox-mode.rb index f156b69..559892d 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 -- 2.45.2