sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 3bd6769cff82ce752d45de3084667a4bcc72fea1
parent 0f01f585ea215b9b7f32cba0795839a848e11c01
Author: William Morgan <wmorgan-sup@masanjin.net>
Date:   Wed, 26 Mar 2008 09:13:42 -0700

Merge branch 'master' into next

Diffstat:
M lib/sup/buffer.rb | 6 +++++-
M lib/sup/contact.rb | 2 +-
M lib/sup/modes/label-search-results-mode.rb | 4 ++--
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
@@ -263,7 +263,11 @@ EOS
         get_status_and_title @focus_buf # must be called outside of the ncurses lock
       end
 
-    print "\033]2;#{title}\07" if title && @in_x
+    if title && @in_x
+      ## http://rtfm.etla.org/xterm/ctlseq.html (see Operating System Controls)
+      print "\033]2;#{title}\07" # window
+      print "\033]0;#{title}\07" # icon title
+    end
 
     Ncurses.mutex.lock unless opts[:sync] == false
 
diff --git a/lib/sup/contact.rb b/lib/sup/contact.rb
@@ -51,7 +51,7 @@ class ContactManager
 
   def save
     File.open(@fn, "w") do |f|
-      @p2a.each do |p, a|
+      @p2a.sort_by { |(p, a)| [p.full_address, a] }.each do |(p, a)|
         f.puts "#{a || ''}: #{p.full_address}"
       end
     end
diff --git a/lib/sup/modes/label-search-results-mode.rb b/lib/sup/modes/label-search-results-mode.rb
@@ -10,12 +10,12 @@ class LabelSearchResultsMode < ThreadIndexMode
   end
 
   register_keymap do |k|
-    k.add :refine_search, "Refine search", '.'
+    k.add :refine_search, "Refine search", '|'
   end
 
   def refine_search
     label_query = @labels.size > 1 ? "(#{@labels.join('||')})" : @labels.first
-    query = BufferManager.ask :search, "query: ", "+label:#{label_query} "
+    query = BufferManager.ask :search, "refine query: ", "+label:#{label_query} "
     return unless query && query !~ /^\s*$/
     SearchResultsMode.spawn_from_query query
   end