vscode-theme-generator icon indicating copy to clipboard operation
vscode-theme-generator copied to clipboard

Refine background fallback values

Open Tyriar opened this issue 7 years ago • 3 comments

Right now background fallback colors are very rough based on a quick run through of the Dark+ theme. Maybe we can improve upon it?

The fallbacks we land on may eventually be upstreamed to VS Code.

Related: #22

Tyriar avatar Apr 05 '17 16:04 Tyriar

I went through the colors in https://github.com/Microsoft/vscode/issues/25327#issue-224236610 and came up with the following notes.

{
	"colors": {

		"foreground": "", // A base color
			"editorForeground": "",
			"inputBoxForeground": "",
			"dropdownForeground": "",
			"listActiveSelectionForeground": "",
			"listFocusAndSelectionForeground": "",
			"peekViewResultsMatchForeground": "",
			"peekViewResultsSelectionForeground": "",
			"peekViewResultsFileForeground": "",
			"titleBarActiveForeground": "",
			"titleBarInactiveForeground": "",
			"activeTabActiveGroupForeground": "",
			"activeTabInactiveGroupForeground": "",
			"inactiveTabActiveGroupForeground": "",
			"inactiveTabInactiveGroupForeground": "",
			"activityBarForeground": "",
			"activityBadgeForeground": "",
			"panelActiveTitleForeground": "",
			"panelInactiveTitleForeground": "",
			"sideBarTitleForeground": "",
			"statusBarForeground": "",
			"notificationsForeground": "",
			"pickerGroupForeground": "",
			"editorCursor": "",
			"editorLineNumbers": "",
			"peekViewTitle": "",
			"peekViewTitleInfo": "",

		// color1 (primary accent color)
			"editorActiveLinkForeground": "",
			"focusedElementOutline": "",
			"highContrastBorder": "",
			"highContrastOutline": "",
			"inputBoxActiveOptionBorder": "",
			"buttonBackground": "", // Message box button
				"buttonHoverBackground": "", // Message box button
			"statusBarDebuggingBackground": "",
			"peekViewBorder": "", // Draw attention to the peek view with accent
			"peekViewResultsSelectionBackground": "",

		// background
			"editorBackground": "",
			"inputBoxBackground": "",
			"dropdownBackground": "",
			"editorWidgetBackground": "",
			"errorBackground": "",
			"infoBackground": "",
			"warningBackground": "",
			"errorBorder": "",
			"infoBorder": "",
			"warningBorder": "",
			"editorHoverBackground": "",
			"editorHoverBorder": "",
			"editorMarkerNavigationBackground": "", // F8
			"editorSuggestWidgetBackground": "", // Intellisense, how to set active item? https://github.com/Microsoft/vscode/issues/23506#issuecomment-297538193
			"editorSuggestWidgetBorder": "",
			"editorGroupBorder": "", // Thin border between editor groups
			"tabBorder": "", // 1px border between tabs
			"tabsContainerBackground": "",
			"activeTabBackground": "",
			"inactiveTabBackground": "",
			"activityBarBackground": "",
			"activityBadgeBackground": "",
			"panelBackground": "",
			"panelTopBorder": "",
			"sideBarBackground": "",
			"statusBarBackground": "",
			"statusBarNoFolderBackground": "",
			"debugToolBarBackground": "",
			"debugExceptionWidgetBackground": "",
			"debugExceptionWidgetBorder": "",
			"notificationsBackground": "",
			"peekViewResultsBackground": "",
			"peekViewEditorBackground": "",
			"peekViewTitleBackground": "",

		// Transparent white
			"listActiveSelectionBackground": "",
			"listDropBackground": "",
			"listFocusAndSelectionBackground": "",
			"listFocusBackground": "",
			"listHoverBackground": "",
			"listInactiveFocusBackground": "",
			"listInactiveSelectionBackground": "",
			"editorLineHighlight": "",
			"editorLineHighlightBorder": "",
			"editorRangeHighlight": "", // Highlight on rows on find
			"editorDragAndDropBackground": "", // DND overlay
			"activityBarDragAndDropBackground": "",
			"panelActiveTitleBorder": "",
			"sideBarSectionHeaderBackground": "", // eg. Debug collapsible sections
			"statusBarItemActiveBackground": "", // Mouse down
			"statusBarItemHoverBackground": "",
			"pickerGroupBorder": "",
		
		// Defaults
		"widgetShadow": "",
		"inputBoxBorder": "",
		"dropdownBorder": "",
		"buttonForeground": "", // How can we ensure contrast is sufficient?
		"scrollbarShadow": "",
		"scrollbarSliderActiveBackground": "",
		"scrollbarSliderBackground": "",
		"scrollbarSliderHoverBackground": "",
		"editorWhitespaces": "",
		"editorSelection": "",
		"editorIndentGuides": "",
		"editorMarkerNavigationError": "", // F8
		"editorMarkerNavigationWarning": "", // F8
		"editorFindMatch": "",
		"editorFindMatchHighlight": "",
		"editorFindRangeHighlight": "",
		"editorHoverHighlight": "",
		"editorInactiveSelection": "",
		"editorLinkForeground": "", // Do we need this? https://github.com/Microsoft/vscode/issues/25474
		"editorSelectionHighlight": "",
		"editorSuggestMatchHighlight": "", // Intellisen, not sure what this does https://github.com/Microsoft/vscode/issues/23506#issuecomment-297538193
		"editorWordHighlight": "",
		"editorWordHighlightStrong": "",
		"diffInserted": "",
		"diffInsertedOutline": "",
		"diffRemoved": "",
		"diffRemovedOutline": "",
		"titleBarActiveBackground": "", // macOS only
		"titleBarInactiveBackground": "", // macOS only
		"terminalAnsiBlack": "",
		"terminalAnsiBlue": "",
		"terminalAnsiBrightBlack": "",
		"terminalAnsiBrightBlue": "",
		"terminalAnsiBrightCyan": "",
		"terminalAnsiBrightGreen": "",
		"terminalAnsiBrightMagenta": "",
		"terminalAnsiBrightRed": "",
		"terminalAnsiBrightWhite": "",
		"terminalAnsiBrightYellow": "",
		"terminalAnsiCyan": "",
		"terminalAnsiGreen": "",
		"terminalAnsiMagenta": "",
		"terminalAnsiRed": "",
		"terminalAnsiWhite": "",
		"terminalAnsiYellow": "",
		"editorHeaderBackground": "", // Falls back nicely
		"editorSideBySideBorder": "", // BinaryResourceDiffEditor...?
		"editorGroupBackground": "", // Not sure when this applies
		"statusBarInfoItemBackground": "", // ???
		"statusBarInfoItemHoverBackground": "", // ???
		"peekViewEditorMatchHighlight": "",
		"peekViewResultsMatchHighlight": "",
	}
}

Tyriar avatar Apr 26 '17 21:04 Tyriar

Discussion here https://github.com/Microsoft/vscode/issues/25482#issuecomment-298773156

Another option is a hybrid of the multiple-level deriving:

background
  > selection, +x% light
    > sidebar selection background
    ...
  > strong background, +x% light
    > sidebar background
    ....

Minimum requirements is just background here, but it's recommended that you fill in all the "core colors" (selection, strong background, focus, etc.).

Tyriar avatar May 02 '17 22:05 Tyriar

Some other thoughts I had on this was the idea of introducing "templates" which would need different sets of color, and color the different components differently (imagine the current model vs a flatter UI using the same color on sidebar, panel, editor, etc.

Tyriar avatar May 11 '17 19:05 Tyriar