Recent-Clip Cache Size
What it does
The clips workspace table is backed by an in-memory cache of your most-recent clips plus all pinned clips. The cache is what powers fast scroll, filter, and multi-select — it’s the “warm” working set kept ready while older clips remain in the database, reachable only through the Filter bar.
Default cache size is 5000 clips. With this setting you can raise it (older clips also scroll into view, RAM goes up) or lower it (leaner RAM footprint, fewer clips on the table).
How to change it
Edit config.toml (found via Help → Open Config Folder) and set:
[clips]
recent_cache_size = 10000
| Range | What happens |
|---|---|
| 100 – 50000 | Used as-is. |
| Below 100 / above 50000 | Clamped to default (5000) with a warning in the log. |
Restart Blue Synergy to apply — the cache is built once at startup from the database.
When you’d raise it
- You have >5000 clips and want them all browsable in the workspace table without using the Filter bar.
- You have plenty of RAM and prefer responsive scrolling over a lean memory footprint.
- You frequently work with older clips (research notes, code archives) that the default cache window has dropped.
When you’d lower it
- You’re on a low-RAM machine (Windows VM, old laptop) and want Blue Synergy’s footprint smaller.
- You don’t keep many clips and 5000 is overkill.
- You only ever search — never scroll — and the cache window is wasted.
The cache-vs-DB indicator
The workspace status bar shows clip counts at the bottom. When the database has more non-deleted clips than the cache holds, the footer reads:
DB: 4823 / 12450 loaded
instead of the usual DB: 12450 total. Hover over it for a tooltip explaining the cache window and pointing you to the Filter bar (Ctrl+F) for searching the full database.
When the cache holds everything (e.g. you have fewer clips than the cache size), the indicator just shows the total — no visual noise.
How the cache is built
At startup, Blue Synergy loads (in this order):
- All pinned clips — pinned clips are always in the cache, regardless of age, so they’re always visible and instantly usable.
- All clips in any folder — folder-clips are sticky too. A clip you’ve intentionally organized into a folder stays in the working set.
- The N most-recent free-floating clips — where N is your
recent_cache_sizevalue.
This means the cache may hold more than N clips if you have lots of pinned or folder-organized clips. That’s intentional — the working set you care about most stays warm.
Performance impact
Each clip in the cache costs roughly 2-8 KB of RAM (depends on content length). At the default 5000:
- Idle RAM: typically under 50 MB total.
- 10000 clips: roughly +20 MB.
- 50000 clips: roughly +120 MB — workable but no longer “lean”.
Startup time grows linearly with cache size — at 50000 clips startup adds about 200-400 ms on a SATA SSD, less on NVMe.
Tips
- Don’t go above 50000 without a reason. The Filter bar (
Ctrl+F) searches the full database via FTS5 in milliseconds — for occasional access to old clips, that’s faster than keeping them warm. - The status indicator is your friend — when you see
loaded / totalwith a gap, you know older clips exist and need the Filter bar to reach them. - Pinned clips never expire from the cache even if the recent-cache window has moved past their original capture date.
Related features
- Search Syntax — How the Filter bar searches the full database
- Star Filter System — Star filters like
*type=IMG,*source=Chrome - App Retention Rules — How old clips are removed from the database entirely