blob: 51460c7a960df28c8d6504c5bbcd73b7be15e2c6 (
plain) (
tree)
|
|
<?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>(match-all (header-contains "From" ${sender}))</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>(match-all (not (header-contains "From" ${sender})))</code>
</option>
<option value="is">
<_title>is</_title>
<code>(match-all (header-matches "From" ${sender}))</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>(match-all (not (header-matches "From" ${sender})))</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with "From" ${sender}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with "From" ${sender})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with "From" ${sender}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with "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>
(match-all (or (header-contains "To" ${recipient})
(header-contains "Cc" ${recipient})))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (or
(header-contains "To" ${recipient})
(header-contains "Cc" ${recipient}))))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (or (header-matches "To" ${recipient})
(header-matches "Cc" ${recipient})))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (or
(header-matches "To" ${recipient})
(header-matches "Cc" ${recipient}))))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (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>
(match-all (not (or
(header-starts-with "To" ${recipient})
(header-starts-with "Cc" ${recipient}))))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (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>
(match-all (not (or
(header-ends-with "To" ${recipient})
(header-ends-with "Cc" ${recipient}))))
</code>
</option>
</input>
<input type="address" name="recipient" allow-empty="false"/>
</part>
<part name="toonly">
<_title>To</_title>
<input type="optionlist" name="recipient-type">
<option value="contains">
<_title>contains</_title>
<code>
(match-all (header-contains "To" ${recipient}))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (header-contains "To" ${recipient})))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (header-matches "To" ${recipient}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (header-matches "To" ${recipient})))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with "To" ${recipient}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with "To" ${recipient})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with "To" ${recipient}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with "To" ${recipient})))
</code>
</option>
<option value="matches soundex">
<_title>sounds like</_title>
<code>
(match-all (header-soundex "To" ${recipient}))
</code>
</option>
<option value="not match soundex">
<_title>does not sound like</_title>
<code>
(match-all (not (header-soundex "To" ${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>
(match-all (header-contains "Cc" ${recipient}))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (header-contains "Cc" ${recipient})))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (header-matches "Cc" ${recipient}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (header-matches "Cc" ${recipient})))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with "Cc" ${recipient}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with "Cc" ${recipient})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with "Cc" ${recipient}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with "Cc" ${recipient})))
</code>
</option>
<option value="matches soundex">
<_title>sounds like</_title>
<code>
(match-all (header-soundex "Cc" ${recipient}))
</code>
</option>
<option value="not match soundex">
<_title>does not sound like</_title>
<code>
(match-all (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>
(match-all (header-contains "Bcc" ${recipient}))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (header-contains "Bcc" ${recipient})))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (header-matches "Bcc" ${recipient}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (header-matches "Bcc" ${recipient})))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with "Bcc" ${recipient}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with "Bcc" ${recipient})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with "Bcc" ${recipient}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with "Bcc" ${recipient})))
</code>
</option>
<option value="matches soundex">
<_title>sounds like</_title>
<code>
(match-all (header-soundex "Bcc" ${recipient}))
</code>
</option>
<option value="not match soundex">
<_title>does not sound like</_title>
<code>
(match-all (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>
(match-all (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>
(match-all (not (or
(header-contains "From" ${recipient})
(header-contains "To" ${recipient})
(header-contains "Cc" ${recipient}))))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (or (header-matches "From" ${recipient})
(header-matches "To" ${recipient})
(header-matches "Cc" ${recipient})))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (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>
(match-all (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>
(match-all (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>
(match-all (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>
(match-all (not (or
(header-ends-with "From" ${recipient})
(header-ends-with "To" ${recipient})
(header-ends-with "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>
(match-all (header-contains "Subject" ${subject}))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (header-contains "Subject" ${subject})))
</code>
</option>
<option value="has-words">
<_title>has words</_title>
<code>
(match-all (header-has-words "Subject" ${subject}))
</code>
</option>
<option value="not has-words">
<_title>does not have words</_title>
<code>
(match-all (not (header-has-words "Subject" ${subject})))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (header-matches "Subject" ${subject}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (header-matches "Subject" ${subject})))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with "Subject" ${subject}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with "Subject" ${subject})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with "Subject" ${subject}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with "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>
(match-all (header-contains ${header-field} ${word}))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (header-contains ${header-field} ${word})))
</code>
</option>
<option value="has-words">
<_title>has words</_title>
<code>
(match-all (header-has-words ${header-field} ${word}))
</code>
</option>
<option value="not has-words">
<_title>does not have words</_title>
<code>
(match-all (not (header-has-words ${header-field} ${word})))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (header-matches ${header-field} ${word}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (header-matches ${header-field} ${word})))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with ${header-field} ${word}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with ${header-field} ${word})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with ${header-field} ${word}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with ${header-field} ${word})))
</code>
</option>
<option value="exists">
<_title>exists</_title>
<code>
(match-all (header-exists ${header-field}))
</code>
</option>
<option value="not exists">
<_title>does not exist</_title>
<code>
(match-all (not (header-exists ${header-field})))
</code>
</option>
<option value="matches soundex">
<_title>sounds like</_title>
<code>
(match-all (header-soundex ${header-field} ${word}))
</code>
</option>
<option value="not match soundex">
<_title>does not sound like</_title>
<code>
(match-all (not (header-soundex ${header-field} ${word})))
</code>
</option>
</input>
<input type="string" name="word"/>
</part>
<part name="anyheader">
<_title>Any header</_title>
<input type="optionlist" name="header-type">
<option value="contains">
<_title>contains</_title>
<code>
(match-all (header-contains "" ${word}))
</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>
(match-all (not (header-contains "" ${word})))
</code>
</option>
<option value="has-words">
<_title>has words</_title>
<code>
(match-all (header-has-words "" ${word}))
</code>
</option>
<option value="not has-words">
<_title>does not have words</_title>
<code>
(match-all (not (header-has-words "" ${word})))
</code>
</option>
<option value="is">
<_title>is</_title>
<code>
(match-all (header-matches "" ${word}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (header-matches "" ${word})))
</code>
</option>
<option value="starts with">
<_title>starts with</_title>
<code>
(match-all (header-starts-with "" ${word}))
</code>
</option>
<option value="not starts with">
<_title>does not start with</_title>
<code>
(match-all (not (header-starts-with "" ${word})))
</code>
</option>
<option value="ends with">
<_title>ends with</_title>
<code>
(match-all (header-ends-with "" ${word}))
</code>
</option>
<option value="not ends with">
<_title>does not end with</_title>
<code>
(match-all (not (header-ends-with "" ${word})))
</code>
</option>
<option value="matches soundex">
<_title>sounds like</_title>
<code>
(match-all (header-soundex "" ${word}))
</code>
</option>
<option value="not match soundex">
<_title>does not sound like</_title>
<code>
(match-all (not (header-soundex "" ${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="sent-date">
<_title>Date sent</_title>
<input type="optionlist" name="date-spec-type">
<option value="is">
<_title>is</_title>
<code>
(match-all (= (get-sent-date) ${versus}))
</code>
</option>
<option value="is-not">
<_title>is not</_title>
<code>
(match-all (not (= (get-sent-date) ${versus})))
</code>
</option>
<option value="before">
<_title>is before</_title>
<code>
(match-all (< (get-sent-date) ${versus}))
</code>
</option>
<option value="after">
<_title>is after</_title>
<code>
(match-all (> (get-sent-date) ${versus}))
</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>
(match-all (= (get-received-date) ${versus}))
</code>
</option>
<option value="is-not">
<_title>is not</_title>
<code>
(match-all (not (= (get-received-date) ${versus})))
</code>
</option>
<option value="before">
<_title>is before</_title>
<code>
(match-all (< (get-received-date) ${versus}))
</code>
</option>
<option value="after">
<_title>is after</_title>
<code>
(match-all (> (get-received-date) ${versus}))
</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>
(match-all (= (cast-int (user-tag "score")) ${versus}))
</code>
</option>
<option value="is-not">
<_title>is not</_title>
<code>
(match-all (not (= (cast-int (user-tag "score")) ${versus})))
</code>
</option>
<option value="greater-than">
<_title>is greater than</_title>
<code>
(match-all (> (cast-int (user-tag "score")) ${versus}))
</code>
</option>
<option value="less-than">
<_title>is less than</_title>
<code>
(match-all (< (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>
(match-all (> (get-size) ${versus}))
</code>
</option>
<option value="less-than">
<_title>is less than</_title>
<code>
(match-all (< (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>
(match-all (system-flag ${flag}))
</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>
(match-all (not (system-flag ${flag})))
</code>
</option>
</input>
<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="follow-up">
<_title>Follow Up</_title>
<input type="optionlist" name="match-type">
<option value="is">
<_title>is Flagged</_title>
<code>
(match-all (not (= (user-tag "follow-up") "")))
</code>
</option>
<option value="is not">
<_title>is not Flagged</_title>
<code>
(match-all (= (user-tag "follow-up") ""))
</code>
</option>
</input>
</part>
<part name="completed-on">
<_title>Completed On</_title>
<input type="optionlist" name="date-spec-type">
<option value="is set">
<_title>is set</_title>
<code>
(match-all (not (= (user-tag "completed-on") "")))
</code>
</option>
<option value="is not set">
<_title>is not set</_title>
<code>
(match-all (= (user-tag "completed-on") ""))
</code>
</option>
</input>
</part>
<part name="attachments">
<_title>Attachments</_title>
<input type="optionlist" name="match-type">
<option value="exist">
<_title>Exist</_title>
<code>
(match-all (system-flag "Attachments"))
</code>
</option>
<option value="not exist">
<_title>Do Not Exist</_title>
<code>
(match-all (not (system-flag "Attachments")))
</code>
</option>
</input>
</part>
<part name="mlist">
<_title>Mailing list</_title>
<input type="optionlist" name="mlist-type">
<option value="is">
<_title>is</_title>
<code>(match-all (header-matches "x-camel-mlist" ${mlist}))</code>
</option>
<option value="is not">
<_title>is not</_title>
<code>(match-all (not (header-matches "x-camel-mlist" ${mlist})))</code>
</option>
<option value="contains">
<_title>contains</_title>
<code>(match-all (header-contains "x-camel-mlist" ${mlist}))</code>
</option>
<option value="not contains">
<_title>does not contain</_title>
<code>(match-all (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>
(match-all (header-full-regex ${expression}))
</code>
</option>
<option value="body">
<_title>Message Body</_title>
<code>
(match-all (body-regex ${expression}))
</code>
</option>
</input>
<input type="regex" name="expression"/>
</part>
<part name="location">
<_title>Message Location</_title>
<input type="optionlist" name="msglocation-type">
<option value="is">
<_title>is</_title>
<code>
(match-all (message-location ${folder}))
</code>
</option>
<option value="is-not">
<_title>is not</_title>
<code>
(match-all (not (message-location ${folder})))
</code>
</option>
</input>
<input type="folder-curi" name="folder"/>
</part>
<part name="all">
<_title>Match All</_title>
<code>
(match-all #t)
</code>
</part>
</partset>
</filterdescription>
|