phosphor-registry
Factory-by-name registry and plugin loader for shell extension seams.
Generalises the per-domain registry pattern into one Registry<T> template the shell instantiates once per UI seam: bar widgets, control-center tiles, launcher providers, OSDs, and desktop widgets. Built-ins register explicitly at the composition root, with no static-init magic. It also owns the plugin path, scanning .so plus manifest.json bundles under ~/.local/share/phosphor/plugins/, validating their ABI, and hot-reloading them on disk change.
Key types
Registry<T>T factories keyed by T::id(), one per composition root.IFactoryBaseid(), displayName(), capabilities().PluginLoader.so plus manifest, and hot-reloads on disk change.Manifestmanifest.json; parse() validates ABI version and required fields.Dependencies
QtCoreQtQmlphosphor-fsloader
See also
References
- Full API reference → Doxygen-generated page for
PhosphorRegistry. - Namespace index Every symbol under
PhosphorRegistry::.