<?xml version="1.0"?>
<filterdescription>
<partset>
 <part name="sender">
   <_title>Sender</_title>
   <input type="optionlist" name="sender-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(header-contains "From" ${sender})</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (header-contains "From" ${sender}))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(header-matches "From" ${sender})</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (header-matches "From" ${sender}))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(header-starts-with "From" ${sender})</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (header-starts-with "From" ${sender}))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(header-ends-with "From" ${sender})</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (header-ends-with "From" ${sender}))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(header-soundex "From" ${sender})</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (header-soundex "From" ${sender}))</code>
    </option>
   </input>
   <input type="string" name="sender" allow-empty="false"/>
 </part>

 <part name="to">
   <_title>Recipients</_title>
   <input type="optionlist" name="recipient-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(or (header-contains "To" ${recipient}) (header-contains "Cc" ${recipient}))</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (or (header-contains "To" ${recipient}) (header-contains "Cc" ${recipient})))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(or (header-matches "To" ${recipient}) (header-matches "Cc" ${recipient}))</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (or (header-matches "To" ${recipient}) (header-matches "Cc" ${recipient})))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(or (header-starts-with "To" ${recipient}) (header-starts-with "Cc" ${recipient}))</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (or (header-starts-with "To" ${recipient}) (header-starts-with "Cc" ${recipient})))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(or (header-ends-with "To" ${recipient}) (header-ends-with "Cc" ${recipient}))</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (or (header-ends-with "To" ${recipient}) (header-ends-with "Cc" ${recipient})))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(or (header-soundex "To" ${recipient}) (header-soundex "Cc" ${recipient}))</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (or (header-soundex "To" ${recipient}) (header-soundex "Cc" ${recipient})))</code>
    </option>
   </input>
   <input type="address" name="recipient" allow-empty="false"/>
 </part>

 <part name="cc">
   <_title>CC</_title>
   <input type="optionlist" name="recipient-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(header-contains "Cc" ${recipient})</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (header-contains "Cc" ${recipient}))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(header-matches "Cc" ${recipient})</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (header-matches "Cc" ${recipient}))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(header-starts-with "Cc" ${recipient})</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (header-starts-with "Cc" ${recipient}))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(header-ends-with "Cc" ${recipient})</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (header-ends-with "Cc" ${recipient}))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(header-soundex "Cc" ${recipient})</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (header-soundex "Cc" ${recipient}))</code>
    </option>
   </input>
   <input type="address" name="recipient" allow-empty="false"/>
 </part>

 <part name="bcc">
   <_title>BCC</_title>
   <input type="optionlist" name="recipient-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(header-contains "Bcc" ${recipient})</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (header-contains "Bcc" ${recipient}))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(header-matches "Bcc" ${recipient})</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (header-matches "Bcc" ${recipient}))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(header-starts-with "Bcc" ${recipient})</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (header-starts-with "Bcc" ${recipient}))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(header-ends-with "Bcc" ${recipient})</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (header-ends-with "Bcc" ${recipient}))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(header-soundex "Bcc" ${recipient})</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (header-soundex "Bcc" ${recipient}))</code>
    </option>
   </input>
   <input type="address" name="recipient" allow-empty="false"/>
 </part>

 <part name="senderto">
   <_title>Sender or Recipients</_title>
   <input type="optionlist" name="recipient-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(or (header-contains "From" ${recipient}) (header-contains "To" ${recipient}) (header-contains "Cc" ${recipient}))</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (or (header-contains "From" ${recipient}) (header-contains "To" ${recipient}) (header-contains "Cc" ${recipient})))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(or (header-matches "From" ${recipient}) (header-matches "To" ${recipient}) (header-matches "Cc" ${recipient}))</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (or (header-matches "From" ${recipient}) (header-matches "To" ${recipient}) (header-matches "Cc" ${recipient})))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(or (header-starts-with "From" ${recipient}) (header-starts-with "To" ${recipient}) (header-starts-with "Cc" ${recipient}))</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (or (header-starts-with "From" ${recipient}) (header-starts-with "To" ${recipient}) (header-starts-with "Cc" ${recipient})))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(or (header-ends-with "From" ${recipient}) (header-ends-with "To" ${recipient}) (header-ends-with "Cc" ${recipient}))</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (or (header-ends-with "From" ${recipient}) (header-ends-with "To" ${recipient}) (header-ends-with "Cc" ${recipient})))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(or (header-soundex "From" ${recipient}) (header-soundex "To" ${recipient}) (header-soundex "Cc" ${recipient}))</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (or (header-soundex "From" ${recipient}) (header-soundex "To" ${recipient}) (header-soundex "Cc" ${recipient})))</code>
    </option>
   </input>
   <input type="address" name="recipient" allow-empty="false"/>
 </part>

 <part name="subject">
   <_title>Subject</_title>
   <input type="optionlist" name="subject-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(header-contains "Subject" ${subject})</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (header-contains "Subject" ${subject}))</code>
    </option>
    <option value="has-words">
     <_title>has words</_title>
     <code>(header-has-words "Subject" ${subject})</code>
    </option>
    <option value="not has-words">
     <_title>does not have words</_title>
     <code>(not (header-has-words "Subject" ${subject}))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(header-matches "Subject" ${subject})</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (header-matches "Subject" ${subject}))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(header-starts-with "Subject" ${subject})</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (header-starts-with "Subject" ${subject}))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(header-ends-with "Subject" ${subject})</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (header-ends-with "Subject" ${subject}))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(header-soundex "Subject" ${subject})</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (header-soundex "Subject" ${subject}))</code>
    </option>
   </input>
   <input type="string" name="subject"/>
 </part>

 <part name="header">
   <_title>Specific header</_title>
   <input type="string" name="header-field" allow-empty="false"/>
   <input type="optionlist" name="header-type">
    <option value="contains">
     <_title>contains</_title>
     <code>(header-contains ${header-field} ${word})</code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (header-contains ${header-field} ${word}))</code>
    </option>
    <option value="has-words">
     <_title>has words</_title>
     <code>(header-has-words ${header-field} ${word})</code>
    </option>
    <option value="not has-words">
     <_title>does not have words</_title>
     <code>(not (header-has-words ${header-field} ${word}))</code>
    </option>
    <option value="is">
     <_title>is</_title>
     <code>(header-matches ${header-field} ${word})</code>
    </option>
    <option value="is not">
     <_title>is not</_title>
     <code>(not (header-matches ${header-field} ${word}))</code>
    </option>
    <option value="starts with">
     <_title>starts with</_title>
     <code>(header-starts-with ${header-field} ${word})</code>
    </option>
    <option value="not starts with">
     <_title>does not start with</_title>
     <code>(not (header-starts-with ${header-field} ${word}))</code>
    </option>
    <option value="ends with">
     <_title>ends with</_title>
     <code>(header-ends-with ${header-field} ${word})</code>
    </option>
    <option value="not ends with">
     <_title>does not end with</_title>
     <code>(not (header-ends-with ${header-field} ${word}))</code>
    </option>
    <option value="exists">
     <_title>exists</_title>
     <code>(header-exists ${header-field})</code>
    </option>
    <option value="not exists">
     <_title>does not exist</_title>
     <code>(not (header-exists ${header-field}))</code>
    </option>
    <option value="matches soundex">
     <_title>sounds like</_title>
     <code>(header-soundex ${header-field} ${word})</code>
    </option>
    <option value="not match soundex">
     <_title>does not sound like</_title>
     <code>(not (header-soundex ${header-field} ${word}))</code>
    </option>
   </input>
   <input type="string" name="word"/>
 </part>

 <part name="body">
   <_title>Message Body</_title>
   <input type="optionlist" name="body-type">
    <option value="contains">
     <_title>contains</_title>
     <code>
	(body-contains ${word})
     </code>
    </option>
    <option value="not contains">
     <_title>does not contain</_title>
     <code>(not (body-contains ${word}))</code>
    </option>
   </input>
   <input type="string" name="word" allow-empty="false"/>
 </part>

 <part name="sexp">
   <_title>Expression</_title>
   <input type="code" name="code"/>
 </part>

 <part name="mail-free-form-exp">
  <_title>Free Form Expression</_title>
  <input type="string" name="ffe">
    <code func="e_mail_free_form_exp_to_sexp"/>
  </input>
 </part>

 <part name="sent-date">
  <_title>Date sent</_title>
  <input type="optionlist" name="date-spec-type">
   <option value="is">
    <_title>is</_title>
    <code>(= (compare-date (get-sent-date) ${versus}) 0)</code>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code>(not (= (compare-date (get-sent-date) ${versus}) 0))</code>
   </option>
   <option value="before">
    <_title>is before</_title>
    <code>(&lt; (compare-date (get-sent-date) ${versus}) 0)</code>
   </option>
   <option value="after">
    <_title>is after</_title>
    <code>(&gt; (compare-date (get-sent-date) ${versus}) 0)</code>
   </option>
  </input>    
  <input type="datespec" name="versus"/>
 </part>

 <part name="recv-date">
  <_title>Date received</_title>
  <input type="optionlist" name="date-spec-type">
   <option value="is">
    <_title>is</_title>
    <code>(= (compare-date (get-received-date) ${versus}) 0)</code>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code>(not (= (compare-date (get-received-date) ${versus}) 0))</code>
   </option>
   <option value="before">
    <_title>is before</_title>
    <code>(&lt; (compare-date (get-received-date) ${versus}) 0)</code>
   </option>
   <option value="after">
    <_title>is after</_title>
    <code>(&gt; (compare-date (get-received-date) ${versus}) 0)</code>
   </option>
  </input>    
  <input type="datespec" name="versus"/>
 </part>

 <part name="label">
  <_title>Label</_title>
  <input type="optionlist" name="label-type">
   <option value="is">
    <_title>is</_title>
    <code func="e_mail_labels_get_filter_code"/>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code func="e_mail_labels_get_filter_code"/>
   </option>
  </input>
  <input type="optionlist" name="versus">
     <dynamic func="e_mail_labels_get_filter_options"/>
  </input>
 </part>

 <part name="score">
  <_title>Score</_title>
  <input type="optionlist" name="score-type">
   <option value="is">
    <_title>is</_title>
    <code>(= (cast-int (user-tag "score")) ${versus})</code>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code>(not (= (cast-int (user-tag "score")) ${versus}))</code>
   </option>
   <option value="greater-than">
    <_title>is greater than</_title>
    <code>(&gt; (cast-int (user-tag "score")) ${versus})</code>
   </option>
   <option value="less-than">
    <_title>is less than</_title>
    <code>(&lt; (cast-int (user-tag "score")) ${versus})</code>
   </option>
  </input>
  <input type="score" name="versus"/>
 </part>

 <part name="size">
  <_title>Size (kB)</_title>
  <input type="optionlist" name="size-type">
   <option value="greater-than">
    <_title>is greater than</_title>
    <code>(&gt; (get-size) ${versus})</code>
   </option>
   <option value="greater-than-or-equal">
    <_title>is greater than or equal to</_title>
    <code>(or (&gt; (get-size) ${versus}) (= (get-size) ${versus}))</code>
   </option>
   <option value="less-than-or-equal">
    <_title>is less than or equal to</_title>
    <code>(or (&lt; (get-size) ${versus}) (= (get-size) ${versus}))</code>
   </option>
   <option value="less-than">
    <_title>is less than</_title>
    <code>(&lt; (get-size) ${versus})</code>
   </option>
  </input>
  <input type="integer" name="versus"/>
 </part>

 <part name="status">
  <_title>Status</_title>
  <input type="optionlist" name="match-type">
   <option value="is">
    <_title>is</_title>
    <code>(system-flag ${flag})</code>
   </option>
   <option value="is not">
    <_title>is not</_title>
    <code>(not (system-flag ${flag}))</code>
   </option>
  </input>
  <input type="optionlist" name="flag">
   <option value="Answered">
    <_title>Replied to</_title>
   </option>
   <option value="Draft">
    <_title>Draft</_title>
   </option>
   <option value="Flagged">
    <_title>Important</_title>
   </option>
   <option value="Seen">
    <_title>Read</_title>
   </option>
   <option value="Junk">
    <_title>Junk</_title>
   </option>
  </input>
 </part>

 <part name="follow-up">
  <_title>Follow Up</_title>
  <input type="optionlist" name="match-type">
   <option value="is">
    <_title>is Flagged</_title>
    <code>(not (= (user-tag "follow-up") ""))</code>
   </option>
   <option value="is not">
    <_title>is not Flagged</_title>
    <code>(= (user-tag "follow-up") "")</code>
   </option>
   <option value="is completed">
    <_title>is Completed</_title>
    <code>(and (not (= (user-tag "follow-up") "")) (not (= (user-tag "completed-on") "")))</code>
   </option>
   <option value="is not completed">
    <_title>is not Completed</_title>
    <code>(and (not (= (user-tag "follow-up") "")) (= (user-tag "completed-on") ""))</code>
   </option>
  </input>
 </part>

 <part name="follow-up-due-by">
  <_title>Follow Up Due By</_title>
  <input type="optionlist" name="date-spec-type">
   <option value="before">
    <_title>is before</_title>
    <code>(and (not (= (user-tag "follow-up") "")) (not (= (user-tag "due-by") "")) (&lt; (compare-date (make-time (user-tag "due-by")) ${versus}) 0))</code>
   </option>
   <option value="after">
    <_title>is after</_title>
    <code>(and (not (= (user-tag "follow-up") "")) (not (= (user-tag "due-by") "")) (&gt; (compare-date (make-time (user-tag "due-by")) ${versus}) 0))</code>
   </option>
   <option value="is">
    <_title>is</_title>
    <code>(and (not (= (user-tag "follow-up") "")) (not (= (user-tag "due-by") "")) (= (compare-date (make-time (user-tag "due-by")) ${versus}) 0))</code>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code>(and (not (= (user-tag "follow-up") "")) (not (= (user-tag "due-by") "")) (not (= (compare-date (make-time (user-tag "due-by")) ${versus}) 0)))</code>
   </option>
  </input>
  <input type="datespec" name="versus"/>
 </part>

 <part name="attachments">
  <_title>Attachments</_title>
  <input type="optionlist" name="match-type">
   <option value="exist">
    <_title>Exist</_title>
    <code>(system-flag "Attachments")</code>
   </option>
   <option value="not exist">
    <_title>Do Not Exist</_title>
    <code>(not (system-flag "Attachments"))</code>
   </option>
   <option value="contain-icalendar">
    <_title>Contain iCalendar Data</_title>
    <code>(user-flag "$has_cal")</code>
   </option>
   <option value="not-contain-icalendar">
    <_title>Do Not Contain iCalendar Data</_title>
    <code>(not (user-flag "$has_cal"))</code>
   </option>
  </input>
 </part>

 <part name="notes">
  <_title>Notes</_title>
  <input type="optionlist" name="match-type">
   <option value="exist">
    <_title>Exist</_title>
    <code>(user-flag "$has_note")</code>
   </option>
   <option value="not exist">
    <_title>Do Not Exist</_title>
    <code>(not (user-flag "$has_note"))</code>
   </option>
  </input>
 </part>

 <part name="mlist">
  <_title>Mailing list</_title>
   <input type="optionlist" name="mlist-type">
    <option value="is">
        <_title>is</_title>
        <code>(header-matches "x-camel-mlist" ${mlist})</code>
    </option>
    <option value="is not">
        <_title>is not</_title>
        <code>(not (header-matches "x-camel-mlist" ${mlist}))</code>
    </option>
    <option value="contains">
        <_title>contains</_title>
        <code>(header-contains "x-camel-mlist" ${mlist})</code>
    </option>
    <option value="not contains">
        <_title>does not contain</_title>
        <code>(not (header-contains "x-camel-mlist" ${mlist}))</code>
    </option>
   </input>
   <input type="string" name="mlist" allow-empty="false"/>
 </part>

 <part name="regex">
  <_title>Regex Match</_title>
  <input type="optionlist" name="match-type">
   <option value="header">
    <_title>Message Header</_title>
    <code>(header-full-regex ${expression})</code>
   </option>
   <option value="body">
    <_title>Message Body</_title>
    <code>(body-regex ${expression})</code>
   </option>
  </input>
  <input type="regex" name="expression"/>
 </part>

 <part name="source">
  <_title>Source Account</_title>
  <input type="optionlist" name="srcmatch-type">
   <option value="is">
    <_title>is</_title>
    <code>(header-source ${source})</code>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code>(not (header-source ${source}))</code>
   </option>
  </input>
  <input type="source" name="source"/>
 </part>

 <part name="pipe">
  <_title>Pipe to Program</_title>
  <input type="command" name="command"/>
  <input type="optionlist" name="retval-type">
   <option value="is">
    <_title>returns</_title>
    <code>(= (pipe-message "/bin/sh" "-c" ${command}) ${retval})</code>
   </option>
   <option value="is-not">
    <_title>does not return</_title>
    <code>(not (= (pipe-message "/bin/sh" "-c" ${command}) ${retval}))</code>
   </option>
   <option value="greater-than">
    <_title>returns greater than</_title>
    <code>(&gt; (pipe-message "/bin/sh" "-c" ${command}) ${retval})</code>
   </option>
   <option value="less-than">
    <_title>returns less than</_title>
    <code>(&lt; (pipe-message "/bin/sh" "-c" ${command}) ${retval})</code>
   </option>
  </input>
  <input type="integer" name="retval"/>
 </part>

 <part name="junk">
  <_title>Junk Test</_title>
  <input type="optionlist" name="retval-type">
   <option value="is-junk">
    <_title>Message is Junk</_title>
    <code>(= (junk-test) 1)</code>
   </option>
   <option value="is-not-junk">
    <_title>Message is not Junk</_title>
    <code>(not (= (junk-test) 1))</code>
   </option>
   <option value="is-inconclusive">
    <_title>Inconclusive whether Message is Junk</_title>
    <code>(= (junk-test) 2)</code>
   </option>
  </input>
 </part>
 <part name="location">
  <_title>Message Location</_title>
  <input type="optionlist" name="msglocation-type">
   <option value="is">
    <_title>is</_title>
    <code>(message-location ${folder})</code>
   </option>
   <option value="is-not">
    <_title>is not</_title>
    <code>(not (message-location ${folder}))</code>
   </option>
  </input>
  <input type="folder" name="folder"/>
 </part>

 <part name="addressbook">
  <_title>Address book</_title>
  <input type="optionlist" name="book">
     <dynamic func="e_mail_addressbook_get_filter_options"/>
  </input>
  <input type="optionlist" name="compare-type">
   <option value="contains-sender">
    <_title>contains Sender</_title>
    <code>(addressbook-contains ${book} "From")</code>
   </option>
   <option value="not-contains-sender">
    <_title>does not contain Sender</_title>
    <code>(not (addressbook-contains ${book} "From"))</code>
   </option>
  </input>
 </part>

 <part name="all">
  <_title>Match All</_title>
  <code>#t</code>
 </part>

</partset>


<actionset>
 <part name="move-to-folder">
  <_title>Move to Folder</_title>
  <code>(move-to ${folder})</code>
  <input type="folder" name="folder"/>
 </part>
 <part name="copy-to-folder">
  <_title>Copy to Folder</_title>
  <code>(copy-to ${folder})</code>
  <input type="folder" name="folder"/>
 </part>
 <part name="delete">
  <_title>Delete</_title>
  <code>(delete)</code>
 </part>
 <part name="stop">
  <_title>Stop Processing</_title>
  <code>(stop)</code>
 </part>
 <part name="label">
  <_title>Set Label</_title>
  <code>(set-label ${label})</code>
  <input type="optionlist" name="label">
     <dynamic func="e_mail_labels_get_filter_options_without_none"/>
  </input>
 </part>
 <part name="unset-label">
  <_title>Unset Label</_title>
  <code func="e_mail_labels_get_unset_filter_code"></code>
  <input type="optionlist" name="label">
     <dynamic func="e_mail_labels_get_filter_options_with_all"/>
  </input>
 </part>
 <part name="colour">
  <_title>Assign Color</_title>
  <code>(set-color ${colour})</code>
  <input type="colour" name="colour"/>
 </part>
 <part name="unset-color">
  <_title>Unset Color</_title>
  <code>(set-color "")</code>
 </part>
 <part name="score">
  <_title>Assign Score</_title>
  <code>(set-score ${score})</code>
  <input type="score" name="score"/>
 </part>
 <part name="adj-score">
  <_title>Adjust Score</_title>
  <code>(adjust-score ${score})</code>
  <input type="score" name="score"/>
 </part>
 <part name="set-status">
  <_title>Set Status</_title>
  <code>
   (set-system-flag ${flag})
  </code>
  <input type="optionlist" name="flag">
   <option value="Answered">
    <_title>Replied to</_title>
   </option>
   <option value="Deleted">
    <_title>Deleted</_title>
   </option>
   <option value="Draft">
    <_title>Draft</_title>
   </option>
   <option value="Flagged">
    <_title>Important</_title>
   </option>
   <option value="Seen">
    <_title>Read</_title>
   </option>
   <option value="Junk">
    <_title>Junk</_title>
   </option>
  </input>
 </part>
 <part name="unset-status">
  <_title>Unset Status</_title>
  <code>
   (unset-system-flag ${flag})
  </code>
  <input type="optionlist" name="flag">
   <option value="Answered">
    <_title>Replied to</_title>
   </option>
   <option value="Deleted">
    <_title>Deleted</_title>
   </option>
   <option value="Draft">
    <_title>Draft</_title>
   </option>
   <option value="Flagged">
    <_title>Important</_title>
   </option>
   <option value="Seen">
    <_title>Read</_title>
   </option>
   <option value="Junk">
    <_title>Junk</_title>
   </option>
  </input>
 </part>
 <part name="learn-junk">
  <_title>Learn as Junk</_title>
  <code>(set-system-flag "junklearn") (set-system-flag "junk")</code>
 </part>
 <part name="beep">
  <_title>Beep</_title>
  <code>(beep)</code>
 </part>
 <part name="play-sound">
  <_title>Play Sound</_title>
  <code>(play-sound ${sound})</code>
  <input type="file" name="sound"/>
 </part>
 <part name="shell">
  <_title>Run Program</_title>
  <code>(shell "/bin/sh" "-c" ${command})</code>
  <input type="command" name="command"/>
 </part>
 <part name="pipe">
  <_title>Pipe to Program</_title>
  <code>(pipe-message "/bin/sh" "-c" ${command})</code>
  <input type="command" name="command"/>
 </part>

 <part name="forward">
  <_title>Forward to</_title>
  <code>(forward-to ${address} ${from})</code>
  <input type="address" name="address" allow-empty="false"/>
  <input type="label" name="with">
    <_title>with</_title>
  </input>
  <input type="mail-identity" name="from"/>
 </part>
</actionset>
</filterdescription>
