feat(theme): add background image dim scrim slider

New terminal.backgroundImageDim setting (0-90%, default 0 = off). A black
scrim layer sits between the background image and the xterm screen, so
bright wallpapers stay readable at any opacity: unlike the opacity slider
(which blends the image toward the dark dock base), the scrim darkens the
image while preserving its saturation, and the raised minimumContrastRatio
(4.5) keeps lifted text legible on top.

- settings: backgroundImageDim with deepMerge type-fallback sanitize
- TerminalView: render .term-bg-dim only when image set and dim > 0
- ThemeSettingsTab: slider follows the existing draft + onChangeComplete
  pattern (no settings writes while dragging)
- i18n: settings.theme.backgroundImageDim(+Desc) in zh-CN/zh-TW/en/ja
- AGENTS.md: document the third image-mode invariant
This commit is contained in:
Bill committed 2026-10-07 21:24:27 +08:00
1 parent e16c860c7a
commit 6c04f0e8c1
9 files changed
+53 -2

No files matched your search

+2
View File
@@ -272,6 +272,8 @@ const settings: Record<string, string> = {
'settings.theme.chooseImage': '选择图片',
'settings.theme.clearImage': '移除图片',
'settings.theme.imageOpacity': '图片不透明度',
'settings.theme.backgroundImageDim': '背景压暗',
'settings.theme.backgroundImageDimDesc': '在图片之上叠加黑色压暗层,文字随之自动提亮;亮图建议 30–50%',
'settings.theme.customBadge': '自定义',
'settings.theme.deleteTitle': '删除自定义主题',
'settings.theme.create': '新建主题',