···11+#!/bin/bash
22+33+file="$HOME/.config/mutt/screen_out.txt"
44+55+pattern=""
66+while IFS= read -r email; do
77+ # Escape any periods in email addresses
88+ email="${email//./\\.}"
99+ pattern="${pattern}!~f ${email} "
1010+done < "$file"
1111+1212+# Print out the pattern
1313+echo "$pattern"
+13
mutt/generate_pattern_in.sh
···11+#!/bin/bash
22+33+file="$HOME/.config/mutt/screened_in.txt"
44+55+pattern=""
66+while IFS= read -r email; do
77+ # Escape any periods in email addresses
88+ email="${email//./\\.}"
99+ pattern="${pattern}!~f ${email} "
1010+done < "$file"
1111+1212+# Print out the pattern
1313+echo "$pattern"
+53-5
mutt/muttrc
···77# set imap_pass = "password"
88source ~/.dotfiles/zsh/.secret.muttrc
991010-1110set from = "simu@sspaeti.com"
1211set realname = "Simon Späti"
13121414-set spoolfile = "+INBOX"
1313+set spoolfile = "+Inbox"
1514set record = "+Sent"
1615set trash = "+Trash"
1716set postponed = "+Drafts"
···2019set ssl_starttls = yes
2120set ssl_force_tls = yes
22212323-mailboxes =INBOX =Waiting =Scheduled =Someday =Sent =Trash =Drafts =Junk =Archive =Others
2222+mailboxes =Inbox =ScreenedIn =Waiting =Scheduled =Someday =Sent =Trash =Drafts =Junk =Archive =Others =ScreenedOut
2323+2424+2525+# SCREENER
2626+# handling screening of senders (hide not important senders out of my inbox)
2727+# --> ignored emails are in .secret.muttrc above, but these are not moved to folder, just ignored in inbox
2828+2929+# Define a pattern for filtering emails from the specified sender
3030+# pattern index,sent,browser "from:"jack@jacksflightclub\.com "ScreenedOut"
3131+3232+3333+# # Define a macro to mark matching emails for deletion
3434+# macro index,pager X "|~b %s^$sender@example\.com\n" "Mark emails from sender@example.com for deletion"
3535+3636+# # Redirect marked emails to the "Blocked" folder (change the folder name if needed)
3737+# folder-hook . 'push -f +ScreenedOut ~b $sender@example\.com'
3838+3939+4040+4141+# macro index O "<save-message>+ScreenedOut<enter>" "Screen out this email"
4242+4343+# macro index,pager O "<save-message>=ScreenedOut<enter><next-undeleted>" "Screen out based on list"
4444+# macro index,pager A "<save-message>=Inbox<enter><next-undeleted>" "Accept based on list"
4545+# macro index,pager L ":limit ~f `cat ~/.config/mutt/screen_out.txt | tr '\n' '|'`<enter>" "Limit view to screen-out list"
4646+# macro index,pager U ":unlimit<enter>" "Remove limit"
4747+# :set limit="~f `cat ~/.config/mutt/screen_out.txt | tr '\n' '|' | sed 's/|$//'`"
4848+# macro index L ":exec pattern ~f `cat ~/.config/mutt/screen_out.txt | tr '\n' '|' | sed 's/|$//'`<enter>" "Limit view to screen-out list"
4949+# macro index U ":exec pattern .<enter>" "Remove limit"
5050+5151+# macro index,pager L "T!~f bla@bla\.com !~f no-reply@dsb-email\.dk<enter>" "Exclude emails from two addresses"
5252+5353+macro index,pager L "T`~/.config/mutt/generate_pattern.sh`<enter>" "Exclude emails from screen_out.txt"
5454+macro index,pager O "T`~/.config/mutt/generate_pattern_in.sh`<enter>" "Select accepted emails from screen_in.txt"
5555+24562557# Where to put the stuff
2658set header_cache = "~/.cache/mutt/headers"
···68100bind pager k previous-line
69101bind pager l view-attachments
70102bind index D delete-message
7171-bind index U undelete-message
7272-bind index L limit
103103+# bind index U undelete-message
104104+# bind index L limit
73105bind index h noop
74106bind index l display-message
75107bind index,query <space> tag-entry
···93125bind pager \005 next-line # Mouse wheel
94126bind editor <Tab> complete-query
95127128128+129129+130130+96131macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
97132macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
98133macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
···111146macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
112147macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
113148macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
149149+150150+macro index,pager gw "<change-folder>=Waiting<enter>" "go to waiting"
151151+macro index,pager Mw ";<save-message>=Waiting<enter>" "move mail to waiting"
152152+macro index,pager Cw ";<copy-message>=Waiting<enter>" "copy mail to waiting"
153153+154154+155155+macro index,pager gg "<change-folder>=ScreenedIn<enter>" "go to screened in"
156156+macro index,pager Mg ";<save-message>=ScreenedIn<enter>" "move mail to screened in"
157157+158158+macro index,pager go "<change-folder>=ScreenedOut<enter>" "go to screened out"
159159+macro index,pager Mo ";<save-message>=ScreenedOut<enter>" "move mail to screened out"
160160+161161+macro index,pager gl "<show-log-messages><enter>" "go to log messages"
114162115163# Sidebar mappings
116164set sidebar_visible = yes