# You can copy this file to your home directory as .elmorc. Change # all relevant data. # # All lines beginning with '#' and blank lines are considered to be # comments and are ignored by elmo. # # 1. Variable setting # Variables may be set many times. If elmo needs one of them you will # be prompted, to decide which one to use. Last definition is # considered default, and there are some situations when elmo uses # only default setting. # # 2. Key setting # You can bind any key with any function listed in README.txt. Do # not misspell mode name. Four key definition methods are: # KEY - just a letter or sign (excluding some specials like # ':' or space - these may be escaped with backslash) # CTRL-KEY - \C followed by a lowercase letter (example: \Ca) # SPECIAL - these are: , , , , , , # , , , , , # , , , , and , , ... # VALUE - backslash followed by three digit octal value # # 3. Hooks # Second function will be triggered on every execution of the first # one. Example: # hook fetch_get_mail fetch_del_mail # hook fetch_get_mail fetch_next # The example above makes elmo delete every fetched mail and moves bar # to the next position. ###################################################################### # VARIABLES ###################################################################### # Addressbook file is overwritten each time elmo quits (and # there were some changes made to it). # # set addressbook ~/.addressbook # Charset is used in Content-Type field. Default is us-ascii. # # set charset iso-8859-1 # Signature may be a program that outputs signature on standard # output. It should be prepended with '|' in such a case. Otherwise # it should be a valid file name. # # set sigfile ~/.signature # set sigfile "|/usr/games/fortune" # sig_dashes will make elmo insert "-- " before your signature # # set sig_dashes on # Editor mustn't exit until file is edited and ready to send. It # should contain %f -- which will be replaced with file name and may # contain %d -- which will be replaced with line number. Without # %f your editor won't know which file to open. # # set editor 'emacsclient +%d %f' # set editor 'vim %f' # Mailbox is a directory containing your boxes. Let's have an # example: # /home/rzyj/mail: # - inbox # - sent # - drafts # - trash # When elmo starts it tries to open /home/rzyj/mail/inbox (because I # defined mailbox to be ~/mail. If you don't define mailbox elmo will # try to open $MAILDIR, then $MAIL and finally /var/mail/your-login. # If you don't set trash, all your trashed mail will be deleted. # Otherwise it will be put into the given folder. # # name -- any string, it's used for identification # root -- path to the directory structure # start -- which box open at the very beginning (default: inbox) # inbox -- where to put incoming messages (default: inbox) # sent -- where to store sent messages (default: sent) # drafts -- where to store unsent messages (default: drafts) # outbox -- where to store messages to be sent # trash -- where to move deleted messages; when not set, deleted mail # is permanently removed # spam -- where to move messages deleted as spam; when not set, # deleted spam is permanently removed # protect -- whether to protect your box against spam (default: no) # # set mailbox { # name: 'my box' # root: ~/mail # trash: trash # spam: spam # protect: yes # } # For bayesian filter to work it is also necessary to define a # variable bayes_file which holds a filename, with filter's # database. # # set bayes_file ~/mail/.bayes_file # This will make elmo display only relative names (e.g. inbox instead # of /home/rzyj/mail/inbox) # # set relative_names on # This variable holds information about smtp account. You can define # many accounts in which case you will have a chance to change account # before sending a message. Last one is used as a default. # # name -- any string, used for identification # server -- server address # port -- optional port (default is 25) # my_name -- your name, as appearing before your email address in From # email -- your email, as appearing in From # username -- your username for authenticated smtp (not required) # password -- password for authenticated smtp (not required) # ssl -- define to "yes" if you want to secure your connection # # set smtp_acc { # name: doe.com # server: smtp.doe.com # my_name: 'John Doe' # email: john@doe.com # } # This variable holds information about your pop3 account. # # name -- any string, used for identification # server -- server address # port -- optional port (default is 110) # username -- your user name # password -- your password # limit -- causes elmo delete already fetched messages (beginning # from the oldest one) until your maildrop is smaller # than limit bytes, kilobytes or megabytes # count_max -- causes elmo delete already fetched messages (beginning # from the oldest one) until you have at most count_max # messages in your maildrop # use_apop -- use APOP authentication method (you have to be sure you # really want it, some servers claim to support this # method by sending apop digest but send "authorization # failed" when you try it) it is perfectly ok if you # don't know what it is about (default: no) # ssl -- define to "yes" if you want to secure your connection # # set pop_acc { # name: doe.com # server: pop3.doe.com # username: john # password: jenny # limit: 5M # count_max: 10 # } # # set pop_acc { # name: other # server: some.other.host # username: john # password: jenny # limit: 100K # count_max: 0 # } # pop_info_dir will store some files with information about already # fetched messages # # set pop_info_dir ~/mail/.pop # Some variables define a format string that have some control # sequences that help you customize a way that elmo displays some data # to you. Control sequences consist of a % sign, some modifiers and a # letter defining the data to be replaced with. A modifier is a # number that follows optional dash and 0 sign. The number itself # defines a maximal width of the string. If it is 0-prepended, than # the string will be filled with spaces to make the string be exactly # that long. The dash makes string right-justified. # # These are control sequences in mail-oriented format strings: # # %% -- % sign # %f -- name as appearing in From (e.g. "John Doe") # %F -- name and address as appearing in From # (e.g. "John Doe ") # %i -- initials (e.g. JD) # %t -- name as appearing in To (e.g. "Bob The Ripper") # %T -- name and address as appearing in To # (e.g. "Bob The Ripper ") # %d -- full date as appearing in message's header # %D -- date but only day and abbreviation of month (e.g. May 7) # %s -- subject # %S -- size (e.g. 3.5K) # %$ -- mail flags # %? -- attachments indicator # %# -- spam indicator # # Here you have mail-oriented format strings with their default # values. # line_format and sent_format control the way messages are listed # in a folder view. sent_format is used in boxes that contain # messages written by you i.e. sent and drafts. fetch_format controls # the way messages are listed in the window with messages on the # pop3 server # # set line_format "%?%$%# %D %016f (%-06S) " # set sent_format "%?%$ %D %016t (%-06S) " # set win_fetch { # fetch_fmt: "%?%$ %D %016f (%-06S) %s" # } # *_wrote are used as a quote's attribution # # set male_wrote "On %d, %f wrote:" # set female_wrote "On %d, %f wrote:" # set o_male_wrote "On %d, %f wrote:" # set o_female_wrote "On %d, %f wrote:" # indent_string variable sets the indentation string. # # set indent_string "> " # These are control sequences used in addressbook: # # %% -- % sign # %n -- name (e.g. "John Doe") # %e -- email (e.g. "john@doe.com") # %o -- 'o' if address is official, ' ' otherwise # %f -- 'f' if address is foreign, ' ' otherwise # %s -- 'M' for male, 'F' for female, '?' for unknown # # set abook_format "%s %020n %e" # These are control sequences used in help window: # # %% -- % sign # %k -- key name # %f -- function name # %d -- function description # # set win_help { # help_fmt: "%012k %030f %d" # } # These are control sequences used in box_selection window: # # %% -- % sign # %n -- box name # %t -- total number of messages # %u -- number of unread messages # # set win_boxes { # box_fmt: " %010n (%u/%t)" # } # These are control sequences used in windows, that display list of # attachments: # # %% -- % sign # %f -- file name # %t -- content type # %s -- attachment size # %c -- charset (if any) # %C -- same as ", %c" if the charset is defined # %e -- encoding (if any) # %E -- same as ", %e" if encoding is defined # # set win_attach { # attach_fmt: "%020f (%-06s) [%t%C%E]" # } # set win_sender { # sender_fmt: "%020f (%-06s) [%t%C%E]" # } ###################################################################### # LOOK & FEEL ###################################################################### # You can customize almost every aspect of any elmo window. However # we encourage users not to do it in their .elmorc file, but rather # write a theme (a file that contain only windows definitions), and # share it with other people by sending it to us - we will put it in # the repository. You can then include a theme file by: # # include ~/mail/.theme # GENERAL RULES # ------------- # # There are some windows, that cannot have their position and size # changed. These are: command line, status line, and top bar. You # can set size and position of any other window by setting appropriate # values to: height, width, left, and top fields of these windows. # When setting width, and height: # positive values - just as they are # zero - width / height of the screen # negative values - width + this value # When setting left, and top: # zero - left / top border # negative values - count from right / bottom # Every window may have its colours changed. There are 15 colours, # but you can use only 8 as background. Available colours (asterisk # means that this one may be used as background): # grey, black(*), rose, red(*), lime, green(*), yellow, orange(*), # blue(*), violet, magenta(*), lightblue, cyan(*), white, # lightgrey(*) # If you want to set element's foo colour, than you should set it's # forground, and background colour by setting foo_fg, and foo_bg. # Thus, if you want errors to be displayed as black message on red # background put this to your .elmorc: # set win_echo { # error_fg: black # error_bg: red # } # FRAMES # ------ # # Frames are drawn on a very bottom window. If you make a mistake # in some window size - it may cover frames, and you won't be able to # figure out, where is the problem. # # You can set colours of: frame_color, and fill_color. You can set # which parts of window should be filled, and which should have a # frame element by setting variables: # fill, f_horiz, f_vert, f_left, f_right, f_up, f_down, f_cross # They are lists of areas to be filled with: fill color, horizontal # lines, vertical lines, .... # You can also set no_frames filed to yes if your terminal doesn't # support frames (displayes some crap instead) - frames will be drawn # using only ascii characters. # Default value: # set win_frames { # frame_fg: blue # frame_bg: black # fill_fg : blue # fill_bg : black # no_frames: no # fill: "(25 0 25 0)" # f_horiz: "(0 21 24 21) (0 -8 24 -8)" # f_vert: "(25 1 25 -1)" # f_left: "(25 21 25 21) (25 -8 25 -8)" # f_right: "" # f_up: "" # f_down: "" # f_cross: "" # } # COMMAND LINE # ------------ # # You can only affect colors: text_color, and error_color. # set win_echo { # text_fg : lightgrey # text_bg : black # error_fg: red # error_bg: black # } # STATUS BAR # ---------- # # You can only affect colors: text_color, and paren_color. # set win_status { # text_fg : lightgrey # text_bg : blue # paren_fg: lightblue # paren_bg: blue # } # TOP BAR # ------- # # You can only affect color: text_color. # set win_topbar { # text_fg: lime # text_bg: blue # } # CLOCK # ----- # # You can affect color, and format of the clock, which is the same as # in (man strftime). # set win_clock { # height: 7 # width: 25 # top: -9 # left: 0 # text_fg: blue # text_bg: black # clock_fmt: " %H:%M %a, %e %b " # } # FOLDER # ------ # # This is the main window. You can set colors, size, position, and # whether you wish to have a label over this window. # set win_folder { # height: -4 # width: -26 # top: 2 # left: 26 # label: yes # text_fg: ligthgrey # text_bg: black # tree_fg: red # tree_bg: black # tree_bar_fg: red # tree_bar_bg: cyan # } # BOX SELECTION # ------------- # # You can set colors, size, position, whether you wish to have a label # over this window, and format. # set win_boxes { # height: 20 # width: 25 # top: 2 # left: 0 # label: yes # text_fg: lightgrey # text_bg: black # root_fg: white # root_bg: black # tree_fg: red # tree_bg: black # tree_bar_fg: red # tree_bar_bg: cyan # box_fmt: " %010n (%u/%t)" # } # MAILREADER # ---------- # # You can set colors, size, position, and whether you wish to have a # label over this window. # set win_mail { # height: -3 # width: 0 # top: 1 # left: 0 # label: no # text_fg: lightgrey # text_bg: black # signature_fg: cyan # signature_bg: black # quote_fg: green # quote_bg: black # to_fg: cyan # to_bg: black # from_fg: cyan # from_bg: black # subject_fg: cyan # subject_bg: black # cc_fg: cyan # cc_bg: black # mua_fg: cyan # mua_bg: black # date_fg: cyan # date_bg: black # replyto_fg: cyan # replyto_bg: black # sigok_fg: cyan # sigok_bg: black # sigwarn_fg: cyan # sigwarn_bg: black # sigfail_fg: cyan # sigfail_bg: black # } # FETCH # ----- # # You can set color, size, position, whether you wish to have a label # over this window, and format. # set win_fetch { # height: -4 # width: -26 # top: 2 # left: 26 # label: yes # text_fg: lightgrey # text_bg: black # fetch_fmt: "%?%$ %D %016f (%-06S) %s" # } # ATTACH # ------ # # This window displays attachments in the open message. You can set # color, size, position, wheter you wish to have a label over this # window, and format. # set win_attach { # height: 8 # width: 0 # top: -10 # left: 0 # label: yes # text_fg: lightgrey # text_bg: black # attach_fmt: "%020f (%-06s) [%t%C%E]" # } # HELP # ---- # # You can set color, size, position, whether you wish to have a label # over this window, and format. # set win_help { # height: -4 # width: 0 # top: 2 # left: 0 # label: yes # text_fg: lightgrey # text_bg: black # help_fmt: "%012k %030f %d" # } # SENDER # ------ # # You can set color, size, position, whether you wish to have a label # over this window, and format. These settings affect the way, that # mailinfo window (which shows some important information about the # composed mail) is being shown, but not its size - which is fixed. # set win_sender { # height: -12 # width: 0 # top: 10 # left: 0 # label: yes # text_fg: lightgrey # text_bg: black # info_fg: lightgrey # info_bg: black # sender_fmt: "%020f (%-06s) [%t%C%E]" # } # LABELS # ------ # # There is just one win_label variable that controls labels # appearance. # set win_label { # focus_fg: white # focus_bg: blue # nofocus_fg: lightgrey # nofocus_bg: blue # } # BAR # --- # # There is also just one win_bar variable that controls appearance of # bars in all windows. # set win_bar { # text_fg: lightgrey # text_bg: cyan # } ###################################################################### # MIME TYPES ###################################################################### # These settings are utilized in 2 situations. First is when you want # an attachment to be handled by some external tool. Second is to # determine the mime type for files that you attach to composed # message. # Let's take a look at the example: # # mime image/gif "\.gif$" # # It means, that when you attach a file, which matches the regular # expression "\.gif$" (which means, that this file has an extension - # .gif), this file is sent as image/gif. You don't have to define # such an entry as this is one of the default settings. However it # may be useful to override defaults. # # handler image/* "fbi %f" # # The setting above means, that you want to use program fbi to display # images. # # Other examples: # # mime application/pdf "\.pdf$" # handler text/html "links -no-connect -force-html file://%f" ###################################################################### # RULES ###################################################################### # Rules are very useful when you want to divide your incoming mails to # few boxes. Let's take a look at the example: # # rule elmo-users { # If SUBJECT includes '[elmo-users]' move it to elmo. # } # # Rule consists of constraint, and resulting box. The box is the # identifier followed by dot (in the example above - elmo). The # constraint consists of header field written in uppercase, and # single- or double-quoted string. If the string is single-quoted, # than it must be found in the header field verbatim. If the # string is double-quoted than it is treated as a regular expression # that the header field should match. All other tokens are ignored, # thus enabling you to write sentences. # You can have more than one constraint before resulting box. A # message will be moved to that box if all constraints are satisfied. # # rule elmo-users { # If SUBJECT includes '[elmo-users]' # and TO includes 'elmo-users@lists.sourceforge.net' # then move mail to elmo. # } # # Or operator is an equivalent of writing few rules with the same # resulting box. # # rule elmo-users { # If SUBJECT includes '[elmo-users]' then elmo; # same if TO includes 'elmo-users@lists.sourceforge.net' then # move it to elmo. # } # # Messages, that don't satisfy any rule will be put to inbox. # # Valid fields are: # SUBJECT - Subject # TO - To # CC - Cc # TOCC - To or Cc # FROM - From ###################################################################### # KEYMAPS ###################################################################### # These may be helpful. # # key mail r sender_open_reply # key mail R sender_open_reply_all # key mail f sender_open_fwd ###################################################################### # HOOKS ###################################################################### # These are hooks I use. # # hook folder_toggle_flag folder_bar_next # # hook fetch_del_mail fetch_next # hook fetch_get_mail fetch_next # # hook mybox_create_box box_selection_re_read # # hook sender_go mailreader_close # # hook abook_hit abook_next