### 插件 @id matugen-next ### 脚本 https://raw.githubusercontent.com/macOS-Terminal/splayer-matugen-plugin/main/matugen-next.js ### 说明 #### 功能简介 让 SPlayer-Next 的配色实时跟随 [Matugen](https://github.com/InioX/matugen) 生成的 Material You 配色,并在「设置 → 外观设置 → 主题色来源」下拉框中新增 **Matugen** 选项。 换壁纸 → Matugen 重新配色 → 播放器秒级跟随,全程无需重启。 #### 核心特性 - 🎨 **实时跟随**:Matugen 每次生成新配色后约 1 秒内播放器自动换色,无需任何操作 - 🧩 **原生集成**:下拉框新增「Matugen」选项,与「默认主题色 / 自定义主色 / 跟随封面 / 无主题色」并列 - 🔄 **免重启、免改启动参数**:通过 Node inspector 通道注入渲染进程,首次注入后在主进程留常驻 agent,后续换色不再开关通道 - 🪶 **只传种子色**:调色板由播放器自身用 `material-color-utilities` 生成,与原生配色完全一致,不硬编码颜色 - 💾 **状态持久化**:重启后仍记得选择,并自动应用最新种子色 - 🛡️ **零网络请求**:只读本地 Matugen 输出与本机回环调试端口,不访问任何外部网络 - 🌍 **多平台**:Linux 已实机验证;macOS / FreeBSD / Windows 已完成代码级适配 #### 使用方式 1. 设置 → 插件管理 → 本地导入 `matugen-next.js` 2. 插件首次启动会自动向 `matugen/config.toml` 追加模板并写出种子色文件(可在设置中关闭,原文件自动备份) 3. 设置 → 外观设置 → 主题色来源 → **Matugen** #### 项目地址与文档 - **开源仓库**:https://github.com/macOS-Terminal/splayer-matugen-plugin - **开源协议**:[MIT](https://github.com/macOS-Terminal/splayer-matugen-plugin/blob/main/LICENSE) #### 技术说明 插件运行在 SPlayer-Next 的共享插件宿主(`node:vm` 沙箱,无 DOM)。为了在应用未开启 `--remote-debugging-port` 的前提下把颜色送进渲染进程,插件通过宿主 `Buffer` 取得真实 `process`,再用 `process._debugProcess(mainPid)` 临时开启主进程 inspector,注入一段常驻 agent 后延时 `_debugEnd()` 关闭;该 agent 轮询本插件状态文件并负责后续所有换色注入与渲染进程重载后的自动补回。 主题来源未新增真实 `source` 取值(避免破坏播放器内部枚举判断),而是在 store 上定义虚拟属性 `matugenSource`,内部映射为 `source = 'custom'` + `customColor = 种子色` + `imageBackground.matugenActive = true`,因此播放器自身的 `watch → applyThemeToDOM` 链路完全照常工作。 #### 已知限制 - 依赖插件沙箱可访问宿主 `Buffer`(官方文档已说明插件沙箱不是安全边界),当前 `apiLevel 5` 可用 - inspector 通道固定占用 `127.0.0.1:9229`;若该端口被占用则退回 CDP 模式 - macOS / FreeBSD / Windows 为代码级适配,尚未真机验证 ### 确认 - [x] 我对脚本内容与合法性负责
Activity
github-actions commentedon Nov 14, 2026
@macOS-Terminal ✅ 校验通过,新插件,已提交 PR 待维护者审查:#32