Windows SVG thumbnail shell extension (D + NanoSVG). Implements COM IThumbnailProvider + IInitializeWithStream.
Table of Contents
Thread-safe thumbnail provider designed so Windows can cache SVG previews consistently. Rasterization uses NanoSVG (C); the shell extension is written in D.
- Windows 10/11 x64
- D compiler (dmd or ldc)
- Visual Studio Build Tools with
clin PATH - Run once:
scripts/fetch_nanosvg.ps1to download NanoSVG headers
Optional Build Tools install:
winget install --id Microsoft.VisualStudio.2022.BuildTools -e.\scripts\fetch_nanosvg.ps1
dub build
# Optional:
.\scripts\build_dmd.ps1
.\scripts\build_llvm.ps1Output: bin/svgesus.dll.
- Copy
bin/svgesus.dllto a permanent location (e.g.C:\Program Files\svgesus\svgesus.dll). - Run as Administrator:
regsvr32 "C:\Program Files\svgesus\svgesus.dll". - Restart Explorer or log off and back on.
Uninstall: regsvr32 /u "C:\Program Files\svgesus\svgesus.dll" (as Admin).
After registration, SVG files should show thumbnails in Explorer. If caching fails:
- Handler may be failing intermittently (Explorer skips cache).
- OneDrive Files On-Demand can block local thumbnail generation.
- Folder Options → View → ensure “Always show icons, never thumbnails” is unchecked.
Registered with DisableProcessIsolation = 1 for in-process reliability.
See docs/LANGUAGE_CHOICE.adoc for language/design notes.
Fork, branch, and open a pull request.
For per-person profile links, prefer all-contributors.
See CHANGELOG.md for the project history.
MIT.
Ryan Johnson — @amdphreak
Project Link: https://github.com/AMDphreak/svgesus
Site: https://ryanjohnson.dev