feat: custom terminal background image + theme editor hardening
- settings: backgroundImage/backgroundImageOpacity (10..100, default 60) - main: otimg:// protocol serves only the configured background file (path-allowlisted, 403 otherwise); dev http origin cannot load file: - TerminalView: allowTransparency + transparent theme background while an image is set; .term-bg-image layer behind the xterm surface - terminal.css: .has-bg-image keeps .xterm-viewport transparent — the old chrome-bg pin covered the image layer (root cause of image not showing) - ThemeSettingsTab: image picker + opacity slider - ThemeEditor: duplicate-name hint now covers builtin names too; seed colors normalized to #rrggbb - settingsStore: sanitize theme colors, reject non-hex values
This commit is contained in:
1 parent
c94e0fbac7
commit
481f54ed59
13 files changed
+187
-17
No files matched your search
@@ -139,12 +139,18 @@ const settings: Record<string, string> = {
|
||||
'settings.highlight.builtin.url': 'Web links',
|
||||
'settings.theme.accent': 'Tab accent color',
|
||||
'settings.theme.accentDesc': 'Accent color for the active tab border, the sidebar indicator, and SSH badges',
|
||||
'settings.theme.backgroundImage': 'Background image',
|
||||
'settings.theme.backgroundImageDesc': 'Show an image behind the terminal; remove it to go back to a solid background',
|
||||
'settings.theme.chooseImage': 'Choose image',
|
||||
'settings.theme.clearImage': 'Remove',
|
||||
'settings.theme.imageOpacity': 'Image opacity',
|
||||
'settings.theme.customBadge': 'Custom',
|
||||
'settings.theme.deleteTitle': 'Delete custom theme',
|
||||
'settings.theme.create': 'New theme',
|
||||
'settings.theme.editTitle': 'Edit theme',
|
||||
'settings.themeEditor.name': 'Name',
|
||||
'settings.themeEditor.namePlaceholder': 'Theme name',
|
||||
'settings.themeEditor.duplicateName': 'Same name as another theme (saving is still allowed)',
|
||||
'settings.themeEditor.copySuffix': ' (copy)',
|
||||
'settings.about.currentVersion': 'Current version',
|
||||
'settings.about.statusIdle': 'Click to check for updates',
|
||||
|
||||
Reference in new issue
Block a user