Subject: [sup-talk] [PATCH] Minimalist view

From: [email-masked] (Marcus Williams)
Date: Fri, 12 Jun 2009 21:46:32 +0100

Adds a keypress to toggle to a minimalist view in thread index mode.
This removes the date, authors and number of threads from the view
leaving more room for labels/snippets
---
 lib/sup/modes/thread-index-mode.rb |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
index 0bd8110..5fa4f4c 100644
--- a/lib/sup/modes/thread-index-mode.rb
+++ b/lib/sup/modes/thread-index-mode.rb
@@ -45,6 +45,7 @@ EOS
     k.add :apply_to_tagged, "Apply next command to all tagged threads", '+', '='
     k.add :join_threads, "Force tagged threads to be joined into the same thread", '#'
     k.add :undo, "Undo the previous action", 'u'
+    k.add :toggle_minimalist, "Toggle minimalist view", '~'
   end
 
   def initialize hidden_labels=[], load_thread_opts={}
@@ -62,6 +63,8 @@ EOS
     @hidden_labels = hidden_labels + LabelManager::HIDDEN_RESERVED_LABELS
     @date_width = DATE_WIDTH
 
+    @minimal = false
+
     @interrupt_search = false
     
     initialize_threads # defines @ts and @ts_mutex
@@ -261,6 +264,11 @@ EOS
     end
   end  
 
+  def toggle_minimalist 
+    @minimal = !@minimal
+    regen_text
+  end
+
   def toggle_starred 
     t = cursor_thread or return
     undo = actually_toggle_starred t
@@ -833,13 +841,25 @@ protected
 
     size_widget_text = sprintf "%#{ @size_widget_width}s", size_widget
 
-    [ 
-      [:tagged_color, @tags.tagged?(t) ? ">" : " "],
-      [:none, sprintf("%#{@date_width}s", date)],
-      (starred ? [:starred_color, "*"] : [:none, " "]),
-    ] +
-      from +
-      [
+
+    if @minimal
+      if size_widget!=""
+        size_widget_text = "+" 
+      else
+        size_widget_text = " " 
+      end
+      line = []
+    else
+      line =  [ 
+                [:tagged_color, @tags.tagged?(t) ? ">" : " "],
+                [:none, sprintf("%#{@date_width}s", date)],
+                (starred ? [:starred_color, "*"] : [:none, " "]),
+              ] + from
+    end
+
+
+    line +
+    [
       [subj_color, size_widget_text],
       [:to_me_color, t.labels.member?(:attachment) ? "@" : " "],
       [:to_me_color, dp ? ">" : (p ? '+' : " ")],
-- 
1.5.4.1

---

From: [email-masked] (Ben Walton)
Date: Sat, 13 Jun 2009 21:36:41 -0400

> leaving more room for labels/snippets

This patch looks sound, but I wonder if a Hook might be in order to
make the alternate display customizable?  Not a bad idea at all
though.

-Ben
-- 
Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302

GPG Key Id: 8E89F6D2; Key Server: pgp.mit.edu
Contact me to arrange for a CAcert assurance meeting.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://rubyforge.org/pipermail/sup-talk/attachments/20090613/4467445f/attachment.bin>

---

From: [email-masked] (Marcus Williams)
Date: Sun, 14 Jun 2009 14:17:38 +0100

> make the alternate display customizable?  Not a bad idea at all

Slightly ahead of you :) This is the default view for my next patch
which implements exactly that hook.

I'm just wandering through my local commits and cleaning stuff up for
submission so hopefully a few more to come as well.

Marcus

---

From: [email-masked] (William Morgan)
Date: Mon, 15 Jun 2009 06:50:37 -0700

> make the alternate display customizable?  Not a bad idea at all

Yeah, I would generally like to have this type of thing done through
hooks, but if a lot of people like this mode then I could integrate it
directly.
-- 
William <wmorgan-sup at masanjin.net>

---

From: [email-masked] (Ben Walton)
Date: Mon, 15 Jun 2009 09:54:01 -0400

> hooks, but if a lot of people like this mode then I could integrate it

What about a Hook with this as the default alternate view if the Hook
isn't set?  I'd also suggest changing the name from minimalist to
alternate, since if there is a hook available, it may not actually be
a minimal view?

Thanks
-Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://rubyforge.org/pipermail/sup-talk/attachments/20090615/82450fd6/attachment.bin>

---

From: [email-masked] (Marcus Williams)
Date: Tue, 16 Jun 2009 13:45:06 +0100

> hooks, but if a lot of people like this mode then I could integrate it

New patch sent as separate message - renamed to alternative view and
extendable via the hook mechanism.

Marcus