# preferences.jsonc

> **Owned by rmfmail. Do not edit this file — your changes will be overwritten the next time the app starts.** This is reference documentation.

## What this file documents

`preferences.jsonc` holds your shared UI / sync / autocomplete preferences, synced via `My Drive/home/.rmfmail/`.

## Shape

```jsonc
{
  "ui": {
    "theme": "system",            // "system" | "light" | "dark"
    "twoLine": false,             // two-line message-list rows
    "eleanorView": false,         // one-line ★|Subject|From|Date list (Thunderbird-classic)
    "previewPane": true,
    "previewSnippets": true,
    "threaded": false,
    "flaggedOnly": false,
    "folderCounts": false,
    "calendarSidebar": false,
    "editor": "quill"             // "quill" | "tiptap"
  },
  "sync": {
    "intervalMinutes": 5,         // full-sync interval (per-folder); IDLE handles INBOX inline
    "historyDays": 30,            // how far back to sync (overridable per-machine in config.jsonc)
    "prefetch": true              // background-fetch message bodies after metadata sync
  },
  "autocomplete": {
    "enabled": false,             // ghost-text completions in compose
    "provider": "ollama",         // "ollama" | "claude" | "openai"
    "translateEnabled": false,    // AI-powered Translate menu item in viewer
    "proofreadEnabled": false
  }
}
```

## Notes

- The View menu and Settings menu in the toolbar both write here.
- `sync.intervalMinutes` controls the full-folder sync cadence. INBOX uses RFC 2177 IDLE (instant push) on Dovecot accounts; Gmail accounts poll every 30s.
- `sync.historyDays` is a default; override per-machine via `config.jsonc`.
- AI features are off by default. Enabling `autocomplete.enabled` requires a configured provider (Ollama local, Claude API key, or OpenAI API key).
