hatanokokosa/dsh-colorschemes

A color-scheme plugin for the DSH web GUI. It registers a set of themes, selectable from Settings > General > Color Scheme, and keeps hover popups (tooltips, hover cards) consistent with the active theme.

catalog 简介 / catalog descriptioncatalog description:A DSH ColorScheme Plugin

项目介绍Project Overview

这是 DSH Web GUI 的配色插件,在“设置 > 通用 > 配色方案”中注册 Catppuccin、Everforest、Nord 等七套主题,并让悬停弹窗随当前主题一致显示;选择会存入 localStorage 并在刷新、重启后保留。需要切换或扩展界面主题时使用。新增方案需编辑 schemes 数据并运行构建,构建要求 Node ≥23.6 及开发依赖。

This is a color-scheme plugin for the DSH web GUI. It registers seven built-in themes—Catppuccin, Everforest, and Nord variants—under Settings > General > Color Scheme, keeps hover popups consistent with the active theme, and persists the choice in localStorage across refresh and restart. Use it when switching or adding GUI themes. Adding a scheme requires editing typed scheme data and rebuilding; the build needs Node ≥23.6 plus dev dependencies.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:hatanokokosa/dsh-colorschemes

hatanokokosa/dsh-colorschemes 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

color-schemes

A color-scheme plugin for the DSH web GUI. It registers a set of themes, selectable from Settings > General > Color Scheme, and keeps hover popups (tooltips, hover cards) consistent with the active theme.

Features:

  • Seven built-in schemes: Catppuccin (Latte, Frappe, Macchiato, Mocha), Everforest (Dark, Light), Nord.
  • The selected scheme persists across refresh and restart (localStorage, key dsh.color-schemes.state).
  • Schemes are typed TypeScript data files in schemes/; a script rebuilds the client bundle. No UI code is touched when adding a scheme.

Install

The package is a bundle: package.json declares dsh.bundle.patch (./cordis.patch.yml), so installing it in any profile activates the plugin row automatically.

The package is not published to an npm registry yet. Two current sources:

Git:

dsh plugin --profile web add github:hatanokokosa/dsh-colorschemes

Tarball (offline or self-hosted; generated with pnpm pack in the package directory):

dsh plugin --profile web add ./color-schemes-1.0.0.tgz

Then restart dsh web; the Color Scheme row appears in Settings > General. The built lib/ is committed in the repository, so neither form needs a build step or build permission (a git install runs no prepare script, so no pnpm allowBuilds is required).

Remove with dsh plugin --profile web remove color-schemes.

Local development

Inside a profile (as in this repository) the package is linked as a file dependency instead:

  1. Put this package at web/ext/color-schemes.
  2. Add to web/package.json:
    "color-schemes": "file:./ext/color-schemes"
    
  3. Add to web/cordis.patch.yml:
    - insert:
        - id: color-schemes
          name: 'color-schemes'
    
  4. Link the package into web/node_modules (or run the profile's package manager), then restart dsh web.

Add a scheme

See schemes/README.md. The short version: create a new scheme file in schemes/, register it in schemes/index.ts, run npm run build.

lib/client.js is generated and committed; running it requires no build tooling. Building it requires Node >= 23.6 (native TypeScript type stripping) plus the dev dependencies (npm install inside this package): npm run build type-checks the sources with tsc and bundles src/client.ts + schemes/*.ts with esbuild into the loader bundle.

Uninstall

For a bundle install: dsh plugin --profile web remove color-schemes.

For a file-dependency install: remove the patch row from the profile's cordis.patch.yml, the color-schemes entry from web/package.json, and the web/node_modules/color-schemes link. The localStorage entry is inert once the plugin is gone.

License

BSD-2-Clause

上一个 Prev dsh-notification-sounds 下一个 Next deepseek-account