diff --git a/offlineimap/head/debian/changelog b/offlineimap/head/debian/changelog index b8c2498..8e9e8aa 100644 --- a/offlineimap/head/debian/changelog +++ b/offlineimap/head/debian/changelog @@ -1,6 +1,10 @@ offlineimap (3.2.0) unstable; urgency=low - * New BLINKENLIGHTS interface! + * New BLINKENLIGHTS interface! Mesmerising, isn't it? + * New ui.Tk.Blinkenlights section in offlineimap.conf. + * New USER INTERFACES section in the manual. + * TTYUI isusable() now checks to see if stdout and stdin are TTYs. + * Added build-dependency on python2.2-dev. Closes: #154167. -- John Goerzen Wed, 24 Jul 2002 07:53:20 -0500 diff --git a/offlineimap/head/debian/control b/offlineimap/head/debian/control index 0b2ae9f..402915b 100644 --- a/offlineimap/head/debian/control +++ b/offlineimap/head/debian/control @@ -2,7 +2,7 @@ Source: offlineimap Section: mail Priority: optional Maintainer: John Goerzen -Build-Depends-Indep: debhelper (>> 3.0.0), python2.2 (>= 2.2.1-4) +Build-Depends-Indep: debhelper (>> 3.0.0), python2.2 (>= 2.2.1-4), python2.2-dev (>= 2.2.1-4) Standards-Version: 3.5.2 Package: offlineimap diff --git a/offlineimap/head/manual.html b/offlineimap/head/manual.html index ffc47ab..8029405 100644 --- a/offlineimap/head/manual.html +++ b/offlineimap/head/manual.html @@ -13,6 +13,7 @@ INSTALLATION
CONFIGURATION
OPTIONS
+USER INTERFACES
EXAMPLES
ERRORS
OTHER FREQUENTLY ASKED QUESTIONS
@@ -25,7 +26,7 @@
- +

NAME

-u will be forced to be used, even if its isuable() method states that it cannot -be. Use this option with care.
+be. Use this option with care. The pre-defined options are +listed in the USER INTERFACES section. + +

USER INTERFACES

+ + + +
+OfflineIMAP has a pluggable user interface system +that lets you choose how the program communicates +information to you. There are two graphical interfaces, one +terminal interface, and two noninteractive interfaces +suitable for scripting or logging purposes. The ui +option in the configuration file specifies the user +interface preferences. The -u command-line option can +override the configuration file. The available values for +the configuration file or command-line are describef in this +section.
+ + + +
+Tk.Blinkenlights
+ + + +
+This is an interface designed to be sleek, fun to watch, and +informative of the overall picture of what +OfflineIMAP is doing. I consider it to be the best +general-purpose interface in OfflineIMAP. +Tk.Blinkenlights contains, by default, a small window with a +row of LEDs and a row of command buttons. The total size of +the window is very small, so it uses little desktop space, +yet it is quite functional. There is also an optional, +toggable, log that shows more detail about what is happening +and is color-coded to match the color of the +lights.
+ + + +
+Tk.Blinkenlights is the only user interface that has +configurable parameters; see the example +offlineimap.conf for more details.
+ + + +
+Each light in the Tk.Blinkenlights interface represents a +thread of execution -- that is, a particular task that +OfflineIMAP is performing right now. The color +indicates what task the particular thread is performing, and +are as follows:
+ + + +
+Black
-The pre-defined options are Tk.TkUI (a graphical -interface), TTY.TTYUI (a text-mode interface), -Noninteractive.Basic (a non-interactive mode suitable -for cronning), and Noninteractive.Quiet (a mode that -generates no output except for errors).
+indicates that this light's thread has terminated; it will +light up again later when new threads start up. So, black +indicates no activity. + + + +
+Red (Meaning 1)
+ + + +
+is the color of the main program's thread, which basically +does nothing but monitor the others. It might remind you of +HAL 9000 in 2001.
+ + + +
+Purple
+ + + +
+is the color of an account synchronization thread that is +monitoring the progress of the folders in that account (not +generating any I/O).
+ + + +
+Cyan
+ + + +
+indicates that the thread is syncing a folder.
+ + + +
+Green
+ + + +
+means that a folder's message list is being +loaded.
+ + + +
+Blue
+ + + +
+is the color of a message synchronization controller +thread.
+ + + +
+Orange
+ + + +
+indicates that an actual message is being +copied.
+ + + +
+Red (Meaning 2)
+ + + +
+indicates that a message is being deleted.
+ + + +
+Yellow
+ + + +
+(bright orange) indicates that message flags are being +added.
+ + + +
+Pink
+ + + +
+(bright red) indicates that message flags are being +removed.
+ + + +
+Red / Black Flashing
+ + + +
+corresponds to the countdown timer that runs between +synchronizations.
+ + + +
+The name of this interface derives from a bit of computer +science history. Eric Raymond's Jargon File defines +blinkenlights, in part, as:
+ + + +
+Front-panel diagnostic lights on a computer, esp. a +dinosaur. Now that dinosaurs are rare, this term usually +refers to status lights on a modem, network hub, or the +like.
+ + + +
+This term derives from the last word of the famous +blackletter-Gothic sign in mangled pseudo-German that once +graced about half the computer rooms in the English-speaking +world. One version ran in its entirety as +follows:
+ + + +
+ACHTUNG! ALLES LOOKENSPEEPERS!
+ + + +
+Das computermachine ist nicht fuer gefingerpoken und +mittengrabben. Ist easy schnappen der springenwerk, +blowenfusen und poppencorken mit spitzensparken. Ist nicht +fuer gewerken bei das dumpkopfen. Das rubbernecken +sichtseeren keepen das cotten-pickenen hans in das pockets +muss; relaxen und watchen das blinkenlichten.
+ + + +
+Tk.VerboseUI
+ + + +
+This interface (formerly known as Tk.TkUI) is a graphical +interface that presents a variable-sized window. In the +window, each currently-executing thread has a section where +its name and current status are displayed. This interface is +best suited to people running on slower connections, as you +get a lot of detail, but for fast connections, the detail +may go by too quickly to be useful. People with fast +connections may wish to use Tk.Blinkenlights +instead.
+ + + +
+TTY.TTYUI
+ + + +
+This interface is the default for people running in +terminals. It prints out basic status messages, has an +interruptible timer like the graphical interfaces do, and is +generally friendly to use on a console or +xterm.
+ + + +
+Noninteractive.Basic
+ + + +
+This interface is designed for situations where +OfflineIMAP will be run non-attended and the status +of its execution will be logged. You might use it, for +instance, to have the system run automatically and e-mail +you the results of the synchronization. This user interface +is not capable of reading a password from the keyboard; +account passwords must be specified using one of the +configuration file options.
+ + + +
+Noninteractive.Quiet
+ + + +
+This interface is designed for non-attended running in +situations where normal status messages are not desired. It +will output nothing except errors and serious warnings. Like +Noninteractive.Basic, this user interface is not capable of +reading a password from the keyboard; account passwords must +be specified using one of the configuration file +options.

EXAMPLES

diff --git a/offlineimap/head/manual.pdf b/offlineimap/head/manual.pdf index cfe4680..f5349ea 100644 Binary files a/offlineimap/head/manual.pdf and b/offlineimap/head/manual.pdf differ diff --git a/offlineimap/head/manual.ps b/offlineimap/head/manual.ps index c619494..9e63642 100644 --- a/offlineimap/head/manual.ps +++ b/offlineimap/head/manual.ps @@ -1,11 +1,11 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.17.2 -%%CreationDate: Wed Jul 24 07:44:13 2002 +%%CreationDate: Wed Jul 24 13:00:05 2002 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%DocumentSuppliedResources: procset grops 1.17 2 -%%Pages: 7 +%%Pages: 8 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments @@ -437,61 +437,76 @@ F0(Run only once, ignoring an)25.3 E 2.5(ya)-.15 G (ault speci\214ed in the)-.1 F .28(con\214guration \214le.)144 194.4 R .28(The UI speci\214ed with)5.28 F F1(-u)2.78 E F0 .281 (will be forced to be used, e)2.78 F -.15(ve)-.25 G 2.781(ni).15 G 2.781 -(fi)-2.781 G(ts)-2.781 E F1(isuable\(\))2.781 E F0(method)2.781 E -(states that it cannot be.)144 206.4 Q(Use this option with care.)5 E -1.687(The pre-de\214ned options are)144 223.2 R F1(Tk.TkUI)4.187 E F0 -1.686(\(a graphical interf)4.186 F(ace\),)-.1 E F1(TTY)4.186 E(.TTYUI) --.92 E F0 1.686(\(a te)4.186 F 1.686(xt-mode inter)-.15 F(-)-.2 E -.1 -(fa)144 235.2 S(ce\),).1 E F1(Noninteracti)5.044 E -.1(ve)-.1 G(.Basic) -.1 E F0 2.544(\(a non-interacti)5.044 F 2.844 -.15(ve m)-.25 H 2.545 -(ode suitable for cronning\), and).15 F F1(Noninterac-)5.045 E(ti)144 -247.2 Q -.1(ve)-.1 G(.Quiet).1 E F0(\(a mode that generates no output e) -2.5 E(xcept for errors\).)-.15 E/F3 10.95/Times-Bold@0 SF(EXAMPLES)72 -264 Q F0(Here is an e)108 276 Q -(xample con\214guration for a particularly comple)-.15 E 2.5(xs)-.15 G -(ituation; more e)-2.5 E(xamples will be added later)-.15 E(.)-.55 E F1 -(MUL)87 292.8 Q(TIPLE A)-.92 E(CCOUNTS WITH MUTT)-.55 E F0 .514(This e) -108 304.8 R .514(xample sho)-.15 F .514(ws you ho)-.25 F 3.014(wt)-.25 G -3.014(os)-3.014 G .514(et up)-3.014 F F1(Of\215ineIMAP)3.014 E F0 .513 -(to synchronize multiple accounts with the mutt mail)3.014 F(reader)108 -316.8 Q(.)-.55 E(Start by creating a directory to hold your folders:)108 -333.6 Q F1(mkdir ~/Mail)108 345.6 Q F0(In your)108 362.4 Q F2(~/.of)2.5 -E(\215ineimapr)-.18 E(c,)-.37 E F0(specify this:)2.5 E F1(accounts = P) -108 374.4 Q(ersonal, W)-.2 E(ork)-.75 E F0(Mak)108 391.2 Q 2.82(es)-.1 G -.32(ure that you ha)-2.82 F .62 -.15(ve b)-.2 H .32(oth a).15 F F1([P) -2.821 E(ersonal])-.2 E F0 .321(and a)2.821 F F1([W)2.821 E(ork])-.75 E -F0 .321(section, with dif)2.821 F .321(ferent localfolder pathnames and) --.25 F(enable)108 403.2 Q F1([mbnames].)2.5 E F0 -(In each account section, do something lik)108 420 Q 2.5(et)-.1 G(his:) --2.5 E F1(localf)108 432 Q(olders = ~/Mail/P)-.25 E(ersonal)-.2 E F0 -(Add these lines to your)108 448.8 Q F2(~/.muttr)2.5 E(c:)-.37 E F1 -(sour)108 460.8 Q(ce ~/path-to-mbnames-muttr)-.18 E(c-mailboxes)-.18 E --.25(fo)108 472.8 S(lder).25 E(-hook P)-.37 E(ersonal set fr)-.2 E -(om="y)-.18 E(our)-.25 E(email@personal.com")-.18 E -.25(fo)108 484.8 S -(lder).25 E(-hook W)-.37 E(ork set fr)-.75 E(om="y)-.18 E(our)-.25 E -(email@w)-.18 E(ork.com")-.1 E(set mbox_type=Maildir)108 496.8 Q(set f) -108 508.8 Q(older=$HOME/Mail)-.25 E(set spool\214le=+P)108 520.8 Q -(ersonal/INBO)-.2 E(X)-.4 E F0(That')108 537.6 Q 2.5(si)-.55 G(t!)-2.5 E -F1(UW)87 554.4 Q(-IMAPD AND REFERENCES)-.37 E F0 .494 -(Some users with a UW)108 566.4 R .493(-IMAPD serv)-.65 F .493 -(er need to use)-.15 F F1(Of\215ineIMAP')2.993 E(s)-.37 E F0 .493 -("reference" feature to get at their mail-)2.993 F(box)108 578.4 Q .46(\ -es, specifying a reference of "~/Mail" or "#mh/" depending on the con\ -\214guration.)-.15 F .46(The belo)5.46 F 2.96(wc)-.25 G(on\214gura-) --2.96 E .465(tion from docwhat@gerf.or)108 590.4 R 2.965(gs)-.18 G(ho) --2.965 E .465(ws using a reference of Mail, a nametrans that strips the\ - leading Mail/ of)-.25 F(f)-.25 E(incoming folder names, and a folder\ -\214lter that limits the folders synced to just three.)108 602.4 Q F1 -([Gerf])108 619.2 Q(localf)108 631.2 Q(olders = ~/Mail)-.25 E -.18(re) -108 643.2 S(motehost = gerf).18 E(.or)-.15 E(g)-.1 E(ssl = y)108 655.2 Q -(es)-.1 E -.18(re)108 667.2 S(moteuser = docwhat).18 E -.18(re)108 679.2 -S(fer).18 E(ence = Mail)-.18 E 2.5(#T)108 691.2 S(rims off the pr)-3.24 -E(eceeding Mail on all the f)-.18 E(older names.)-.25 E -(nametrans = lambda f)108 703.2 Q(older)-.25 E(name: \\)-.15 E -.18(re) -138 715.2 S(.sub\('^Mail/', ').18 E(', f)-.63 E(older)-.25 E(name\))-.15 -E 2.5(#Y)108 727.2 S(eah, y)-3.61 E(ou ha)-.25 E .2 -.1(ve t)-.25 H 2.5 -(om).1 G(ention the Mail dir)-2.5 E 2.5(,e)-.92 G -.1(ve)-2.65 G 2.5(nt) -.1 G(hough it)-2.5 E F0(John Goerzen)72 768 Q(July 12, 2002)151.655 E(3) +(fi)-2.781 G(ts)-2.781 E F1(isuable\(\))2.781 E F0(method)2.781 E .274 +(states that it cannot be.)144 206.4 R .274(Use this option with care.) +5.274 F .273(The pre-de\214ned options are listed in the USER)5.273 F +(INTERF)144 218.4 Q -.4(AC)-.74 G(ES section.).4 E/F3 10.95/Times-Bold@0 +SF(USER INTERF)72 235.2 Q -.602(AC)-.986 G(ES).602 E F1(Of\215ineIMAP) +108 247.2 Q F0 .85(has a plugg)3.35 F .85(able user interf)-.05 F .851 +(ace system that lets you choose ho)-.1 F 3.351(wt)-.25 G .851 +(he program communicates)-3.351 F .024(information to you.)108 259.2 R +.024(There are tw)5.024 F 2.524(og)-.1 G .024(raphical interf)-2.524 F +.023(aces, one terminal interf)-.1 F .023(ace, and tw)-.1 F 2.523(on)-.1 +G(oninteracti)-2.523 E .323 -.15(ve i)-.25 H(nter).15 E(-)-.2 E -.1(fa) +108 271.2 S 1.002(ces suitable for scripting or logging purposes.).1 F +(The)6.002 E F2(ui)3.502 E F0 1.002 +(option in the con\214guration \214le speci\214es the user)3.502 F +(interf)108 283.2 Q .476(ace preferences.)-.1 F(The)5.476 E F2 +2.976 E F0 .475(command-line option can o)2.976 F -.15(ve)-.15 G .475 +(rride the con\214guration \214le.).15 F .475(The a)5.475 F -.25(va)-.2 +G .475(ilable v).25 F(al-)-.25 E(ues for the con\214guration \214le or \ +command-line are describef in this section.)108 295.2 Q F1(Tk.Blink)87 +312 Q(enlights)-.1 E F0 1.708(This is an interf)108 324 R 1.709 +(ace designed to be sleek, fun to w)-.1 F 1.709(atch, and informati)-.1 +F 2.009 -.15(ve o)-.25 H 4.209(ft).15 G 1.709(he o)-4.209 F -.15(ve)-.15 +G 1.709(rall picture of what).15 F F1(Of\215ineIMAP)108 336 Q F0 .18 +(is doing.)2.68 F 2.68(Ic)5.18 G .18 +(onsider it to be the best general-purpose interf)-2.68 F .18(ace in)-.1 +F F1(Of\215ineIMAP)2.68 E(.)-1.1 E F0(Tk.Blink)5.18 E(en-)-.1 E .499 +(lights contains, by def)108 348 R .499(ault, a small windo)-.1 F 2.999 +(ww)-.25 G .499(ith a ro)-2.999 F 2.999(wo)-.25 G 2.999(fL)-2.999 G .499 +(EDs and a ro)-2.999 F 2.999(wo)-.25 G 2.999(fc)-2.999 G .499(ommand b) +-2.999 F 2.999(uttons. The)-.2 F(total)2.999 E .553(size of the windo) +108 360 R 3.053(wi)-.25 G 3.053(sv)-3.053 G .552(ery small, so it uses \ +little desktop space, yet it is quite functional.)-3.203 F .552 +(There is also an)5.552 F 1.339(optional, togg)108 372 R 1.339 +(able, log that sho)-.05 F 1.339 +(ws more detail about what is happening and is color)-.25 F 1.34 +(-coded to match the)-.2 F(color of the lights.)108 384 Q(Tk.Blink)108 +400.8 Q 5.224(enlights is the only user interf)-.1 F 5.224 +(ace that has con\214gurable parameters; see the e)-.1 F(xample)-.15 E +F2(of)108 412.8 Q(\215ineimap.conf)-.18 E F0(for more details.)2.5 E +.429(Each light in the Tk.Blink)108 429.6 R .429(enlights interf)-.1 F +.429(ace represents a thread of e)-.1 F -.15(xe)-.15 G .43 +(cution -- that is, a particular task that).15 F F1(Of\215ineIMAP)108 +441.6 Q F0 .867(is performing right no)3.367 F 4.667 -.65(w. T)-.25 H +.866(he color indicates what task the particular thread is performing,) +.65 F(and are as follo)108 453.6 Q(ws:)-.25 E F1(Black)108 475.2 Q F0 +.569(indicates that this light')11.55 F 3.069(st)-.55 G .569 +(hread has terminated; it will light up ag)-3.069 F .57 +(ain later when ne)-.05 F 3.07(wt)-.25 G .57(hreads start)-3.07 F 2.5 +(up. So,)144 487.2 R(black indicates no acti)2.5 E(vity)-.25 E(.)-.65 E +F1(Red \(Meaning 1\))108 504 Q F0 .442 +(is the color of the main program')144 516 R 2.942(st)-.55 G .442 +(hread, which basically does nothing b)-2.942 F .442 +(ut monitor the others.)-.2 F(It)5.441 E +(might remind you of HAL 9000 in)144 528 Q F2(2001.)2.5 E F1(Pur)108 +544.8 Q(ple)-.1 E F0 .656(is the color of an account synchronization th\ +read that is monitoring the progress of the folders in)7.21 F +(that account \(not generating an)144 556.8 Q 2.5(yI)-.15 G(/O\).)-2.5 E +F1(Cyan)108 573.6 Q F0(indicates that the thread is syncing a folder) +13.22 E(.)-.55 E F1(Gr)108 590.4 Q(een)-.18 E F0(means that a folder') +9.52 E 2.5(sm)-.55 G(essage list is being loaded.)-2.5 E F1(Blue)108 +607.2 Q F0(is the color of a message synchronization controller thread.) +16.55 E F1(Orange)108 624 Q F0 +(indicates that an actual message is being copied.)144 636 Q F1 +(Red \(Meaning 2\))108 652.8 Q F0 +(indicates that a message is being deleted.)144 664.8 Q F1 -1.11(Ye)108 +681.6 S(llo)1.11 E(w)-.1 E F0 +(\(bright orange\) indicates that message \215ags are being added.)7.77 +E F1(Pink)108 698.4 Q F0 +(\(bright red\) indicates that message \215ags are being remo)15.99 E +-.15(ve)-.15 G(d.).15 E(John Goerzen)72 768 Q(July 12, 2002)151.655 E(3) 201.915 E EP %%Page: 4 4 %%BeginPageSetup @@ -499,299 +514,417 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R (\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E/F1 10/Times-Bold@0 -SF 2.5(#w)108 84 S(ould seem intuiti)-2.6 E .2 -.1(ve t)-.1 H(hat r).1 E -(efer)-.18 E(ence w)-.18 E(ould trim it.)-.1 E -.25(fo)108 96 S -(lder\214lter = lambda f).25 E(older)-.25 E(name: f)-.15 E(older)-.25 E -(name in [)-.15 E('Mail/INBO)125.5 108 Q(X',)-.4 E -('Mail/list/zaurus-general',)125.5 120 Q('Mail/list/zaurus-de)125.5 132 -Q(v',)-.15 E(])125.5 144 Q(maxconnections = 1)108 156 Q -(holdconnectionopen = no)108 168 Q/F2 10.95/Times-Bold@0 SF(ERR)72 184.8 -Q(ORS)-.329 E F0(If you get one of some frequently-encountered or confu\ -sing errors, please check this section.)108 196.8 Q F1(UID v)87 213.6 Q -(alidity pr)-.1 E(oblem f)-.18 E(or f)-.25 E(older)-.25 E F0 1.637 -(IMAP serv)108 225.6 R 1.637 -(ers use a unique ID \(UID\) to refer to a speci\214c message.)-.15 F -1.638(This number is guaranteed to be)6.637 F 1.11 -(unique to a particular message FOREVER.)108 237.6 R 1.109 -(No other message in the same folder will e)6.11 F -.15(ve)-.25 G 3.609 -(rg).15 G 1.109(et the same)-3.609 F 2.873(UID. UIDs)108 249.6 R .373 -(are an inte)2.873 F .373(gral part of Of)-.15 F(\215ineIMAP')-.25 E -2.873(ss)-.55 G .373(ynchronization scheme; the)-2.873 F 2.873(ya)-.15 G -.373(re used to match up mes-)-2.873 F -(sages on your computer to messages on the serv)108 261.6 Q(er)-.15 E(.) --.55 E .108(Sometimes, the UIDs on the serv)108 278.4 R .108 -(er might get reset.)-.15 F .108 -(Usually this will happen if you delete and then recreate)5.108 F 3.742 -(af)108 290.4 S(older)-3.742 E 6.242(.W)-.55 G 1.242 -(hen you create a folder)-6.242 F 3.742(,t)-.4 G 1.242(he serv)-3.742 F -1.242(er will often start the UID back from 1.)-.15 F(But)6.243 E F1 -(Of\215ineIMAP)3.743 E F0 .303(might still ha)108 302.4 R .603 -.15 -(ve t)-.2 H .303(he UIDs from the pre).15 F .302 -(vious folder by the same name stored.)-.25 F F1(Of\215ineIMAP)5.302 E -F0 .302(will detect this)2.802 F(condition and skip the folder)108 314.4 -Q 5(.T)-.55 G(his is GOOD, because it pre)-5 E -.15(ve)-.25 G -(nts data loss.).15 E -1.1(Yo)108 331.2 S 2.826(uc)1.1 G .326 -(an \214x it by remo)-2.826 F .327 -(ving your local folder and cache data.)-.15 F -.15(Fo)5.327 G 2.827(ri) -.15 G .327(nstance, if your folders are under)-2.827 F/F3 10 -/Times-Italic@0 SF(~/F)2.827 E(old-)-1.05 E(er)108 343.2 Q(s)-.1 E F0 -(and the folder with the problem is INBO)2.5 E(X, you')-.4 E 2.5(dt)-.5 -G(ype this:)-2.5 E F1(rm -r ~/F)108 360 Q(olders/INBO)-.25 E(X)-.4 E -(rm ~/.of\215ineimap/AccountName/INBO)108 372 Q(X)-.4 E F0 -(\(replacing AccountName with the account name as speci\214ed in)108 -388.8 Q F3(~/.of)2.5 E(\215ineimapr)-.18 E(c\))-.37 E F0(Ne)108 405.6 Q -.802(xt time you run)-.15 F F1(Of\215ineIMAP)3.302 E(,)-.92 E F0 .802 -(it will re-do)3.302 F .802(wnload the folder with the ne)-.25 F 3.302 -(wU)-.25 G 3.301(IDs. Note)-3.302 F .801(that the proce-)3.301 F -(dure speci\214ed abo)108 417.6 Q .3 -.15(ve w)-.15 H(ill lose an).15 E -2.5(yl)-.15 G(ocal changes made to the folder)-2.5 E(.)-.55 E .522 -(Some IMAP serv)108 434.4 R .522(ers are brok)-.15 F .522 -(en and do not support UIDs properly)-.1 F 5.522(.I)-.65 G 3.022(fy) --5.522 G .522(ou continue to get this error for all)-3.022 F .067 -(your folders e)108 446.4 R -.15(ve)-.25 G 2.566(na).15 G .066 -(fter performing the abo)-2.566 F .366 -.15(ve p)-.15 H .066 -(rocedure, it is lik).15 F .066(ely that your IMAP serv)-.1 F .066(er f) --.15 F .066(alls into this cat-)-.1 F -.15(eg)108 458.4 S(ory).15 E(.) --.65 E F1(Of\215ineIMAP)5.983 E F0 .984(is incompatible with such serv) -3.483 F 3.484(ers. Using)-.15 F F1(Of\215ineIMAP)3.484 E F0 .984 -(with them will not destro)3.484 F(y)-.1 E(an)108 470.4 Q 2.77(ym)-.15 G -.27(ail, b)-2.77 F .27 -(ut at the same time, it will not actually synchronize it either)-.2 F -5.269(.\()-.55 G(Of)-5.269 E .269(\215ineIMAP will detect this con-)-.25 -F(dition and abort prior to synchronization\))108 482.4 Q F2 -.438(OT)72 -511.2 S(HER FREQ).438 E(UENTL)-.11 E 2.738(YA)-1.007 G(SKED Q)-2.738 E -(UESTIONS)-.11 E F0 .683(There are some other F)108 523.2 R -.55(AQ)-.74 -G 3.184(st).55 G .684 -(hat might not \214t into another section of this document, and the) --3.184 F 3.184(ya)-.15 G .684(re enumer)-3.184 F(-)-.2 E(ated here.)108 -535.2 Q F1(What platf)108 552 Q(orms does Of\215ineIMAP run on?)-.25 E -F0(It should run on most platforms supported by Python, which are quite\ - a fe)144 564 Q -.65(w.)-.25 G F1 .689 -(I'm using Mutt. Other IMAP sync pr)108 580.8 R .689(ograms r)-.18 F -(equir)-.18 E 3.189(em)-.18 G 3.189(et)-3.189 G 3.189(ou)-3.189 G .689 -(se set maildir_trash=y)-3.189 F .688(es . Do I need to)-.1 F -(do that with Of\215ineIMAP?)108 592.8 Q F0(No.)144 604.8 Q F1 -(Of\215ineIMAP)7.27 E F0 2.27 -(is smart enough to \214gure out message deletion without this e)4.77 F -2.27(xtra crutch.)-.15 F -1.1(Yo)144 616.8 S(u')1.1 E -(ll get the best results if you don')-.1 E 2.5(tu)-.18 G -(se this setting, in f)-2.5 E(act.)-.1 E F1(Ho)108 633.6 Q 2.5(wd)-.1 G -2.5(oIs)-2.5 G(pecify the names of my f)-2.5 E(olders?)-.25 E F0 -1.1 -(Yo)144 645.6 S 3.55(ud)1.1 G 3.55(on)-3.55 G 1.05(ot need to.)-3.55 F -F1(Of\215ineIMAP)6.05 E F0 1.05 -(is smart enough to automatically \214gure out what folders are)3.55 F -.679(present on the IMAP serv)144 657.6 R .679(er and synchronize them.) --.15 F -1.1(Yo)5.679 G 3.178(uc)1.1 G .678(an use the)-3.178 F F1 -.25 -(fo)3.178 G(lder\214lter).25 E F0(and)3.178 E F1 -.25(fo)3.178 G -(ldertrans).25 E F0(con\214guration \214le options to request certain f\ -olders and rename them as the)144 669.6 Q 2.5(yc)-.15 G -(ome in if you lik)-2.5 E(e.)-.1 E F1(Ho)108 686.4 Q 2.5(wc)-.1 G -(an I pr)-2.5 E -2.3 -.15(ev e)-.18 H(nt certain f).15 E(olders fr)-.25 -E(om being synced?)-.18 E F0(Use the)144 698.4 Q F1 -.25(fo)2.5 G -(lder\214lter).25 E F0(option in the con\214guration \214le.)2.5 E -(John Goerzen)72 768 Q(July 12, 2002)151.655 E(4)201.915 E EP +SF(Red / Black Flashing)108 84 Q F0(corresponds to the countdo)144 96 Q +(wn timer that runs between synchronizations.)-.25 E 1.317 +(The name of this interf)108 112.8 R 1.316(ace deri)-.1 F -.15(ve)-.25 G +3.816(sf).15 G 1.316(rom a bit of computer science history)-3.816 F +6.316(.E)-.65 G 1.316(ric Raymond')-6.316 F(s)-.55 E/F2 10 +/Times-Italic@0 SF -.35(Ja)3.816 G -.37(rg).35 G 1.316(on F).37 F(ile) +-.45 E F0(de\214nes blink)108 124.8 Q(enlights, in part, as:)-.1 E .132 +(Front-panel diagnostic lights on a computer)144 141.6 R 2.632(,e)-.4 G +.132(sp. a dinosaur)-2.632 F 2.632(.N)-.55 G .632 -.25(ow t)-2.632 H +.132(hat dinosaurs are rare, this term).25 F +(usually refers to status lights on a modem, netw)144 153.6 Q +(ork hub, or the lik)-.1 E(e.)-.1 E 1.244(This term deri)144 170.4 R +-.15(ve)-.25 G 3.744(sf).15 G 1.244(rom the last w)-3.744 F 1.244 +(ord of the f)-.1 F 1.243(amous blackletter)-.1 F 1.243 +(-Gothic sign in mangled pseudo-)-.2 F .566(German that once graced abo\ +ut half the computer rooms in the English-speaking w)144 182.4 R .566 +(orld. One v)-.1 F(er)-.15 E(-)-.2 E(sion ran in its entirety as follo) +144 194.4 Q(ws:)-.25 E F1 -.55(AC)144 211.2 S +(HTUNG! ALLES LOOKENSPEEPERS!).55 E F0 1.648 +(Das computermachine ist nicht fuer ge\214ngerpok)144 228 R 1.647 +(en und mittengrabben.)-.1 F 1.647(Ist easy schnappen der)6.647 F .12 +(springenwerk, blo)144 240 R .121(wenfusen und poppencork)-.25 F .121 +(en mit spitzenspark)-.1 F 2.621(en. Ist)-.1 F .121(nicht fuer ge)2.621 +F(werk)-.25 E .121(en bei das)-.1 F(dumpk)144 252 Q 2.519(opfen. Das)-.1 +F(rubberneck)2.519 E .018(en sichtseeren k)-.1 F .018 +(eepen das cotten-pick)-.1 F .018(enen hans in das pock)-.1 F .018 +(ets muss;)-.1 F(relax)144 264 Q(en und w)-.15 E(atchen das blink)-.1 E +(enlichten.)-.1 E F1(Tk.V)87 280.8 Q(erboseUI)-1 E F0 .503(This interf) +108 292.8 R .503(ace \(formerly kno)-.1 F .503 +(wn as Tk.TkUI\) is a graphical interf)-.25 F .504 +(ace that presents a v)-.1 F .504(ariable-sized windo)-.25 F -.65(w.) +-.25 G 1.37(In the windo)108 304.8 R 2.67 -.65(w, e)-.25 H 1.37 +(ach currently-e).65 F -.15(xe)-.15 G 1.37 +(cuting thread has a section where its name and current status are dis-) +.15 F 2.768(played. This)108 316.8 R(interf)2.768 E .268 +(ace is best suited to people running on slo)-.1 F .269 +(wer connections, as you get a lot of detail, b)-.25 F(ut)-.2 E .357 +(for f)108 328.8 R .356 +(ast connections, the detail may go by too quickly to be useful.)-.1 F +.356(People with f)5.356 F .356(ast connections may wish)-.1 F +(to use Tk.Blink)108 340.8 Q(enlights instead.)-.1 E F1(TTY)87 357.6 Q +(.TTYUI)-.92 E F0 1.341(This interf)108 369.6 R 1.341(ace is the def)-.1 +F 1.342(ault for people running in terminals.)-.1 F 1.342 +(It prints out basic status messages, has an)6.342 F +(interruptible timer lik)108 381.6 Q 2.5(et)-.1 G(he graphical interf) +-2.5 E(aces do, and is generally friendly to use on a console or xterm.) +-.1 E F1(Noninteracti)87 398.4 Q -.1(ve)-.1 G(.Basic).1 E F0 .552 +(This interf)108 410.4 R .552(ace is designed for situations where)-.1 F +F1(Of\215ineIMAP)3.051 E F0 .551 +(will be run non-attended and the status of its)3.051 F -.15(exe)108 +422.4 S .697(cution will be logged.).15 F -1.1(Yo)5.697 G 3.197(um)1.1 G +.697(ight use it, for instance, to ha)-3.197 F .997 -.15(ve t)-.2 H .697 +(he system run automatically and e-mail).15 F .903 +(you the results of the synchronization.)108 434.4 R .902 +(This user interf)5.903 F .902(ace is not capable of reading a passw)-.1 +F .902(ord from the)-.1 F -.1(ke)108 446.4 S(yboard; account passw)-.05 +E(ords must be speci\214ed using one of the con\214guration \214le opti\ +ons.)-.1 E F1(Noninteracti)87 463.2 Q -.1(ve)-.1 G(.Quiet).1 E F0 1.622 +(This interf)108 475.2 R 1.623(ace is designed for non-attended running\ + in situations where normal status messages are not)-.1 F 3.934 +(desired. It)108 487.2 R 1.434(will output nothing e)3.934 F 1.434 +(xcept errors and serious w)-.15 F 3.934(arnings. Lik)-.1 F 3.934(eN)-.1 +G(oninteracti)-3.934 E -.15(ve)-.25 G 1.433(.Basic, this user).15 F +(interf)108 499.2 Q 1.38(ace is not capable of reading a passw)-.1 F +1.38(ord from the k)-.1 F -.15(ey)-.1 G 1.38(board; account passw).15 F +1.38(ords must be speci\214ed)-.1 F +(using one of the con\214guration \214le options.)108 511.2 Q/F3 10.95 +/Times-Bold@0 SF(EXAMPLES)72 528 Q F0(Here is an e)108 540 Q +(xample con\214guration for a particularly comple)-.15 E 2.5(xs)-.15 G +(ituation; more e)-2.5 E(xamples will be added later)-.15 E(.)-.55 E F1 +(MUL)87 556.8 Q(TIPLE A)-.92 E(CCOUNTS WITH MUTT)-.55 E F0 .514(This e) +108 568.8 R .514(xample sho)-.15 F .514(ws you ho)-.25 F 3.014(wt)-.25 G +3.014(os)-3.014 G .514(et up)-3.014 F F1(Of\215ineIMAP)3.014 E F0 .513 +(to synchronize multiple accounts with the mutt mail)3.014 F(reader)108 +580.8 Q(.)-.55 E(Start by creating a directory to hold your folders:)108 +597.6 Q F1(mkdir ~/Mail)108 609.6 Q F0(In your)108 626.4 Q F2(~/.of)2.5 +E(\215ineimapr)-.18 E(c,)-.37 E F0(specify this:)2.5 E F1(accounts = P) +108 638.4 Q(ersonal, W)-.2 E(ork)-.75 E F0(Mak)108 655.2 Q 2.82(es)-.1 G +.32(ure that you ha)-2.82 F .62 -.15(ve b)-.2 H .32(oth a).15 F F1([P) +2.821 E(ersonal])-.2 E F0 .321(and a)2.821 F F1([W)2.821 E(ork])-.75 E +F0 .321(section, with dif)2.821 F .321(ferent localfolder pathnames and) +-.25 F(enable)108 667.2 Q F1([mbnames].)2.5 E F0 +(In each account section, do something lik)108 684 Q 2.5(et)-.1 G(his:) +-2.5 E F1(localf)108 696 Q(olders = ~/Mail/P)-.25 E(ersonal)-.2 E F0 +(Add these lines to your)108 712.8 Q F2(~/.muttr)2.5 E(c:)-.37 E F1 +(sour)108 724.8 Q(ce ~/path-to-mbnames-muttr)-.18 E(c-mailboxes)-.18 E +F0(John Goerzen)72 768 Q(July 12, 2002)151.655 E(4)201.915 E EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R (\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E/F1 10/Times-Bold@0 -SF(Ho)108 84 Q 2.5(wc)-.1 G(an I add or delete a f)-2.5 E(older?)-.25 E -(Of\215ineIMAP)144 96 Q F0 .503(does not currently pro)3.003 F .504 -(vide this feature, b)-.15 F .504(ut if you create a ne)-.2 F 3.004(wf) --.25 G .504(older on the IMAP)-3.004 F(serv)144 108 Q(er)-.15 E 2.5(,i) --.4 G 2.5(tw)-2.5 G(ill be created locally automatically)-2.5 E(.)-.65 E -F1(Ar)108 124.8 Q 2.5(et)-.18 G(her)-2.5 E 2.5(ea)-.18 G(ny other war) --2.5 E(nings that I should be awar)-.15 E 2.5(eo)-.18 G(f?)-2.5 E F0 -1 -(Ye)144 136.8 S(s; see the NO)1 E(TES section belo)-.4 E -.65(w.)-.25 G -F1(What is the mailbox name r)108 153.6 Q(ecorder \(mbnames\) f)-.18 E -(or?)-.25 E F0 1.019(The Mutt mail reader is not capable of automatical\ -ly determining the names of your mailbox)144 165.6 R(es.)-.15 E(Of)144 -177.6 Q .265(\215ineIMAP can help it \(or man)-.25 F 2.765(yo)-.15 G -.265(ther\) programs out be writing these names out in a format you) --2.765 F(specify)144 189.6 Q 5(.S)-.65 G(ee the e)-5 E(xample of)-.15 E -(\215ineimap.conf \214le for details.)-.25 E F1(Can I synchr)108 206.4 Q -(onize multiple accounts with Of\215ineIMAP?)-.18 E F0 3.345(Sure. Just) -144 218.4 R .845(name them all in the accounts line in the general sect\ -ion of the con\214g \214le, and add a)3.345 F(per)144 230.4 Q -(-account section for each one.)-.2 E F1 -(Does Of\215ineIMAP support POP?)108 247.2 Q F0 4.076(No. POP)144 259.2 -R 1.576(is not rob)4.076 F 1.576(ust enough to do a completely reliable\ - multi-machine synchronization lik)-.2 F(e)-.1 E(Of)144 271.2 Q -(\215ineIMAP can do.)-.25 E(Of)5 E(\215ineIMAP will not support it.)-.25 -E F1(Do y)108 288 Q(ou support mailbox f)-.25 E -(ormats other than Maildir?)-.25 E F0 .41(Not at present.)144 300 R .41 -(There is no technical reason not to; just no demand yet.)5.41 F .409 -(Maildir is a superior for)5.409 F(-)-.2 E(mat an)144 312 Q(yw)-.15 E -(ay)-.1 E(.)-.65 E F1([technical] Wh)108 328.8 Q 2.5(ya)-.15 G .36 -.18 -(re y)-2.5 H(our Maildir message \214lenames so huge?)-.07 E -(Of\215ineIMAP)144 340.8 Q F0 .958(has tw)3.458 F 3.458(or)-.1 G(ele) --3.458 E -.25(va)-.25 G .958(nt principles: 1\) ne).25 F -.15(ve)-.25 G -3.459(rm).15 G .959(odifying your messages in an)-3.459 F 3.459(yw)-.15 -G .959(ay and 2\))-3.559 F .493 -(ensuring 100% reliable synchronizations.)144 352.8 R .493 -(In order to do a reliable sync,)5.493 F F1(Of\215ineIMAP)2.993 E F0 -.493(must ha)2.993 F -.15(ve)-.2 G 3.094(aw)144 364.8 S .594 -(ay to uniquely identify each e-mail.)-3.194 F .595 -(Three pieces of information are required to do this: your)5.594 F .538 -(account name, the folder name, and the message UID.)144 376.8 R .537 -(The account name can be calculated from)5.537 F 1.081 -(the path in which your messages are.)144 388.8 R 1.082 -(The folder name can usually be as well, B)6.082 F 1.082(UT some mail) --.1 F(clients mo)144 400.8 Q .3 -.15(ve m)-.15 H -(essages between folders by simply mo).15 E(ving the \214le, lea)-.15 E -(ving the name intact.)-.2 E(So,)144 417.6 Q F1(Of\215ineIMAP)3.2 E F0 -.7(must store both a UID folder ID.)3.2 F .7 -(The folder ID is necessary so)5.7 F F1(Of\215ineIMAP)3.2 E F0 .455 -(can detect a message mo)144 429.6 R -.15(ve)-.15 G 2.955(dt).15 G 2.955 -(oad)-2.955 G(if)-2.955 E .455(ferent folder)-.25 F(.)-.55 E F1 -(Of\215ineIMAP)5.455 E F0 .456(stores the UID \(U= number\) and)2.955 F -(an md5sum of the foldername \(FMD5= number\) to f)144 441.6 Q -(acilitate this.)-.1 E F1(What is the speed of Of\215ineIMAP')108 458.4 -Q 2.5(ss)-.37 G(ync?)-2.5 E(Of\215ineIMAP)144 470.4 Q F0 -.15(ve)2.891 G -.391(rsions 2.0 and abo).15 F .691 -.15(ve c)-.15 H .391 -(ontain a multithreaded system.).15 F 2.891(Ag)5.391 G .39(ood w)-2.891 -F .39(ay to e)-.1 F(xperiment)-.15 E(is by setting maxsyncaccounts to 3\ - and maxconnections to 3 in each account clause.)144 482.4 Q .381 -(This lets Of)144 499.2 R .381 -(\215ineIMAP open up multiple connections simultaneously)-.25 F 5.382 -(.T)-.65 G .382(hat will let it process mul-)-5.382 F -(tiple folders and messages at once.)144 511.2 Q -(In most cases, this will increase performance of the sync.)5 E(Don')144 -528 Q 3.104(ts)-.18 G .604(et the number too high.)-3.104 F .603 -(If you do that, things might actually slo)5.604 F 3.103(wd)-.25 G -.25 -(ow)-3.103 G 3.103(na).25 G 3.103(sy)-3.103 G .603(our link gets)-3.103 -F 2.632(saturated. Also,)144 540 R .132(too man)2.632 F 2.632(yc)-.15 G -.132(onnections can cause mail serv)-2.632 F .132(ers to ha)-.15 F .433 --.15(ve ex)-.2 H(cessi).15 E .433 -.15(ve l)-.25 H 2.633 -(oad. Administra-).15 F .507(tors might tak)144 552 R 3.007(eu)-.1 G -.507(nkindly to this, and the serv)-3.007 F .506(er might bog do)-.15 F -3.006(wn. There)-.25 F .506(are man)3.006 F 3.006(yv)-.15 G .506 -(ariables in the)-3.256 F(optimal setting; e)144 564 Q -(xperimentation may help.)-.15 E -(An informal benchmark yields these results for my setup:)144 580.8 Q -(10 minutes with MacOS X Mail.app "manual cache")144 597.6 Q 2.5(5m)144 -609.6 S(inutes with GNUS agent sync)-2.5 E(20 seconds with Of)144 621.6 -Q(\215ineIMAP 1.x)-.25 E 2.5(9s)144 633.6 S(econds with Of)-2.5 E -(\215ineIMAP 2.x)-.25 E 2.5(3s)144 645.6 S(econds with Of)-2.5 E -(\215ineIMAP 3.x "cold start")-.25 E 2.5(2s)144 657.6 S(econds with Of) --2.5 E(\215ineIMAP 3.x "held connection")-.25 E/F2 10.95/Times-Bold@0 SF -(CONFORMING T)72 674.4 Q(O)-.197 E F0 32.5<8349>108 686.4 S -(nternet Message Access Protocol v)-32.5 E(ersion 4re)-.15 E -(v1 \(IMAP 4re)-.25 E(v1\) as speci\214ed in RFC2060)-.25 E 32.5<834d> -108 703.2 S 8.92(aildir as speci\214ed in http://www)-32.5 F(.qmail.or) --.65 E(g/qmail-manual-html/man5/maildir)-.18 E 8.92(.html and)-.55 F -(http://cr)144 715.2 Q(.yp.to/proto/maildir)-.55 E(.html.)-.55 E -(John Goerzen)72 768 Q(July 12, 2002)151.655 E(5)201.915 E EP +SF -.25(fo)108 84 S(lder).25 E(-hook P)-.37 E(ersonal set fr)-.2 E +(om="y)-.18 E(our)-.25 E(email@personal.com")-.18 E -.25(fo)108 96 S +(lder).25 E(-hook W)-.37 E(ork set fr)-.75 E(om="y)-.18 E(our)-.25 E +(email@w)-.18 E(ork.com")-.1 E(set mbox_type=Maildir)108 108 Q(set f)108 +120 Q(older=$HOME/Mail)-.25 E(set spool\214le=+P)108 132 Q(ersonal/INBO) +-.2 E(X)-.4 E F0(That')108 148.8 Q 2.5(si)-.55 G(t!)-2.5 E F1(UW)87 +165.6 Q(-IMAPD AND REFERENCES)-.37 E F0 .494(Some users with a UW)108 +177.6 R .493(-IMAPD serv)-.65 F .493(er need to use)-.15 F F1 +(Of\215ineIMAP')2.993 E(s)-.37 E F0 .493 +("reference" feature to get at their mail-)2.993 F(box)108 189.6 Q .46(\ +es, specifying a reference of "~/Mail" or "#mh/" depending on the con\ +\214guration.)-.15 F .46(The belo)5.46 F 2.96(wc)-.25 G(on\214gura-) +-2.96 E .465(tion from docwhat@gerf.or)108 201.6 R 2.965(gs)-.18 G(ho) +-2.965 E .465(ws using a reference of Mail, a nametrans that strips the\ + leading Mail/ of)-.25 F(f)-.25 E(incoming folder names, and a folder\ +\214lter that limits the folders synced to just three.)108 213.6 Q F1 +([Gerf])108 230.4 Q(localf)108 242.4 Q(olders = ~/Mail)-.25 E -.18(re) +108 254.4 S(motehost = gerf).18 E(.or)-.15 E(g)-.1 E(ssl = y)108 266.4 Q +(es)-.1 E -.18(re)108 278.4 S(moteuser = docwhat).18 E -.18(re)108 290.4 +S(fer).18 E(ence = Mail)-.18 E 2.5(#T)108 302.4 S(rims off the pr)-3.24 +E(eceeding Mail on all the f)-.18 E(older names.)-.25 E +(nametrans = lambda f)108 314.4 Q(older)-.25 E(name: \\)-.15 E -.18(re) +138 326.4 S(.sub\('^Mail/', ').18 E(', f)-.63 E(older)-.25 E(name\))-.15 +E 2.5(#Y)108 338.4 S(eah, y)-3.61 E(ou ha)-.25 E .2 -.1(ve t)-.25 H 2.5 +(om).1 G(ention the Mail dir)-2.5 E 2.5(,e)-.92 G -.1(ve)-2.65 G 2.5(nt) +.1 G(hough it)-2.5 E 2.5(#w)108 350.4 S(ould seem intuiti)-2.6 E .2 -.1 +(ve t)-.1 H(hat r).1 E(efer)-.18 E(ence w)-.18 E(ould trim it.)-.1 E +-.25(fo)108 362.4 S(lder\214lter = lambda f).25 E(older)-.25 E(name: f) +-.15 E(older)-.25 E(name in [)-.15 E('Mail/INBO)125.5 374.4 Q(X',)-.4 E +('Mail/list/zaurus-general',)125.5 386.4 Q('Mail/list/zaurus-de)125.5 +398.4 Q(v',)-.15 E(])125.5 410.4 Q(maxconnections = 1)108 422.4 Q +(holdconnectionopen = no)108 434.4 Q/F2 10.95/Times-Bold@0 SF(ERR)72 +451.2 Q(ORS)-.329 E F0(If you get one of some frequently-encountered or\ + confusing errors, please check this section.)108 463.2 Q F1(UID v)87 +480 Q(alidity pr)-.1 E(oblem f)-.18 E(or f)-.25 E(older)-.25 E F0 1.637 +(IMAP serv)108 492 R 1.637 +(ers use a unique ID \(UID\) to refer to a speci\214c message.)-.15 F +1.638(This number is guaranteed to be)6.637 F 1.11 +(unique to a particular message FOREVER.)108 504 R 1.109 +(No other message in the same folder will e)6.11 F -.15(ve)-.25 G 3.609 +(rg).15 G 1.109(et the same)-3.609 F 2.873(UID. UIDs)108 516 R .373 +(are an inte)2.873 F .373(gral part of Of)-.15 F(\215ineIMAP')-.25 E +2.873(ss)-.55 G .373(ynchronization scheme; the)-2.873 F 2.873(ya)-.15 G +.373(re used to match up mes-)-2.873 F +(sages on your computer to messages on the serv)108 528 Q(er)-.15 E(.) +-.55 E .108(Sometimes, the UIDs on the serv)108 544.8 R .108 +(er might get reset.)-.15 F .108 +(Usually this will happen if you delete and then recreate)5.108 F 3.742 +(af)108 556.8 S(older)-3.742 E 6.242(.W)-.55 G 1.242 +(hen you create a folder)-6.242 F 3.742(,t)-.4 G 1.242(he serv)-3.742 F +1.242(er will often start the UID back from 1.)-.15 F(But)6.243 E F1 +(Of\215ineIMAP)3.743 E F0 .303(might still ha)108 568.8 R .603 -.15 +(ve t)-.2 H .303(he UIDs from the pre).15 F .302 +(vious folder by the same name stored.)-.25 F F1(Of\215ineIMAP)5.302 E +F0 .302(will detect this)2.802 F(condition and skip the folder)108 580.8 +Q 5(.T)-.55 G(his is GOOD, because it pre)-5 E -.15(ve)-.25 G +(nts data loss.).15 E -1.1(Yo)108 597.6 S 2.826(uc)1.1 G .326 +(an \214x it by remo)-2.826 F .327 +(ving your local folder and cache data.)-.15 F -.15(Fo)5.327 G 2.827(ri) +.15 G .327(nstance, if your folders are under)-2.827 F/F3 10 +/Times-Italic@0 SF(~/F)2.827 E(old-)-1.05 E(er)108 609.6 Q(s)-.1 E F0 +(and the folder with the problem is INBO)2.5 E(X, you')-.4 E 2.5(dt)-.5 +G(ype this:)-2.5 E F1(rm -r ~/F)108 626.4 Q(olders/INBO)-.25 E(X)-.4 E +(rm ~/.of\215ineimap/AccountName/INBO)108 638.4 Q(X)-.4 E F0 +(\(replacing AccountName with the account name as speci\214ed in)108 +655.2 Q F3(~/.of)2.5 E(\215ineimapr)-.18 E(c\))-.37 E F0(Ne)108 672 Q +.802(xt time you run)-.15 F F1(Of\215ineIMAP)3.302 E(,)-.92 E F0 .802 +(it will re-do)3.302 F .802(wnload the folder with the ne)-.25 F 3.302 +(wU)-.25 G 3.301(IDs. Note)-3.302 F .801(that the proce-)3.301 F +(dure speci\214ed abo)108 684 Q .3 -.15(ve w)-.15 H(ill lose an).15 E +2.5(yl)-.15 G(ocal changes made to the folder)-2.5 E(.)-.55 E .522 +(Some IMAP serv)108 700.8 R .522(ers are brok)-.15 F .522 +(en and do not support UIDs properly)-.1 F 5.522(.I)-.65 G 3.022(fy) +-5.522 G .522(ou continue to get this error for all)-3.022 F .067 +(your folders e)108 712.8 R -.15(ve)-.25 G 2.566(na).15 G .066 +(fter performing the abo)-2.566 F .366 -.15(ve p)-.15 H .066 +(rocedure, it is lik).15 F .066(ely that your IMAP serv)-.1 F .066(er f) +-.15 F .066(alls into this cat-)-.1 F -.15(eg)108 724.8 S(ory).15 E(.) +-.65 E F1(Of\215ineIMAP)5.983 E F0 .984(is incompatible with such serv) +3.483 F 3.484(ers. Using)-.15 F F1(Of\215ineIMAP)3.484 E F0 .984 +(with them will not destro)3.484 F(y)-.1 E(John Goerzen)72 768 Q +(July 12, 2002)151.655 E(5)201.915 E EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R -(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E 32.5<8353>108 84 S -(tandard Python 2.2.1 as implemented on POSIX-compliant systems.)-32.5 E -/F1 10.95/Times-Bold@0 SF(NO)72 100.8 Q(TES)-.438 E/F2 10/Times-Bold@0 -SF(DELETING LOCAL FOLDERS)87 112.8 Q(Of\215ineIMAP)108 124.8 Q F0 .533 -(does a tw)3.033 F(o-w)-.1 E .533(ay synchronization.)-.1 F .532 -(That is, if you mak)5.532 F 3.032(eac)-.1 G .532 -(hange to the mail on the serv)-3.032 F(er)-.15 E 3.032(,i)-.4 G(t) --3.032 E .896(will be propog)108 136.8 R .896(ated to your local cop) --.05 F 2.197 -.65(y, a)-.1 H .897(nd vise-v).65 F 3.397(ersa. Some)-.15 -F .897(people might think that it w)3.397 F .897(ould be wise to)-.1 F -1.59(just delete all their local mail folders periodically)108 148.8 R -6.59(.I)-.65 G 4.09(fy)-6.59 G 1.59(ou do this with Of)-4.09 F -(\215ineIMAP)-.25 E 4.09(,r)-1.11 G 1.59(emember to also)-4.09 F(remo) -108 160.8 Q 1.67 -.15(ve y)-.15 H 1.37(our local status cache \(~/.of) -.15 F 1.37(\215ineimap by def)-.25 F 3.87(ault\). Otherwise,)-.1 F(Of) -3.87 E 1.37(\215ineIMAP will tak)-.25 F 3.87(et)-.1 G 1.37(his as an) --3.87 F .416(intentional deletion of man)108 172.8 R 2.916(ym)-.15 G -.416(essages and will interpret your action as requesting them to be de\ -leted from)-2.916 F(the serv)108 184.8 Q(er as well.)-.15 E -(\(If you don')5 E 2.5(tu)-.18 G(nderstand this, don')-2.5 E 2.5(tw)-.18 -G(orry; you probably w)-2.6 E(on')-.1 E 2.5(te)-.18 G -(ncounter this situation\))-2.5 E F2(COPYING MESSA)87 201.6 Q -(GES BETWEEN FOLDERS)-.55 E F0(Normally)108 213.6 Q 5.858(,w)-.65 G -3.358(hen you cop)-5.858 F -8.357 5.858(ya m)-.1 H 3.359 -(essage between folders or add a ne)-5.858 F 5.859(wm)-.25 G 3.359 -(essage to a folder locally)-5.859 F(,)-.65 E F2(Of\215ineIMAP)108 225.6 -Q F0 .853(will just do the right thing.)3.353 F(Ho)5.853 E(we)-.25 E --.15(ve)-.25 G 1.653 -.4(r, s).15 H .853(ometimes this can be trick).4 F -3.353(y-)-.15 G 3.353(-i)-3.353 G 3.353(fy)-3.353 G .853(our IMAP serv) --3.353 F(er)-.15 E .29(does not pro)108 237.6 R .29 -(vide the SEARCH command, or does not return something useful,)-.15 F F2 -(Of\215ineIMAP)2.79 E F0 .29(cannot deter)2.79 F(-)-.2 E .174 -(mine the ne)108 249.6 R 2.674(wU)-.25 G .174(ID of the message.)-2.674 -F .173(So, in these rare instances, Of)5.173 F .173 -(\215ineIMAP will upload the message to the)-.25 F .64(IMAP serv)108 -261.6 R .64(er and delete it from your local folder)-.15 F 5.64(.T)-.55 -G .64(hen, on your ne)-5.64 F .64(xt sync, the message will be re-do) --.15 F(wn-)-.25 E 1.473(loaded with the proper UID.)108 273.6 R F2 -(Of\215ineIMAP)6.473 E F0(mak)3.973 E 1.473(es sure that the message w) --.1 F 1.472(as properly uploaded before)-.1 F -(deleting it, so there should be no risk of data loss.)108 285.6 Q F2 -(MAILING LIST)87 302.4 Q F0(There is an Of)108 314.4 Q -(\215ineIMAP mailing list a)-.25 E -.25(va)-.2 G(ilable.).25 E 2.447 -.8 -(To s)108 331.2 T .847(ubscribe, send the te).8 F .847 -(xt "Subscribe" in the subject of a mail to of)-.15 F -(\215ineimap-request@complete.or)-.25 E 3.348(g. T)-.18 F(o)-.8 E -(post, send the message to of)108 343.2 Q(\215ineimap@complete.or)-.25 E -(g.)-.18 E F1 -.11(BU)72 360 S(GS).11 E F0 4.42(Reports of b)108 372 R -4.419(ugs should be sent via e-mail to the)-.2 F F2(Of\215ineIMAP)6.919 -E F0 -.2(bu)6.919 G 4.419(g-tracking system \(BTS\) at).2 F(of)108 384 Q -(\215ineimap@b)-.25 E(ugs.complete.or)-.2 E 3.396(go)-.18 G 3.396(rs) --3.396 G .897(ubmitted on-line using the W)-3.396 F .897(eb interf)-.8 F -.897(ace at http://b)-.1 F(ugs.complete.or)-.2 E(g/.)-.18 E(The W)108 -396 Q(eb site also lists all current b)-.8 E -(ugs, where you can check their status or contrib)-.2 E -(ute to \214xing them.)-.2 E F1(COPYRIGHT)72 412.8 Q F0(Of)108 424.8 Q -(\215ineIMAP is Cop)-.25 E(yright \(C\) 2002 John Goerzen.)-.1 E .287 -(This program is free softw)108 441.6 R .287(are; you can redistrib)-.1 -F .286(ute it and/or modify it under the terms of the GNU General)-.2 F -.766(Public License as published by the Free Softw)108 453.6 R .766 -(are F)-.1 F .766(oundation; either v)-.15 F .766 -(ersion 2 of the License, or \(at your)-.15 F(option\) an)108 465.6 Q -2.5(yl)-.15 G(ater v)-2.5 E(ersion.)-.15 E .58(This program is distrib) -108 482.4 R .579(uted in the hope that it will be useful, b)-.2 F .579 -(ut WITHOUT ANY W)-.2 F(ARRANTY)-1.2 E 3.079(;w)-.92 G(ithout)-3.079 E --2.15 -.25(ev e)108 494.4 T 2.729(nt).25 G .229(he implied w)-2.729 F -.229(arranty of MERCHANT)-.1 F .229(ABILITY or FITNESS FOR A P)-.93 F -(AR)-.92 E .23(TICULAR PURPOSE.)-.6 F(See)5.23 E -(the GNU General Public License for more details.)108 506.4 Q -1.1(Yo) -108 523.2 S 2.77(us)1.1 G .27(hould ha)-2.77 F .57 -.15(ve r)-.2 H(ecei) -.15 E -.15(ve)-.25 G 2.77(dac).15 G(op)-2.77 E 2.77(yo)-.1 G 2.77(ft) --2.77 G .27 -(he GNU General Public License along with this program; if not, write) --2.77 F(to:)108 535.2 Q(Free Softw)108 552 Q(are F)-.1 E -(oundation, Inc.)-.15 E(59 T)108 564 Q(emple Place)-.7 E(Suite 330)108 -576 Q(Boston, MA)108 588 Q(02111-1307)5 E(USA)108 600 Q F1 -.548(AU)72 -616.8 S(THOR).548 E F2(Of\215ineIMAP)108 628.8 Q(,)-.92 E F0 .488 -(its libraries, documentation, and all included \214les, e)2.987 F .488 -(xcept where noted, w)-.15 F .488(as written by John)-.1 F -(Goerzen and cop)-.18 E -(yright is held as stated in the COPYRIGHT section.)-.1 E(Of)108 657.6 Q -(\215ineIMAP may be do)-.25 E(wnloaded, and information found, from its\ - homepage via either Gopher or HTTP:)-.25 E(gopher://quux.or)108 674.4 Q -(g/1/de)-.18 E -.15(ve)-.25 G(l/of).15 E(\215ineimap)-.25 E -(http://quux.or)108 686.4 Q(g/de)-.18 E -.15(ve)-.25 G(l/of).15 E -(\215ineimap)-.25 E(Of)108 703.2 Q 2.529(\215ineIMAP may also be do)-.25 -F 2.528(wnloaded using Sub)-.25 F -.15(ve)-.15 G 5.028 -(rsion. Additionally).15 F 5.028(,t)-.65 G 2.528(he distrib)-5.028 F -2.528(uted tar)-.2 F 2.528(.gz may be)-.55 F .717 -(updated with a simple "svn update" command; it is ready to go.)108 -715.2 R -.15(Fo)5.718 G 3.218(ri).15 G .718(nformation on getting Of) --3.218 F(\215ineIMAP)-.25 E(with Sub)108 727.2 Q -.15(ve)-.15 G -(rsion, please visit:).15 E(John Goerzen)72 768 Q(July 12, 2002)151.655 -E(6)201.915 E EP +(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E(an)108 84 Q 2.77 +(ym)-.15 G .27(ail, b)-2.77 F .27 +(ut at the same time, it will not actually synchronize it either)-.2 F +5.269(.\()-.55 G(Of)-5.269 E .269(\215ineIMAP will detect this con-)-.25 +F(dition and abort prior to synchronization\))108 96 Q/F1 10.95 +/Times-Bold@0 SF -.438(OT)72 124.8 S(HER FREQ).438 E(UENTL)-.11 E 2.738 +(YA)-1.007 G(SKED Q)-2.738 E(UESTIONS)-.11 E F0 .683 +(There are some other F)108 136.8 R -.55(AQ)-.74 G 3.184(st).55 G .684 +(hat might not \214t into another section of this document, and the) +-3.184 F 3.184(ya)-.15 G .684(re enumer)-3.184 F(-)-.2 E(ated here.)108 +148.8 Q/F2 10/Times-Bold@0 SF(What platf)108 165.6 Q +(orms does Of\215ineIMAP run on?)-.25 E F0(It should run on most platfo\ +rms supported by Python, which are quite a fe)144 177.6 Q -.65(w.)-.25 G +F2 .689(I'm using Mutt. Other IMAP sync pr)108 194.4 R .689(ograms r) +-.18 F(equir)-.18 E 3.189(em)-.18 G 3.189(et)-3.189 G 3.189(ou)-3.189 G +.689(se set maildir_trash=y)-3.189 F .688(es . Do I need to)-.1 F +(do that with Of\215ineIMAP?)108 206.4 Q F0(No.)144 218.4 Q F2 +(Of\215ineIMAP)7.27 E F0 2.27 +(is smart enough to \214gure out message deletion without this e)4.77 F +2.27(xtra crutch.)-.15 F -1.1(Yo)144 230.4 S(u')1.1 E +(ll get the best results if you don')-.1 E 2.5(tu)-.18 G +(se this setting, in f)-2.5 E(act.)-.1 E F2(Ho)108 247.2 Q 2.5(wd)-.1 G +2.5(oIs)-2.5 G(pecify the names of my f)-2.5 E(olders?)-.25 E F0 -1.1 +(Yo)144 259.2 S 3.55(ud)1.1 G 3.55(on)-3.55 G 1.05(ot need to.)-3.55 F +F2(Of\215ineIMAP)6.05 E F0 1.05 +(is smart enough to automatically \214gure out what folders are)3.55 F +.679(present on the IMAP serv)144 271.2 R .679(er and synchronize them.) +-.15 F -1.1(Yo)5.679 G 3.178(uc)1.1 G .678(an use the)-3.178 F F2 -.25 +(fo)3.178 G(lder\214lter).25 E F0(and)3.178 E F2 -.25(fo)3.178 G +(ldertrans).25 E F0(con\214guration \214le options to request certain f\ +olders and rename them as the)144 283.2 Q 2.5(yc)-.15 G +(ome in if you lik)-2.5 E(e.)-.1 E F2(Ho)108 300 Q 2.5(wc)-.1 G(an I pr) +-2.5 E -2.3 -.15(ev e)-.18 H(nt certain f).15 E(olders fr)-.25 E +(om being synced?)-.18 E F0(Use the)144 312 Q F2 -.25(fo)2.5 G +(lder\214lter).25 E F0(option in the con\214guration \214le.)2.5 E F2 +(Ho)108 328.8 Q 2.5(wc)-.1 G(an I add or delete a f)-2.5 E(older?)-.25 E +(Of\215ineIMAP)144 340.8 Q F0 .503(does not currently pro)3.003 F .504 +(vide this feature, b)-.15 F .504(ut if you create a ne)-.2 F 3.004(wf) +-.25 G .504(older on the IMAP)-3.004 F(serv)144 352.8 Q(er)-.15 E 2.5 +(,i)-.4 G 2.5(tw)-2.5 G(ill be created locally automatically)-2.5 E(.) +-.65 E F2(Ar)108 369.6 Q 2.5(et)-.18 G(her)-2.5 E 2.5(ea)-.18 G +(ny other war)-2.5 E(nings that I should be awar)-.15 E 2.5(eo)-.18 G +(f?)-2.5 E F0 -1(Ye)144 381.6 S(s; see the NO)1 E(TES section belo)-.4 E +-.65(w.)-.25 G F2(What is the mailbox name r)108 398.4 Q +(ecorder \(mbnames\) f)-.18 E(or?)-.25 E F0 1.019(The Mutt mail reader \ +is not capable of automatically determining the names of your mailbox) +144 410.4 R(es.)-.15 E(Of)144 422.4 Q .265 +(\215ineIMAP can help it \(or man)-.25 F 2.765(yo)-.15 G .265 +(ther\) programs out be writing these names out in a format you)-2.765 F +(specify)144 434.4 Q 5(.S)-.65 G(ee the e)-5 E(xample of)-.15 E +(\215ineimap.conf \214le for details.)-.25 E F2(Can I synchr)108 451.2 Q +(onize multiple accounts with Of\215ineIMAP?)-.18 E F0 3.345(Sure. Just) +144 463.2 R .845(name them all in the accounts line in the general sect\ +ion of the con\214g \214le, and add a)3.345 F(per)144 475.2 Q +(-account section for each one.)-.2 E F2 +(Does Of\215ineIMAP support POP?)108 492 Q F0 4.076(No. POP)144 504 R +1.576(is not rob)4.076 F 1.576(ust enough to do a completely reliable m\ +ulti-machine synchronization lik)-.2 F(e)-.1 E(Of)144 516 Q +(\215ineIMAP can do.)-.25 E(Of)5 E(\215ineIMAP will not support it.)-.25 +E F2(Do y)108 532.8 Q(ou support mailbox f)-.25 E +(ormats other than Maildir?)-.25 E F0 .41(Not at present.)144 544.8 R +.41(There is no technical reason not to; just no demand yet.)5.41 F .409 +(Maildir is a superior for)5.409 F(-)-.2 E(mat an)144 556.8 Q(yw)-.15 E +(ay)-.1 E(.)-.65 E F2([technical] Wh)108 573.6 Q 2.5(ya)-.15 G .36 -.18 +(re y)-2.5 H(our Maildir message \214lenames so huge?)-.07 E +(Of\215ineIMAP)144 585.6 Q F0 .958(has tw)3.458 F 3.458(or)-.1 G(ele) +-3.458 E -.25(va)-.25 G .958(nt principles: 1\) ne).25 F -.15(ve)-.25 G +3.459(rm).15 G .959(odifying your messages in an)-3.459 F 3.459(yw)-.15 +G .959(ay and 2\))-3.559 F .493 +(ensuring 100% reliable synchronizations.)144 597.6 R .493 +(In order to do a reliable sync,)5.493 F F2(Of\215ineIMAP)2.993 E F0 +.493(must ha)2.993 F -.15(ve)-.2 G 3.094(aw)144 609.6 S .594 +(ay to uniquely identify each e-mail.)-3.194 F .595 +(Three pieces of information are required to do this: your)5.594 F .538 +(account name, the folder name, and the message UID.)144 621.6 R .537 +(The account name can be calculated from)5.537 F 1.081 +(the path in which your messages are.)144 633.6 R 1.082 +(The folder name can usually be as well, B)6.082 F 1.082(UT some mail) +-.1 F(clients mo)144 645.6 Q .3 -.15(ve m)-.15 H +(essages between folders by simply mo).15 E(ving the \214le, lea)-.15 E +(ving the name intact.)-.2 E(So,)144 662.4 Q F2(Of\215ineIMAP)3.2 E F0 +.7(must store both a UID folder ID.)3.2 F .7 +(The folder ID is necessary so)5.7 F F2(Of\215ineIMAP)3.2 E F0 .455 +(can detect a message mo)144 674.4 R -.15(ve)-.15 G 2.955(dt).15 G 2.955 +(oad)-2.955 G(if)-2.955 E .455(ferent folder)-.25 F(.)-.55 E F2 +(Of\215ineIMAP)5.455 E F0 .456(stores the UID \(U= number\) and)2.955 F +(an md5sum of the foldername \(FMD5= number\) to f)144 686.4 Q +(acilitate this.)-.1 E F2(What is the speed of Of\215ineIMAP')108 703.2 +Q 2.5(ss)-.37 G(ync?)-2.5 E(Of\215ineIMAP)144 715.2 Q F0 -.15(ve)2.891 G +.391(rsions 2.0 and abo).15 F .691 -.15(ve c)-.15 H .391 +(ontain a multithreaded system.).15 F 2.891(Ag)5.391 G .39(ood w)-2.891 +F .39(ay to e)-.1 F(xperiment)-.15 E(is by setting maxsyncaccounts to 3\ + and maxconnections to 3 in each account clause.)144 727.2 Q +(John Goerzen)72 768 Q(July 12, 2002)151.655 E(6)201.915 E EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R +(\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E .381(This lets Of) +144 84 R .381(\215ineIMAP open up multiple connections simultaneously) +-.25 F 5.382(.T)-.65 G .382(hat will let it process mul-)-5.382 F +(tiple folders and messages at once.)144 96 Q +(In most cases, this will increase performance of the sync.)5 E(Don')144 +112.8 Q 3.104(ts)-.18 G .604(et the number too high.)-3.104 F .603 +(If you do that, things might actually slo)5.604 F 3.103(wd)-.25 G -.25 +(ow)-3.103 G 3.103(na).25 G 3.103(sy)-3.103 G .603(our link gets)-3.103 +F 2.632(saturated. Also,)144 124.8 R .132(too man)2.632 F 2.632(yc)-.15 +G .132(onnections can cause mail serv)-2.632 F .132(ers to ha)-.15 F +.433 -.15(ve ex)-.2 H(cessi).15 E .433 -.15(ve l)-.25 H 2.633 +(oad. Administra-).15 F .507(tors might tak)144 136.8 R 3.007(eu)-.1 G +.507(nkindly to this, and the serv)-3.007 F .506(er might bog do)-.15 F +3.006(wn. There)-.25 F .506(are man)3.006 F 3.006(yv)-.15 G .506 +(ariables in the)-3.256 F(optimal setting; e)144 148.8 Q +(xperimentation may help.)-.15 E +(An informal benchmark yields these results for my setup:)144 165.6 Q +(10 minutes with MacOS X Mail.app "manual cache")144 182.4 Q 2.5(5m)144 +194.4 S(inutes with GNUS agent sync)-2.5 E(20 seconds with Of)144 206.4 +Q(\215ineIMAP 1.x)-.25 E 2.5(9s)144 218.4 S(econds with Of)-2.5 E +(\215ineIMAP 2.x)-.25 E 2.5(3s)144 230.4 S(econds with Of)-2.5 E +(\215ineIMAP 3.x "cold start")-.25 E 2.5(2s)144 242.4 S(econds with Of) +-2.5 E(\215ineIMAP 3.x "held connection")-.25 E/F1 10.95/Times-Bold@0 SF +(CONFORMING T)72 259.2 Q(O)-.197 E F0 32.5<8349>108 271.2 S +(nternet Message Access Protocol v)-32.5 E(ersion 4re)-.15 E +(v1 \(IMAP 4re)-.25 E(v1\) as speci\214ed in RFC2060)-.25 E 32.5<834d> +108 288 S 8.92(aildir as speci\214ed in http://www)-32.5 F(.qmail.or) +-.65 E(g/qmail-manual-html/man5/maildir)-.18 E 8.92(.html and)-.55 F +(http://cr)144 300 Q(.yp.to/proto/maildir)-.55 E(.html.)-.55 E 32.5 +<8353>108 316.8 S +(tandard Python 2.2.1 as implemented on POSIX-compliant systems.)-32.5 E +F1(NO)72 333.6 Q(TES)-.438 E/F2 10/Times-Bold@0 SF +(DELETING LOCAL FOLDERS)87 345.6 Q(Of\215ineIMAP)108 357.6 Q F0 .533 +(does a tw)3.033 F(o-w)-.1 E .533(ay synchronization.)-.1 F .532 +(That is, if you mak)5.532 F 3.032(eac)-.1 G .532 +(hange to the mail on the serv)-3.032 F(er)-.15 E 3.032(,i)-.4 G(t) +-3.032 E .896(will be propog)108 369.6 R .896(ated to your local cop) +-.05 F 2.197 -.65(y, a)-.1 H .897(nd vise-v).65 F 3.397(ersa. Some)-.15 +F .897(people might think that it w)3.397 F .897(ould be wise to)-.1 F +1.59(just delete all their local mail folders periodically)108 381.6 R +6.59(.I)-.65 G 4.09(fy)-6.59 G 1.59(ou do this with Of)-4.09 F +(\215ineIMAP)-.25 E 4.09(,r)-1.11 G 1.59(emember to also)-4.09 F(remo) +108 393.6 Q 1.67 -.15(ve y)-.15 H 1.37(our local status cache \(~/.of) +.15 F 1.37(\215ineimap by def)-.25 F 3.87(ault\). Otherwise,)-.1 F(Of) +3.87 E 1.37(\215ineIMAP will tak)-.25 F 3.87(et)-.1 G 1.37(his as an) +-3.87 F .416(intentional deletion of man)108 405.6 R 2.916(ym)-.15 G +.416(essages and will interpret your action as requesting them to be de\ +leted from)-2.916 F(the serv)108 417.6 Q(er as well.)-.15 E +(\(If you don')5 E 2.5(tu)-.18 G(nderstand this, don')-2.5 E 2.5(tw)-.18 +G(orry; you probably w)-2.6 E(on')-.1 E 2.5(te)-.18 G +(ncounter this situation\))-2.5 E F2(COPYING MESSA)87 434.4 Q +(GES BETWEEN FOLDERS)-.55 E F0(Normally)108 446.4 Q 5.858(,w)-.65 G +3.358(hen you cop)-5.858 F -8.357 5.858(ya m)-.1 H 3.359 +(essage between folders or add a ne)-5.858 F 5.859(wm)-.25 G 3.359 +(essage to a folder locally)-5.859 F(,)-.65 E F2(Of\215ineIMAP)108 458.4 +Q F0 .853(will just do the right thing.)3.353 F(Ho)5.853 E(we)-.25 E +-.15(ve)-.25 G 1.653 -.4(r, s).15 H .853(ometimes this can be trick).4 F +3.353(y-)-.15 G 3.353(-i)-3.353 G 3.353(fy)-3.353 G .853(our IMAP serv) +-3.353 F(er)-.15 E .29(does not pro)108 470.4 R .29 +(vide the SEARCH command, or does not return something useful,)-.15 F F2 +(Of\215ineIMAP)2.79 E F0 .29(cannot deter)2.79 F(-)-.2 E .174 +(mine the ne)108 482.4 R 2.674(wU)-.25 G .174(ID of the message.)-2.674 +F .173(So, in these rare instances, Of)5.173 F .173 +(\215ineIMAP will upload the message to the)-.25 F .64(IMAP serv)108 +494.4 R .64(er and delete it from your local folder)-.15 F 5.64(.T)-.55 +G .64(hen, on your ne)-5.64 F .64(xt sync, the message will be re-do) +-.15 F(wn-)-.25 E 1.473(loaded with the proper UID.)108 506.4 R F2 +(Of\215ineIMAP)6.473 E F0(mak)3.973 E 1.473(es sure that the message w) +-.1 F 1.472(as properly uploaded before)-.1 F +(deleting it, so there should be no risk of data loss.)108 518.4 Q F2 +(MAILING LIST)87 535.2 Q F0(There is an Of)108 547.2 Q +(\215ineIMAP mailing list a)-.25 E -.25(va)-.2 G(ilable.).25 E 2.447 -.8 +(To s)108 564 T .847(ubscribe, send the te).8 F .847 +(xt "Subscribe" in the subject of a mail to of)-.15 F +(\215ineimap-request@complete.or)-.25 E 3.348(g. T)-.18 F(o)-.8 E +(post, send the message to of)108 576 Q(\215ineimap@complete.or)-.25 E +(g.)-.18 E F1 -.11(BU)72 592.8 S(GS).11 E F0 4.42(Reports of b)108 604.8 +R 4.419(ugs should be sent via e-mail to the)-.2 F F2(Of\215ineIMAP) +6.919 E F0 -.2(bu)6.919 G 4.419(g-tracking system \(BTS\) at).2 F(of)108 +616.8 Q(\215ineimap@b)-.25 E(ugs.complete.or)-.2 E 3.396(go)-.18 G 3.396 +(rs)-3.396 G .897(ubmitted on-line using the W)-3.396 F .897(eb interf) +-.8 F .897(ace at http://b)-.1 F(ugs.complete.or)-.2 E(g/.)-.18 E(The W) +108 628.8 Q(eb site also lists all current b)-.8 E +(ugs, where you can check their status or contrib)-.2 E +(ute to \214xing them.)-.2 E F1(COPYRIGHT)72 645.6 Q F0(Of)108 657.6 Q +(\215ineIMAP is Cop)-.25 E(yright \(C\) 2002 John Goerzen.)-.1 E .287 +(This program is free softw)108 674.4 R .287(are; you can redistrib)-.1 +F .286(ute it and/or modify it under the terms of the GNU General)-.2 F +.766(Public License as published by the Free Softw)108 686.4 R .766 +(are F)-.1 F .766(oundation; either v)-.15 F .766 +(ersion 2 of the License, or \(at your)-.15 F(option\) an)108 698.4 Q +2.5(yl)-.15 G(ater v)-2.5 E(ersion.)-.15 E .58(This program is distrib) +108 715.2 R .579(uted in the hope that it will be useful, b)-.2 F .579 +(ut WITHOUT ANY W)-.2 F(ARRANTY)-1.2 E 3.079(;w)-.92 G(ithout)-3.079 E +-2.15 -.25(ev e)108 727.2 T 2.729(nt).25 G .229(he implied w)-2.729 F +.229(arranty of MERCHANT)-.1 F .229(ABILITY or FITNESS FOR A P)-.93 F +(AR)-.92 E .23(TICULAR PURPOSE.)-.6 F(See)5.23 E(John Goerzen)72 768 Q +(July 12, 2002)151.655 E(7)201.915 E EP +%%Page: 8 8 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF 111.22(OFFLINEIMAP\(1\) Of)72 48 R (\215ineIMAP manual)-.25 E(OFFLINEIMAP\(1\))113.72 E -(http://svn.complete.or)108 84 Q(g/)-.18 E/F1 10.95/Times-Bold@0 SF -(SEE ALSO)72 100.8 Q/F2 10/Times-Bold@0 SF(mutt)108 112.8 Q F0(\(1\),)A -F2(python)2.5 E F0(\(1\).)A(John Goerzen)72 768 Q(July 12, 2002)151.655 -E(7)201.915 E EP +(the GNU General Public License for more details.)108 84 Q -1.1(Yo)108 +100.8 S 2.77(us)1.1 G .27(hould ha)-2.77 F .57 -.15(ve r)-.2 H(ecei).15 +E -.15(ve)-.25 G 2.77(dac).15 G(op)-2.77 E 2.77(yo)-.1 G 2.77(ft)-2.77 G +.27 +(he GNU General Public License along with this program; if not, write) +-2.77 F(to:)108 112.8 Q(Free Softw)108 129.6 Q(are F)-.1 E +(oundation, Inc.)-.15 E(59 T)108 141.6 Q(emple Place)-.7 E(Suite 330)108 +153.6 Q(Boston, MA)108 165.6 Q(02111-1307)5 E(USA)108 177.6 Q/F1 10.95 +/Times-Bold@0 SF -.548(AU)72 194.4 S(THOR).548 E/F2 10/Times-Bold@0 SF +(Of\215ineIMAP)108 206.4 Q(,)-.92 E F0 .488 +(its libraries, documentation, and all included \214les, e)2.987 F .488 +(xcept where noted, w)-.15 F .488(as written by John)-.1 F +(Goerzen and cop)-.18 E +(yright is held as stated in the COPYRIGHT section.)-.1 E(Of)108 235.2 Q +(\215ineIMAP may be do)-.25 E(wnloaded, and information found, from its\ + homepage via either Gopher or HTTP:)-.25 E(gopher://quux.or)108 252 Q +(g/1/de)-.18 E -.15(ve)-.25 G(l/of).15 E(\215ineimap)-.25 E +(http://quux.or)108 264 Q(g/de)-.18 E -.15(ve)-.25 G(l/of).15 E +(\215ineimap)-.25 E(Of)108 280.8 Q 2.529(\215ineIMAP may also be do)-.25 +F 2.528(wnloaded using Sub)-.25 F -.15(ve)-.15 G 5.028 +(rsion. Additionally).15 F 5.028(,t)-.65 G 2.528(he distrib)-5.028 F +2.528(uted tar)-.2 F 2.528(.gz may be)-.55 F .717 +(updated with a simple "svn update" command; it is ready to go.)108 +292.8 R -.15(Fo)5.718 G 3.218(ri).15 G .718(nformation on getting Of) +-3.218 F(\215ineIMAP)-.25 E(with Sub)108 304.8 Q -.15(ve)-.15 G +(rsion, please visit:).15 E(http://svn.complete.or)108 321.6 Q(g/)-.18 E +F1(SEE ALSO)72 338.4 Q F2(mutt)108 350.4 Q F0(\(1\),)A F2(python)2.5 E +F0(\(1\).)A(John Goerzen)72 768 Q(July 12, 2002)151.655 E(8)201.915 E EP %%Trailer end %%EOF diff --git a/offlineimap/head/manual.txt b/offlineimap/head/manual.txt index 9d52fe6..e2cf7e0 100644 --- a/offlineimap/head/manual.txt +++ b/offlineimap/head/manual.txt @@ -200,13 +200,138 @@ OPTIONS configuration file. The UI specified with -u will be forced to be used, even if its isuable() method states that it cannot be. Use this option with - care. + care. The pre-defined options are listed in the + USER INTERFACES section. - The pre-defined options are Tk.TkUI (a graphical - interface), TTY.TTYUI (a text-mode interface), Non- - interactive.Basic (a non-interactive mode suitable - for cronning), and Noninteractive.Quiet (a mode - that generates no output except for errors). +USER INTERFACES + OfflineIMAP has a pluggable user interface system that + lets you choose how the program communicates information + to you. There are two graphical interfaces, one terminal + interface, and two noninteractive interfaces suitable for + scripting or logging purposes. The ui option in the con- + figuration file specifies the user interface preferences. + The -u command-line option can override the configuration + file. The available values for the configuration file or + command-line are describef in this section. + + Tk.Blinkenlights + This is an interface designed to be sleek, fun to watch, + and informative of the overall picture of what OfflineIMAP + is doing. I consider it to be the best general-purpose + interface in OfflineIMAP. Tk.Blinkenlights contains, by + default, a small window with a row of LEDs and a row of + command buttons. The total size of the window is very + small, so it uses little desktop space, yet it is quite + functional. There is also an optional, toggable, log that + shows more detail about what is happening and is color- + coded to match the color of the lights. + + Tk.Blinkenlights is the only user interface that has con- + figurable parameters; see the example offlineimap.conf for + more details. + + Each light in the Tk.Blinkenlights interface represents a + thread of execution -- that is, a particular task that + OfflineIMAP is performing right now. The color indicates + what task the particular thread is performing, and are as + follows: + + + Black indicates that this light's thread has terminated; + it will light up again later when new threads start + up. So, black indicates no activity. + + Red (Meaning 1) + is the color of the main program's thread, which + basically does nothing but monitor the others. It + might remind you of HAL 9000 in 2001. + + Purple is the color of an account synchronization thread + that is monitoring the progress of the folders in + that account (not generating any I/O). + + Cyan indicates that the thread is syncing a folder. + + Green means that a folder's message list is being loaded. + + Blue is the color of a message synchronization con- + troller thread. + + Orange indicates that an actual message is being copied. + + Red (Meaning 2) + indicates that a message is being deleted. + + Yellow (bright orange) indicates that message flags are + being added. + + Pink (bright red) indicates that message flags are being + removed. + + Red / Black Flashing + corresponds to the countdown timer that runs + between synchronizations. + + The name of this interface derives from a bit of computer + science history. Eric Raymond's Jargon File defines + blinkenlights, in part, as: + + Front-panel diagnostic lights on a computer, esp. a + dinosaur. Now that dinosaurs are rare, this term + usually refers to status lights on a modem, network + hub, or the like. + + This term derives from the last word of the famous + blackletter-Gothic sign in mangled pseudo-German + that once graced about half the computer rooms in + the English-speaking world. One version ran in its + entirety as follows: + + ACHTUNG! ALLES LOOKENSPEEPERS! + + Das computermachine ist nicht fuer gefingerpoken + und mittengrabben. Ist easy schnappen der sprin- + genwerk, blowenfusen und poppencorken mit + spitzensparken. Ist nicht fuer gewerken bei das + dumpkopfen. Das rubbernecken sichtseeren keepen + das cotten-pickenen hans in das pockets muss; + relaxen und watchen das blinkenlichten. + + Tk.VerboseUI + This interface (formerly known as Tk.TkUI) is a graphical + interface that presents a variable-sized window. In the + window, each currently-executing thread has a section + where its name and current status are displayed. This + interface is best suited to people running on slower con- + nections, as you get a lot of detail, but for fast connec- + tions, the detail may go by too quickly to be useful. + People with fast connections may wish to use Tk.Blinken- + lights instead. + + TTY.TTYUI + This interface is the default for people running in termi- + nals. It prints out basic status messages, has an inter- + ruptible timer like the graphical interfaces do, and is + generally friendly to use on a console or xterm. + + Noninteractive.Basic + This interface is designed for situations where + OfflineIMAP will be run non-attended and the status of its + execution will be logged. You might use it, for instance, + to have the system run automatically and e-mail you the + results of the synchronization. This user interface is + not capable of reading a password from the keyboard; + account passwords must be specified using one of the con- + figuration file options. + + Noninteractive.Quiet + This interface is designed for non-attended running in + situations where normal status messages are not desired. + It will output nothing except errors and serious warnings. + Like Noninteractive.Basic, this user interface is not + capable of reading a password from the keyboard; account + passwords must be specified using one of the configuration + file options. EXAMPLES Here is an example configuration for a particularly com- @@ -393,8 +518,8 @@ OTHER FREQUENTLY ASKED QUESTIONS The folder ID is necessary so OfflineIMAP can detect a message moved to a different folder. OfflineIMAP stores the UID (U= number) and an - md5sum of the foldername (FMD5= number) to - facilitate this. + md5sum of the foldername (FMD5= number) to facili- + tate this. What is the speed of OfflineIMAP's sync? OfflineIMAP versions 2.0 and above contain a multi- @@ -529,3 +654,4 @@ SEE ALSO +John Goerzen July 12, 2002 OFFLINEIMAP(1) diff --git a/offlineimap/head/offlineimap.1 b/offlineimap/head/offlineimap.1 index 094a369..cbefd80 100644 --- a/offlineimap/head/offlineimap.1 +++ b/offlineimap/head/offlineimap.1 @@ -273,16 +273,134 @@ with will be forced to be used, even if its .B isuable() method states that it cannot be. Use this option with care. -.IP -The pre-defined options are -.B Tk.TkUI -(a graphical interface), -.B TTY.TTYUI -(a text-mode interface), -.B Noninteractive.Basic -(a non-interactive mode suitable for cronning), and -.B Noninteractive.Quiet -(a mode that generates no output except for errors). +The pre-defined options are listed in the USER INTERFACES section. +.SH USER INTERFACES +.B OfflineIMAP +has a pluggable user interface system that lets you choose how the +program communicates information to you. There are two graphical +interfaces, one terminal interface, and two noninteractive interfaces +suitable for scripting or logging purposes. The +.I ui +option in the configuration file specifies the user interface +preferences. The +.I \-u +command-line option can override the configuration file. The +available values for the configuration file or command-line are +describef in this section. +.SS Tk.Blinkenlights +This is an interface designed to be sleek, fun to watch, and +informative of the overall picture of what +.B OfflineIMAP +is doing. I consider it to be the best general-purpose interface in +.B OfflineIMAP. +Tk.Blinkenlights contains, by default, a small window with a row of +LEDs and a row of command buttons. The total size of the window is +very small, so it uses little desktop space, yet it is quite +functional. There is also an optional, toggable, log that shows more +detail about what is happening and is color-coded to match the color +of the lights. +.PP +Tk.Blinkenlights is the only user interface that has configurable +parameters; see the example +.I offlineimap.conf +for more details. +.PP +Each light in the Tk.Blinkenlights interface represents a thread of +execution -- that is, a particular task that +.B OfflineIMAP +is performing right now. The color indicates what task the particular +thread is performing, and are as follows: +.TP +.B Black +indicates that this light's thread has terminated; it will light up +again later when new threads start up. So, black indicates no +activity. +.TP +.B Red (Meaning 1) +is the color of the main program's thread, which basically does +nothing but monitor the others. It might remind you of HAL 9000 in +.I 2001. +.TP +.B Purple +is the color of an account synchronization thread that is monitoring +the progress of the folders in that account (not generating any I/O). +.TP +.B Cyan +indicates that the thread is syncing a folder. +.TP +.B Green +means that a folder's message list is being loaded. +.TP +.B Blue +is the color of a message synchronization controller thread. +.TP +.B Orange +indicates that an actual message is being copied. +.TP +.B Red (Meaning 2) +indicates that a message is being deleted. +.TP +.B Yellow +(bright orange) indicates that message flags are being added. +.TP +.B Pink +(bright red) indicates that message flags are being removed. +.TP +.B Red / Black Flashing +corresponds to the countdown timer that runs between synchronizations. +.PP +The name of this interface derives from a bit of computer science +history. Eric Raymond's +.I Jargon File +defines blinkenlights, in part, as: +.PP +.RS +Front-panel diagnostic +lights on a computer, esp. a dinosaur. Now that dinosaurs are rare, +this term usually refers to status lights on a modem, network hub, or +the like. +.P +This term derives from the last word of the famous blackletter-Gothic +sign in mangled pseudo-German that once graced about half the computer +rooms in the English-speaking world. One version ran in its entirety as +follows: +.P +.B ACHTUNG! ALLES LOOKENSPEEPERS! +.P +Das computermachine ist nicht fuer gefingerpoken und mittengrabben. +Ist easy schnappen der springenwerk, blowenfusen und poppencorken +mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen. +Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das +pockets muss; relaxen und watchen das blinkenlichten. +.SS Tk.VerboseUI +This interface (formerly known as Tk.TkUI) is a graphical interface +that presents a variable-sized window. In the window, each +currently-executing thread has a section where its name and current +status are displayed. This interface is best suited to people running +on slower connections, as you get a lot of detail, but for fast +connections, the detail may go by too quickly to be useful. People +with fast connections may wish to use Tk.Blinkenlights instead. +.SS TTY.TTYUI +This interface is the default for people running in terminals. It +prints out basic status messages, has an interruptible timer like the +graphical interfaces do, and is generally friendly to use on a console +or xterm. +.SS Noninteractive.Basic +This interface is designed for situations where +.B OfflineIMAP +will be run non-attended and the status of its execution will be +logged. You might use it, for instance, to have the system run +automatically and +e-mail you the results of the synchronization. This user interface +is not capable of reading a password from the keyboard; account +passwords must be specified using one of the configuration file options. +.SS Noninteractive.Quiet +This interface is designed for non-attended running in situations +where normal status messages are not desired. It will output nothing +except errors and serious warnings. Like Noninteractive.Basic, +this user interface +is not capable of reading a password from the keyboard; account +passwords must be specified using one of the configuration file options. .\".TP .\".B \-v, \-\-version .\"Show version of program. diff --git a/offlineimap/head/offlineimap.conf b/offlineimap/head/offlineimap.conf index d26cd12..656dca9 100644 --- a/offlineimap/head/offlineimap.conf +++ b/offlineimap/head/offlineimap.conf @@ -63,7 +63,8 @@ maxsyncaccounts = 1 # # You can override this with a command-line option -u. -ui = Tk.Blinkenlights, Tk.VerboseUI, TTY.TTYUI, Noninteractive.Basic +ui = Tk.Blinkenlights, Tk.VerboseUI, TTY.TTYUI, Noninteractive.Basic, + Noninteractive.Quiet ################################################## diff --git a/offlineimap/head/offlineimap/ui/TTY.py b/offlineimap/head/offlineimap/ui/TTY.py index a07961c..5d2a149 100644 --- a/offlineimap/head/offlineimap/ui/TTY.py +++ b/offlineimap/head/offlineimap/ui/TTY.py @@ -25,6 +25,9 @@ class TTYUI(UIBase): def __init__(s, verbose = 0): s.verbose = verbose s.iswaiting = 0 + + def isusable(s): + return sys.stdout.isatty() and sys.stdin.isatty() def _msg(s, msg): if (currentThread().getName() == 'MainThread'): diff --git a/offlineimap/head/offlineimap/ui/Tk.py b/offlineimap/head/offlineimap/ui/Tk.py index b1b24d2..6b30dfc 100644 --- a/offlineimap/head/offlineimap/ui/Tk.py +++ b/offlineimap/head/offlineimap/ui/Tk.py @@ -359,8 +359,9 @@ class Blinkenlights(VerboseUI): c.pack(side = BOTTOM, expand = 1) widthmetric = tkFont.Font(family = 'Helvetica', size = 8).measure("0") self.loglines = 5 - if s.config.has_option("ui.Tk.Blinkenlights", "loglines"): - self.loglines = s.config.getint("ui.Tk.Blinkenlights", "loglines") + if self.config.has_option("ui.Tk.Blinkenlights", "loglines"): + self.loglines = self.config.getint("ui.Tk.Blinkenlights", + "loglines") self.text = Text(self.top, bg = 'black', font = ("Helvetica", 8), bd = 0, highlightthickness = 0, setgrid = 0, state = DISABLED, height = self.loglines, wrap = NONE, diff --git a/offlineimap/head/offlineimap/ui/detector.py b/offlineimap/head/offlineimap/ui/detector.py index e75783f..1523fb9 100644 --- a/offlineimap/head/offlineimap/ui/detector.py +++ b/offlineimap/head/offlineimap/ui/detector.py @@ -20,8 +20,8 @@ from offlineimap.ui import * import sys def findUI(config): - uistrlist = ['Tk.TkUI', 'TTY.TTYUI', 'Noninteractive.Basic', - 'Noninteractive.Quiet'] + uistrlist = ['Tk.Blinkenlights', 'Tk.VerboseUI', 'TTY.TTYUI', + 'Noninteractive.Basic', 'Noninteractive.Quiet'] if config.has_option("general", "ui"): uistrlist = config.get("general", "ui").replace(" ", "").split(",") for uistr in uistrlist: