#+end_src
** pigeonhole
-*** gnu.sieve
+*** amin.sieve
:PROPERTIES:
-:header-args+: :tangle ~/sieve/gnu.sieve :comments none
+:header-args+: :tangle ~/mail/aminb.org/amin/sieve/amin.sieve :comments none
:END:
#+begin_src conf
-require [ "regex", "variables", "fileinto", "envelope", "mailbox", "imap4flags", "include" ];
+require ["regex", "variables", "fileinto", "envelope",
+ "mailbox", "imap4flags", "include"];
+# webmasters
if anyof (
- address :is "from" "webmasters@gnu.org",
- address :is "from" "webmasters-comment@gnu.org") {
- fileinto :create "webmasters";
+ address :is "from" ["webmasters@gnu.org", "webmasters-comment@gnu.org"]) {
+ fileinto :create "gnu.webmasters";
stop;
}
*** lists.sieve
:PROPERTIES:
-:header-args+: :tangle ~/sieve/lists.sieve :comments none
+:header-args+: :tangle ~/mail/aminb.org/amin/sieve/lists.sieve :comments none
:END:
#+begin_src conf
-require [ "regex", "variables", "fileinto", "envelope", "mailbox", "imap4flags",
- "include" ];
+require ["regex", "variables", "fileinto", "envelope",
+ "mailbox", "imap4flags", "include"];
+# mailing lists
if anyof (
- header :contains "list-id" "<emacs-devel.gnu.org>",
- header :contains "list-id" "<emacs-orgmode.gnu.org>",
- header :contains "list-id" "<emacsconf-discuss.gnu.org>",
- header :contains "list-id" "<fencepost-users.gnu.org>",
- header :contains "list-id" "<guix-devel.gnu.org>",
- header :contains "list-id" "<guile-devel.gnu.org>",
- header :contains "list-id" "<help-gnu-emacs.gnu.org>",
- header :contains "list-id" "<info-gnu-emacs.gnu.org>",
- header :contains "list-id" "<www-commits.gnu.org>",
- header :contains "list-id" "<www-discuss.gnu.org>",
- header :contains "list-id" "<deepspec.lists.cs.princeton.edu>",
- header :contains "list-id" "<haskell-cafe.haskell.org>",
- header :contains "list-id" "<haskell-art.we.lurk.org>",
- header :contains "list-id" "<notmuch.notmuchmail.org>") {
+ header :contains "list-id"
+ [ "<emacs-devel.gnu.org>"
+ , "<emacs-orgmode.gnu.org>"
+ , "<emacsconf-discuss.gnu.org>"
+ , "<fencepost-users.gnu.org>"
+ , "<guix-devel.gnu.org>"
+ , "<guile-devel.gnu.org>"
+ , "<help-gnu-emacs.gnu.org>"
+ , "<info-gnu-emacs.gnu.org>"
+ , "<info-guix.gnu.org>"
+ , "<www-commits.gnu.org>"
+ , "<www-discuss.gnu.org>"
+ , "<deepspec.lists.cs.princeton.edu>"
+ , "<haskell-cafe.haskell.org>"
+ , "<haskell-art.we.lurk.org>"
+ , "<notmuch.notmuchmail.org>"
+ ] ) {
if header :regex "list-id" "<([a-z_0-9-]+)[.@]" {
set :lower "listname" "${1}";
- fileinto :create "l/${listname}";
+ fileinto :create "gnu.${listname}";
+ stop;
}
}
+# sr.ht lists, with dots ('.') omitted
if anyof (
- header :contains "list-id" "<~aminb/test-priv@lists.sr.ht>",
- header :contains "list-id" "<~sircmpwn/sr.ht-admins@lists.sr.ht>",
- header :contains "list-id" "<~sircmpwn/sr.ht-announce@lists.sr.ht>",
- header :contains "list-id" "<~sircmpwn/sr.ht-dev@lists.sr.ht>",
- header :contains "list-id" "<~sircmpwn/sr.ht-discuss@lists.sr.ht>") {
- if header :regex "list-id" "(~[a-z_0-9-]+)/([a-z_0-9.-]+)@" {
+ header :contains "list-id"
+ [ "<~bandali/public-inbox@lists.sr.ht>"
+ , "<~sircmpwn/sr.ht-admins@lists.sr.ht>"
+ , "<~sircmpwn/sr.ht-announce@lists.sr.ht>"
+ , "<~sircmpwn/sr.ht-dev@lists.sr.ht>"
+ , "<~sircmpwn/sr.ht-discuss@lists.sr.ht>"
+ ] ) {
+ if header :regex "list-id" "(~[a-z_0-9-]+)/([^.]*)\\.?([^.]*)\\.?([^.]*)\\.?([^.]*)\\.?([^.]*)\\.?([^.]*)@" {
set :lower "username" "${1}";
- set :lower "listname" "${2}";
- fileinto :create "l/${username}/${listname}";
+ set :lower "listname" "${2}${3}${4}${5}${6}${7}";
+ fileinto :create "gnu.${username}.${listname}";
+ stop;
}
}
#+end_src
exec swayidle \
timeout 120 '[ -f ~/.nosleep ] || swaymsg "output * dpms off"' \
resume '[ -f ~/.nosleep ] || swaymsg "output * dpms on"' \
- before-sleep swaylock
### Key bindings