]> git.cworth.org Git - sup/blobdiff - doc/FAQ.txt
bugfix: clear cached lambda hook locals after hook call
[sup] / doc / FAQ.txt
index 874e32b2a36811ebee48985473dbb7e2b4df549a..997a35735b1be65f111150452ef055f7789df717 100644 (file)
 Sup FAQ
 -------
+
+Q: What is Sup?
+A: A console-based email client for people with a lot of email.
+
 Q: What does Sup stand for?
+A: "What's up?"
 
-A: It stands for "what's up?", which is more or less the question I'm
-   asking when I read my mail.
+Q: Sup looks like a text-based Gmail.
+A: First I stole their ideas. Then I improved them.
 
-Q: If you love GMail so much, why not just use it?
+Q: Why not just use Gmail?
+A: I hate ads, I hate using a mouse, and I hate non-programmability and
+   non-extensibility.
 
-A: I hate using a mouse, and I hate ads, and I hate non-programmability
-   and non-extensibility.
+   Also, Gmail doesn't let you use a monospace font, which is just
+   lame.
 
-Q: Why the console?
-A: There are many advantages to the console. As any Unix user knows, a
-   few keystrokes can accomplish the work of a hundred mouse clicks.
-   Also, you don't need web browser, and you get instantaneous response
-   and a simple interface.
+   Also, Gmail encourages top-posting. THIS CANNOT BE TOLERATED!
 
-   That said, a good Ajax programmer could probably replicate GMail
-   pretty easily using Sup as the backend.
+Q: Why the console?
+A: Because a keystroke is worth a hundred mouse clicks, as any Unix
+   user knows. Because you don't need web browser. Because you get
+   instantaneous response and a simple interface.
 
 Q: How does Sup deal with spam?
 A: You can manually mark messages as spam, which prevents them from
-   showing up in future searches, but that's all that Sup does. Spam
-   filtering should be done by a dedicated tool like SpamAssassin.
+   showing up in future searches. Later, you can run a batch process to
+   remove such messages from your sources. That's as far as Sup goes.
+   Spam filtering should be done by a dedicated tool like SpamAssassin.
+
+Q: How do I delete a message?
+A: Why delete? Unless it's spam, you might as well just archive it.
+
+Q: C'mon, really now!
+A: Ok, press the 'd' key.
+
+Q: But I want to delete it for real, not just add a 'deleted' flag in
+   the index. I want it gone from disk!
+A: Currently, for mbox sources, there is a batch deletion tool that
+   will strip out all messages marked as spam or deleted.
+
+Q: How well does Sup play with other mail clients?
+A: Not well at all. If messages have been moved, deleted, or altered
+   due to some other client, Sup will have to rebuild its index for
+   that message source. For example, for mbox files, reading a single
+   unread message changes the offsets of every file on disk. Rather
+   than rescanning every time, Sup assumes sources don't change except
+   by having new messages added. If that assumption is violated,
+   you'll have to sync the index.
+
+Q: How do I back up my index?
+A: Since the contents of the messages are recoverable from their
+   sources using sup-sync, all you need to back up is the message
+   state. To do this, simply run:
+      sup-dump > <dumpfile>
+   This will save all message state in a big text file, which you
+   should probably compress.
+
+Q: How do I restore the message state I saved in my state dump?
+A: Run:
+     sup-sync [<source>+] --restored --restore <dumpfile>
+   where <dumpfile> was created as above.
+
+Q: Ferret crashed and I can't read my index. Luckily I made a state
+   dump. What should I do?
+Q: How do I rebuild the index completely?
+A: Run:
+     rm -rf ~/.sup/ferret    # omg wtf
+     sup-sync --all-sources --all --restore <dumpfile>
+   Voila! A brand new index.
+
+Q: I want to move messages from one source to another. (E.g., my
+   primary inbox is an IMAP server with a quota, and I want to move
+   some of those messages to local mbox files.) How do I do that while
+   preserving message state?
+A: Move the messages from the source to the target using whatever tool
+   you'd like. Mutt's a good one. :) Then run:
+     sup-sync --changed <source1> <source2>
+
+   Note that if you sup-sync only one source at a time, depending on
+   the order in which you do it, the messages may be treated as
+   missing and then deleted from the index, which means that their
+   states will be lost when you sync the other source. So do them both
+   in one go.
 
 Q: What are all these "Redwood" references I see in the code?
-A: That was Sup's original name. (Think pine, elm. Although I am a
+A: That was Sup's original name. (Think pine, elm. Although I was a
    Mutt user, I couldn't think of a good progression there.) But it was
-   taken by another project on RubyForge, and wasn't that original,
-   and was too long to type anyways.
+   taken by another project on RubyForge, and wasn't that original, and
+   was too long to type anyways.
+
+Common Problems
+---------------
+
+P: I get some error message from Rubymail about frozen strings when
+   importing messages with attachments.
+S: The current solution is to directly modify RubyMail. Change line 159 of
+   multipart.rb to:
+     chunk = chunk[0..start]
+   This is because RubyMail hasn't been updated since like Ruby 1.8.2.
+   Please bug Matt Armstrong.
 
-   Maybe one day I'll do a huge search-and-replace on the code, but it
-   doesn't seem that important at this point.
+P: I see this error:
+     /usr/local/lib/ruby/1.8/yaml.rb:133:in `transfer': allocator undefined for Bignum (TypeError)
+S: You need to upgrade to Ruby 1.8.5. YAML in earlier versions can't
+   parse BigNums, but Sup relies on that for Maildir and IMAP.
 
-Q: How is Sup possible?
-A: Sup is only possible through the hard work of Dave Balmain, the
-   author of ferret, which is the search engine behind Sup. Ferret is
-   really a first-class piece of software, and it's due to the
-   tremendous amount of time and effort he's put in to it.
+P: I see this error:
+     /usr/lib/ruby/1.8/net/imap.rb:204: uninitialized constant Net::IMAP::SSL (NameError)
+S: You need to install a package called libssl-ruby or something similar.
+   Or, don't use imaps:// sources. Ruby's IMAP library otherwise fails in
+   this completely uninformative manner.
 
+P: When I run Sup remotely and view an HTML attachment, an existing
+   Firefox on the *local* machine is redirected to the attachment
+   file, which it can't find (since it's on the remote machine). How do
+   I view HTML attachments in this environment?
+S: Put this in your ~/.mailcap on the machine you run Sup on:
+      text/html; /usr/bin/firefox -a sup '%s'; description=HTML Text; test=test -n "$DISPLAY";  nametemplate=%s.html