-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Nikolai Sachok edited this page Jun 24, 2026
·
3 revisions
Living technical documentation for this plugin collection. The README is the quick start; this wiki is the why — the design, the platform mechanics, and the instructive bugs, written so anyone studying native macOS plugin development can learn from it.
- WLX Plugin Model — the Total Commander / Double Commander plugin ABI, how it maps onto macOS, and object-lifetime across the C boundary.
-
Markdown Plugin Architecture — the
markdown-wlxrendering pipeline end to end, with the design tradeoffs and two macOS gotchas (inline-script truncation; the Escape-key case study). -
MediaInfo Content Plugin (WDX) — the
media-info-wdxcontent plugin: the WDX field ABI, native ImageIO/AVFoundation/CGPDF backends, and two host-dependent bugs (an FP-exception crash under DC's FPC runtime; a detect-string gating gotcha). - Building, Testing & CI — the universal build, the headless test harnesses that load the real binary, and what CI verifies.
- Adding a New Plugin — a repeatable path to the next plugin at the same standard.
-
Native and universal. One
.wlxruns on Apple Silicon and Intel. No runtime, no interpreter — just a Mach-O dylib the hostdlopens. -
Prove the mechanism before writing the feature. Platform assumptions get a
small probe first (does
keyDown:even reach aWKWebViewsubclass?), so the fix targets the real cause instead of a guess. -
Test the artifact, not a mock. Harnesses
dlopenthe built plugin and drive the exact ABI Double Commander calls. - Root-cause over band-aid. When a bug appears, understand the platform behavior that produced it; the smallest correct fix usually follows.
- Safe to publish by construction. A generic secret/path/cruft gate runs in CI and pre-commit; third-party assets are vendored and attributed.