diff options
Diffstat (limited to 'modules/programs/neomutt')
| -rw-r--r-- | modules/programs/neomutt/default.nix | 37 | ||||
| -rw-r--r-- | modules/programs/neomutt/theme.nix | 102 |
2 files changed, 82 insertions, 57 deletions
diff --git a/modules/programs/neomutt/default.nix b/modules/programs/neomutt/default.nix index b144af0..3626341 100644 --- a/modules/programs/neomutt/default.nix +++ b/modules/programs/neomutt/default.nix @@ -50,7 +50,7 @@ in NeoMutt Index Flags =================== - Message state ($flag_chars) + Message state ($flag_chars) -- unchanged defaults N New - unread, arrived since you last checked O Old - unread, but seen in a previous session D Deleted - marked for deletion (pending expunge) @@ -58,18 +58,21 @@ in ! Flagged - important (toggle with F) * Tagged - selected for a bulk operation (toggle with t) r Replied - you've replied to this message - S Signed - PGP/SMIME signed - P Encrypted - PGP/SMIME encrypted - s Cert - contains a S/MIME certificate/key - K PGP key - contains a PGP public key (blank) - read, nothing else notable + Cryptography ($crypt_chars) + Verified - signed, and the signature checks out + Encrypted - PGP/SMIME encrypted + Signed - PGP/SMIME signed (unverified) + PGP key - message contains a PGP public key + (blank) - no cryptography info + Addressing ($to_chars) - + To you only - sent to you and only you - T To (with others) - you're in the To: list, among others - C Cc only - you're only in the Cc: list - F From you - sent by you - L Mailing list - sent to a list you're subscribed to + To you only - sent to you and only you + To (with others) - you're in the To: list, among others + Cc only - you're only in the Cc: list + From you - sent by you + Mailing list - sent to a list you're subscribed to (blank) - not in To/Cc (e.g. Bcc, unlisted) Press q to close. @@ -359,6 +362,20 @@ in action = "next-unread-mailbox"; } + # --- filter/limit (vim: gf to 'find' or 'filter') --- + { + map = [ "index" ]; + key = "gf"; + action = "limit"; + } + + # --- filter/limit (vim: gf to 'find' or 'filter') --- + { + map = [ "index" ]; + key = "gF"; + action = "limit"; + } + # --- help message to show functions and keybindings --- { map = [ diff --git a/modules/programs/neomutt/theme.nix b/modules/programs/neomutt/theme.nix index b770975..52845ee 100644 --- a/modules/programs/neomutt/theme.nix +++ b/modules/programs/neomutt/theme.nix @@ -9,29 +9,36 @@ # Base16 OneDark Dark terminal colors for neomutt # Each column in the index receives a distinct color to keep the UI organized. - set index_format = " %5C │ %Z │ %{%d/%m/%y %H:%M} │ %-25.25a │ %s%* " + # Nerd Font icon-based flag/attachment/crypto indicators + # order: new, old, deleted, flagged, replied, old(unused), tagged, encrypt, ... + set flag_chars = "" + set to_chars = " " + set crypt_chars = " " + set attach_format = "%u%D%I %t%4n %T%.40d %> [%m/%M, %e%?C?, %C?, %s] " + + set index_format = " %5C │ %Z │ %{%d/%m/%y %H:%M} │ %-25.25a │ %s%* " # Hide the keybindings help bar at the top to save vertical space set help = no - # Empty the status bar content - set status_format = " Unread: %5u │ New: %5n │ Tagged: %5t %> Filter: %V │ Sorted By: %s │" + # Status bar with Nerd Font icons per field + set status_format = " Unread: %5u │ New: %5n │ Tagged: %5t │ Search: %f │ Filter: %v │ Sorted By: %s │" # --- Basic UI Colors -------------------------------------------------- # target foreground background color normal white default # base05 (Standard text) - color error red default # base08 (Red) + color error red default # base08 (Red) color tilde brightblack default # base03 (Dark Grey) - color message cyan default # base0C (Cyan) - color markers red default # base08 (Red) - color attachment magenta default # base0E (Magenta) - color search magenta default # base0E (Magenta) - color prompt cyan default # base0C (Questions/prompts) - color progress black yellow # base0A bg (Progress bar) + color message cyan default # base0C (Cyan) + color markers red default # base08 (Red) + color attachment magenta default # base0E (Magenta) + color search magenta default # base0E (Magenta) + color prompt cyan default # base0C (Questions/prompts) + color progress black yellow # base0A bg (Progress bar) # Selected row and status bar color status white brightblack # base05 on base03 - color indicator default brightblack # default on base03 (Selected email) + color indicator default brightblack # default on base03 (Selected email) color tree magenta default # base03 (Thread arrows) # Whole-line fallback for the index (base for anything not caught below) @@ -39,54 +46,54 @@ # --- Index Columns (The Multi-Color Table) ---------------------------- # Applies distinct colors to specific columns for ALL messages (~A) - color index_number cyan default "~A" # base05 (Fixed: was brightblack) - color index_date green default "~A" # base0B (Green) - color index_flags red default "~A" # base08 (Red) - color index_size cyan default "~A" # base0C (Cyan) - color index_author yellow default "~A" # base0A (Yellow) - color index_subject white default "~A" # base05 (Standard text for Read messages) - color index_collapsed yellow default # base0A (Collapsed thread count, %M) - color index_label magenta default # base0E (Message label, %y %Y) - color index_tag cyan default # base0C (Message tags, %G) - color index_tags cyan default # base0C (Transformed tags, %g %J) + color index_number cyan default "~A" # base05 (Fixed: was brightblack) + color index_date green default "~A" # base0B (Green) + color index_flags red default "~A" # base08 (Red) + color index_size cyan default "~A" # base0C (Cyan) + color index_author yellow default "~A" # base0A (Yellow) + color index_subject white default "~A" # base05 (Standard text for Read messages) + color index_collapsed yellow default # base0A (Collapsed thread count, %M) + color index_label magenta default # base0E (Message label, %y %Y) + color index_tag cyan default # base0C (Message tags, %G) + color index_tags cyan default # base0C (Transformed tags, %g %J) # --- Index Message States --------------------------------------------- - # By targeting *only* `index_subject`, we preserve your multi-color + # By targeting *only* `index_subject`, we preserve your multi-color # columns while still easily identifying unread or flagged emails. - color index_subject blue default "~U" # Unread: Blue (base0D) - color index_subject blue default "~N" # New: Blue (base0D) - color index_subject red default "~F" # Flagged: Red (base08) - color index_subject magenta default "~Q" # Replied: Magenta (base0E) - color index_subject black red "~D" # Deleted + color index_subject blue default "~U" # Unread: Blue (base0D) + color index_subject blue default "~N" # New: Blue (base0D) + color index_subject red default "~F" # Flagged: Red (base08) + color index_subject magenta default "~Q" # Replied: Magenta (base0E) + color index_subject black red "~D" # Deleted # This rule now colors the "email (name)" column as it is considered the 'author' color index_author yellow default "~A" color index_subject white default "~A" # %s - # We removed the ~R (Read) override so it stays white. + # We removed the ~R (Read) override so it stays white. # For Deleted (~D), if brightblack is still too dark to see, we can use a red background instead: - color index_subject black red "~D" # Deleted: Black on Red background + color index_subject black red "~D" # Deleted: Black on Red background # Thread collapsing states - color index_subject yellow default "~v" # Collapsed thread - color index_subject blue default "~v~(~N)" # Collapsed with unread inside - color index_subject red default "~v~(~F)" # Collapsed with flagged inside + color index_subject yellow default "~v" # Collapsed thread + color index_subject blue default "~v~(~N)" # Collapsed with unread inside + color index_subject red default "~v~(~F)" # Collapsed with flagged inside # Subtle zebra striping between adjacent index rows (barely-there contrast) color stripe_odd default default color stripe_even default default # --- Message Headers -------------------------------------------------- - color hdrdefault cyan default # base0C - color header yellow default "^(From|To|Cc|Bcc)" # base0A - color header blue default "^(Subject)" # base0D - color header green default "^(Date)" # base03 + color hdrdefault cyan default # base0C + color header yellow default "^(From|To|Cc|Bcc)" # base0A + color header blue default "^(Subject)" # base0D + color header green default "^(Date)" # base03 # Attachment header lines (shown above each MIME part in the pager) - color attach_headers cyan default + color attach_headers cyan default # # --- Message Body ----------------------------------------------------- - color quoted blue default # base0D + color quoted blue default # base0D color quoted1 cyan default # base0C color quoted2 yellow default # base0A color quoted3 red default # base08 @@ -97,7 +104,7 @@ color quoted8 red default # base08 color quoted9 magenta default # base0E - color signature green default # base0B + color signature green default # base0B color bold white default # base05 color underline white default # base05 @@ -105,18 +112,19 @@ color body blue default "([a-z][a-z0-9+-]*://[^ ]+)" # PGP - color body green default "(Good signature)" - color body red default "(BAD signature)" - color body brightblack default "^gpg: " + color body green default "(Good signature)" # verified + color body red default "(BAD signature)" # bad + color body brightblack default "^gpg: " # # --- Sidebar (was completely unset despite sidebar.enable = true) ----- + set sidebar_format = " %D%* %?N? %N?%?F? %F? " color sidebar_background default default # transparent, blends with terminal bg color sidebar_divider white default # base03 (matches old tree color) - color sidebar_ordinary white default # base05 (normal mailbox entries) - color sidebar_new green default # base0B (mailboxes with new mail) - color sidebar_flagged red default # base08 (mailboxes with flagged mail) - color sidebar_spool_file yellow default # base0A (your inbox/spool) + color sidebar_ordinary white default # base05 (normal mailbox entries) + color sidebar_new green default # base0B (mailboxes with new mail) + color sidebar_flagged red default # base08 (mailboxes with flagged mail) + color sidebar_spool_file yellow default # base0A (your inbox/spool) color sidebar_highlight white brightblack # base05 on base03 (cursor position) - color sidebar_indicator default brightblack # default on base03 (currently open mailbox) + color sidebar_indicator default brightblack # default on base03 (currently open mailbox) ''; } |
