2021-07-09 22:43:58 +02:00
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
|
|
// Licensed under the MIT license.
|
|
|
|
|
|
|
|
import "EnumEntry.idl";
|
|
|
|
import "MainPage.idl";
|
|
|
|
import "Profiles.idl";
|
|
|
|
|
|
|
|
#include "ViewModelHelpers.idl.h"
|
|
|
|
|
|
|
|
#define OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Type, Name) \
|
|
|
|
OBSERVABLE_PROJECTED_SETTING(Type, Name); \
|
|
|
|
Object Name##OverrideSource { get; }
|
|
|
|
|
|
|
|
namespace Microsoft.Terminal.Settings.Editor
|
|
|
|
{
|
|
|
|
runtimeclass Font : Windows.Foundation.IStringable
|
|
|
|
{
|
|
|
|
String Name { get; };
|
|
|
|
String LocalizedName { get; };
|
|
|
|
}
|
|
|
|
|
|
|
|
runtimeclass AppearanceViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
|
|
{
|
2021-07-14 01:33:22 +02:00
|
|
|
Boolean IsDefault;
|
|
|
|
|
2021-08-04 00:25:23 +02:00
|
|
|
void SetFontWeightFromDouble(Double fontWeight);
|
|
|
|
void SetBackgroundImageOpacityFromPercentageValue(Double percentageValue);
|
|
|
|
void SetBackgroundImagePath(String path);
|
|
|
|
|
2021-07-09 22:43:58 +02:00
|
|
|
Boolean UseDesktopBGImage;
|
|
|
|
Boolean BackgroundImageSettingsVisible { get; };
|
|
|
|
|
|
|
|
Windows.Foundation.Collections.IMapView<String, Microsoft.Terminal.Settings.Model.ColorScheme> Schemes;
|
|
|
|
IHostedInWindow WindowRoot; // necessary to send the right HWND into the file picker dialogs.
|
|
|
|
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, FontFace);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Int32, FontSize);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Text.FontWeight, FontWeight);
|
|
|
|
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, ColorSchemeName);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, RetroTerminalEffect);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Core.CursorStyle, CursorShape);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(UInt32, CursorHeight);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, BackgroundImagePath);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Double, BackgroundImageOpacity);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Xaml.Media.Stretch, BackgroundImageStretchMode);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.ConvergedAlignment, BackgroundImageAlignment);
|
Add an ENUM setting for disabling rendering "intense" text as bold (#10759)
## Summary of the Pull Request
This adds a new setting `intenseTextStyle`. It's a per-appearance, control setting, defaulting to `"all"`.
* When set to `"all"` or `["bold", "bright"]`, then we'll render text as both **bold** and bright (1.10 behavior)
* When set to `"bold"`, `["bold"]`, we'll render text formatted with `^[[1m` as **bold**, but not bright
* When set to `"bright"`, `["bright"]`, we'll render text formatted with `^[[1m` as bright, but not bold. This is the pre 1.10 behavior
* When set to `"none"`, we won't do anything special for it at all.
## references
* I last did this in #10648. This time it's an enum, so we can add bright in the future. It's got positive wording this time.
* ~We will want to add `"bright"` as a value in the future, to disable the auto intense->bright conversion.~ I just did that now.
* #5682 is related
## PR Checklist
* [x] Closes #10576
* [x] I seriously don't think we have an issue for "disable intense is bright", but I'm not crazy, people wanted that, right? https://github.com/microsoft/terminal/issues/2916#issuecomment-544880423 was the closest
* [x] I work here
* [x] Tests added/passed
* [x] https://github.com/MicrosoftDocs/terminal/pull/381
## Validation Steps Performed
<!-- ![image](https://user-images.githubusercontent.com/18356694/125480327-07f6b711-6bca-4c1b-9a76-75fc978c702d.png) -->
![image](https://user-images.githubusercontent.com/18356694/128929228-504933ee-cf50-43a2-9982-55110ba39191.png)
Yea that works. Printed some bold text, toggled it on, the text was no longer bold. hooray.
### EDIT, 10 Aug
```json
"intenseTextStyle": "none",
"intenseTextStyle": "bold",
"intenseTextStyle": "bright",
"intenseTextStyle": "all",
"intenseTextStyle": ["bold", "bright"],
```
all work now. Repro script:
```sh
printf "\e[1m[bold]\e[m[normal]\e[34m[blue]\e[1m[bold blue]\e[m\n"
```
2021-08-16 15:45:56 +02:00
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.IntenseStyle, IntenseTextStyle);
|
2021-10-08 00:43:17 +02:00
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, AdjustIndistinguishableColors);
|
2021-07-09 22:43:58 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
[default_interface] runtimeclass Appearances : Windows.UI.Xaml.Controls.UserControl, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
|
|
{
|
|
|
|
Appearances();
|
|
|
|
AppearanceViewModel Appearance;
|
|
|
|
ProfileViewModel SourceProfile;
|
|
|
|
static Windows.UI.Xaml.DependencyProperty AppearanceProperty { get; };
|
|
|
|
|
|
|
|
Boolean UsingMonospaceFont { get; };
|
|
|
|
Boolean ShowAllFonts;
|
|
|
|
|
|
|
|
IInspectable CurrentCursorShape;
|
|
|
|
Boolean IsVintageCursor { get; };
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CursorShapeList { get; };
|
|
|
|
|
|
|
|
Microsoft.Terminal.Settings.Model.ColorScheme CurrentColorScheme;
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Model.ColorScheme> ColorSchemeList { get; };
|
|
|
|
|
|
|
|
IInspectable CurrentBackgroundImageStretchMode;
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> BackgroundImageStretchModeList { get; };
|
|
|
|
|
|
|
|
IInspectable CurrentFontWeight;
|
|
|
|
Boolean IsCustomFontWeight { get; };
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FontWeightList { get; };
|
|
|
|
|
|
|
|
IInspectable CurrentFontFace { get; };
|
2021-08-04 00:25:23 +02:00
|
|
|
Windows.UI.Xaml.Controls.Slider BIOpacitySlider { get; };
|
Add an ENUM setting for disabling rendering "intense" text as bold (#10759)
## Summary of the Pull Request
This adds a new setting `intenseTextStyle`. It's a per-appearance, control setting, defaulting to `"all"`.
* When set to `"all"` or `["bold", "bright"]`, then we'll render text as both **bold** and bright (1.10 behavior)
* When set to `"bold"`, `["bold"]`, we'll render text formatted with `^[[1m` as **bold**, but not bright
* When set to `"bright"`, `["bright"]`, we'll render text formatted with `^[[1m` as bright, but not bold. This is the pre 1.10 behavior
* When set to `"none"`, we won't do anything special for it at all.
## references
* I last did this in #10648. This time it's an enum, so we can add bright in the future. It's got positive wording this time.
* ~We will want to add `"bright"` as a value in the future, to disable the auto intense->bright conversion.~ I just did that now.
* #5682 is related
## PR Checklist
* [x] Closes #10576
* [x] I seriously don't think we have an issue for "disable intense is bright", but I'm not crazy, people wanted that, right? https://github.com/microsoft/terminal/issues/2916#issuecomment-544880423 was the closest
* [x] I work here
* [x] Tests added/passed
* [x] https://github.com/MicrosoftDocs/terminal/pull/381
## Validation Steps Performed
<!-- ![image](https://user-images.githubusercontent.com/18356694/125480327-07f6b711-6bca-4c1b-9a76-75fc978c702d.png) -->
![image](https://user-images.githubusercontent.com/18356694/128929228-504933ee-cf50-43a2-9982-55110ba39191.png)
Yea that works. Printed some bold text, toggled it on, the text was no longer bold. hooray.
### EDIT, 10 Aug
```json
"intenseTextStyle": "none",
"intenseTextStyle": "bold",
"intenseTextStyle": "bright",
"intenseTextStyle": "all",
"intenseTextStyle": ["bold", "bright"],
```
all work now. Repro script:
```sh
printf "\e[1m[bold]\e[m[normal]\e[34m[blue]\e[1m[bold blue]\e[m\n"
```
2021-08-16 15:45:56 +02:00
|
|
|
|
|
|
|
IInspectable CurrentIntenseTextStyle;
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> IntenseTextStyleList { get; };
|
2021-07-09 22:43:58 +02:00
|
|
|
}
|
|
|
|
}
|