A minimal email TUI where you read with Markdown and write in Neovim. neomd.ssp.sh/docs
email markdown neovim tui
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

add gmail dedicated configs

sspaeti ca463672 4bdc1290

+61
+1
docs/configuration.md
··· 46 46 spam = "spam" #check capitalization of your pre-existing Spam folder, sometimes might be `Spam` with `S` 47 47 # tab_order controls the left-to-right tab sequence; omit to use the built-in default order. e.g.: 48 48 # tab_order = ["inbox", "to_screen", "feed", "papertrail", "waiting", "someday", "scheduled", "sent", "archive", "screened_out", "drafts", "trash"] 49 + # Gmail uses different folder names — see docs/gmail.md for the correct mapping. 49 50 50 51 [ui] 51 52 theme = "dark" # dark | light | auto
+60
docs/gmail.md
··· 1 + # Gmail Configuration 2 + 3 + Gmail uses special IMAP folder names prefixed with `[Gmail]/`. neomd works with Gmail, but requires adjusted folder mappings and comes with performance caveats. 4 + 5 + ## Folder Mapping 6 + 7 + Gmail has built-in system folders that must be referenced by their IMAP names. Custom neomd folders (ToScreen, Feed, etc.) are created as regular labels. 8 + 9 + ```toml 10 + [folders] 11 + inbox = "INBOX" 12 + sent = "[Gmail]/Sent Mail" 13 + trash = "[Gmail]/Trash" 14 + drafts = "[Gmail]/Drafts" 15 + to_screen = "ToScreen" 16 + feed = "Feed" 17 + papertrail = "PaperTrail" 18 + screened_out = "ScreenedOut" 19 + archive = "Archive Neomd" 20 + waiting = "Waiting" 21 + scheduled = "Scheduled Neomd" 22 + someday = "Someday" 23 + spam = "[Gmail]/Spam" 24 + tab_order = ["inbox", "to_screen", "feed", "papertrail", "waiting", "someday", "scheduled", "sent", "archive", "screened_out", "trash"] 25 + ``` 26 + 27 + ### Why "Archive Neomd" and "Scheduled Neomd"? 28 + 29 + Gmail reserves `[Gmail]/All Mail` for its own archive (which includes all labeled emails, not just archived ones). Using it as neomd's archive would mix archived emails with everything else. `Archive Neomd` creates a clean, dedicated folder. 30 + 31 + Similarly, Gmail doesn't expose its scheduled send feature via IMAP, so `[Gmail]/Scheduled` doesn't exist. `Scheduled Neomd` avoids Gmail creating it under `[IMAP]/Scheduled`. 32 + 33 + ### Gmail system folders reference 34 + 35 + | Gmail folder | IMAP name | 36 + |---|---| 37 + | Inbox | `INBOX` | 38 + | Sent Mail | `[Gmail]/Sent Mail` | 39 + | Drafts | `[Gmail]/Drafts` | 40 + | Trash | `[Gmail]/Trash` | 41 + | Spam | `[Gmail]/Spam` | 42 + | All Mail | `[Gmail]/All Mail` | 43 + | Starred | `[Gmail]/Starred` | 44 + | Important | `[Gmail]/Important` | 45 + 46 + ## Performance Warning 47 + 48 + Gmail's IMAP is significantly slower than dedicated email providers. On a sustained session, each IMAP command takes ~180ms on Gmail vs ~12ms on providers like Hostpoint or Fastmail. This means every folder switch, email open, and move feels noticeably slower (~570ms vs ~33ms per folder switch). 49 + 50 + See the [Benchmark section](../README.md#benchmark) in the README for detailed measurements. 51 + 52 + For the best neomd experience, consider a dedicated email provider. If you still want to use Gmail, it works — just expect ~1 second per action instead of instant. 53 + 54 + ## App Password 55 + 56 + Gmail requires an app-specific password for IMAP access: 57 + 58 + 1. Enable 2-Step Verification at https://myaccount.google.com/security 59 + 2. Generate an app password at https://myaccount.google.com/apppasswords 60 + 3. Use the generated password in your `config.toml` (not your Gmail password)