dsh-appearance-english
v0.1.1
Published
Unified appearance coordinator for DeepSeek Harness Web: merges dsh-theme (palettes, fonts, sizes) and dsh-custom-workspace (per-workspace body typography) with a single source of truth for body font size.
Readme
dsh-appearance-english
A unified appearance coordinator: merges dsh-theme (palettes / font families / interface sizes) and dsh-custom-workspace (per-workspace body font size / line height / paragraph spacing / background) into a single plugin row, and defines a single source of truth for body font size, eliminating the mutual-override problem.
Coordination rules (why they no longer conflict)
Chat body text consumes exactly one CSS variable: .markdown { font: var(--dsw-font-markdown-base) }.
- The only source of body font size (
--dsw-font-markdown-*) = the workspace settings. Workspaces without an explicit setting inherit the DSH official default (16px / 28px). - The dsh-theme half no longer emits markdown-family overrides; its "interface size" only scales interface elements (sidebar, buttons, headings, and other UI tokens) without also enlarging the body text.
- The coordinator listens to
theme/change: every time the official theme presenter rewrites the body tokens, the coordinator re-applies the current workspace's appearance (workspace wins; unset fields fall back to the global theme).
Settings entry points
- Settings → Appearance: palettes (9 presets + custom), interface font, code font, interface size, code size (interface only — never body text).
- Settings → General settings → Workspace appearance: per-workspace background color/image, body font size, line height, paragraph spacing, Retina rendering.
Persistence
- Theme settings are stored in browser local storage (same as
dsh-theme, keydsh-theme/settings/v1). - Workspace appearance is stored in the
dsh-appearance-englishnamespace of$DSH_HOME/settings.yaml(host settings + loopback RPC).
Model footprint
None. It only affects browser rendering; it never enters model requests.
