mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Introduce IPC wire-format appearance DTOs (PluginIsolation.Contracts) and clarify they are distinct from the runtime PluginSdk snapshot. Update PluginSdk comments to document the runtime-facing snapshot shape. Change ComponentColorSchemeHelper to use the HostMaterialColorProvider and add an overload that accepts a MaterialColorSnapshot. Add new services and pipelines (MaterialColorService, MaterialSurfaceService, WindowMaterialService, WallpaperColorPipeline) and refactor AppearanceThemeService to depend on MaterialColorService while removing legacy internal implementations. Add multiple unit tests (ComponentColorSchemeHelper, PluginAppearanceBoundary, SettingsCatalogService, WallpaperSettingsPageViewModel) and update localization resources with new material_color and wallpaper keys.
LanMountainDesktop.PluginSdk
Official SDK package for LanMountainDesktop plugins.
Includes
IPlugin/PluginBaseentry abstractionsIPluginWorker/PluginWorkerBaseworker-side entry abstractions for isolated background modePluginManifestand shared contract declarationsruntime.modemanifest support forin-proc,isolated-background, andisolated-window- desktop component registration extensions
- plugin runtime context and host service abstractions
- build-transitive packaging targets for
.laappoutput
Quick Start
<ItemGroup>
<PackageReference Include="LanMountainDesktop.PluginSdk" Version="5.0.0" />
</ItemGroup>
Create plugin.json in your plugin project root, then run dotnet build to produce both build output and a .laapp package.