terminal/src/cascadia
Georgi Baychev 624a553d23
Add support for setting a tab's color at runtime w/ context menu (#3789)
This commit introduces a context menu for Tab and a new item,
"Color...", which will display a color picker.

A flyout menu, containing a custom flyout, is attached to each tab. The
flyout displays a palette of 16 preset colors and includes a color
picker. When the user selects or clears color, an event is fired, which
is intercepted by the tab to which the flyout belongs.

The changing of the color is achieved by putting the selected color in
the resource dictionary of the tab, using well-defined dictionary keys
(e.g. TabViewItemHeaderBackground). Afterwards the visual state of the
tab is toggled, so that the color change is visible immediately.

Custom-colored tabs will be desaturated (somewhat) by alpha blending
them with the tab bar background.

The flyout menu also contains a 'Close' flyout item.

## Validation Steps Performed
I've validated the behavior manually: start the program via the start
menu. Right click on the tab -> Choose a tab color.

The color flyout is going to be shown. Click a color swatch or click
'Select a custom color' to use the color picker. Use the 'Clear the
current color' to remove the custom color.

Closes #2994. References #3327.
2020-05-04 20:57:12 +00:00
..
CascadiaPackage Remove the (Preview) tag from the primary App Name (#5679) 2020-05-01 16:30:16 +00:00
inc ci: run spell check in CI, fix remaining issues (#4799) 2020-03-25 11:02:53 -07:00
LocalTests_TerminalApp Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
PublicTerminalCore Remove the title tag from the generated HTML (#5595) 2020-04-29 16:41:56 -07:00
TerminalApp Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
TerminalAzBridge Add explicit identifier to some constructors (#5652) 2020-04-29 16:50:47 -07:00
TerminalConnection Add WT_PROFILE_ID to the environment of the spawned process (#4852) 2020-04-17 17:15:20 +00:00
TerminalControl Grab the write lock before updating the font (#5654) 2020-04-30 00:05:29 +00:00
TerminalCore Clamp the new rows scrolling value to a positive number (#5630) 2020-04-29 19:28:59 +00:00
TerminalSettings Rework and simplify selection in TermControl (#5096) 2020-03-25 21:09:49 +00:00
UnitTests_TerminalCore Implement a pair of shims for cls, Clear-Host in conpty mode (#5627) 2020-04-30 21:53:31 +00:00
ut_app Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
WindowsTerminal Add support for displaying the version with wt --version (#5501) 2020-05-04 20:56:15 +00:00
WindowsTerminalUniversal build: move oss required to build conhost out of dep/ (#5451) 2020-04-21 14:43:09 -07:00
WinRTUtils deps: upgrade CppWinRT to 2.0.200316.3, gsl to v2.1.0 (#4536) 2020-03-23 17:15:24 +00:00
WpfTerminalControl wpf: only dismiss selection for real chars, not modifiers (#5388) 2020-04-17 11:28:56 -07:00
CascadiaResources.build.items On second thought, embed the third-party notices in the package (#5673) 2020-04-30 15:06:13 -07:00