227ec3777a
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Adds a new bellStyle called `window`. When `window` is set and a BEL is emitted, we flash the pane that emitted it. Additionally, changes bellStyle in the SUI to a list of checkboxes instead of radio buttons, to match bellStyle being a flag-enum. Deprecates 'BellStyle::Visual' in the schema, but still allows it to be set in the json (it maps to `Window | Taskbar`) <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References #6700 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed GIF in Teams
136 lines
6.8 KiB
Plaintext
136 lines
6.8 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "EnumEntry.idl";
|
|
import "MainPage.idl";
|
|
|
|
#include "ViewModelHelpers.idl.h"
|
|
|
|
#define OBSERVABLE_PROJECTED_PROFILE_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 ProfileViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
{
|
|
Windows.Foundation.Collections.IObservableVector<Font> CompleteFontList { get; };
|
|
Windows.Foundation.Collections.IObservableVector<Font> MonospaceFontList { get; };
|
|
Microsoft.Terminal.Settings.Model.TerminalSettings TermSettings { get; };
|
|
|
|
Boolean CanDeleteProfile { get; };
|
|
Boolean UsingMonospaceFont { get; };
|
|
Boolean IsBaseLayer;
|
|
Boolean UseDesktopBGImage;
|
|
Boolean UseParentProcessDirectory;
|
|
Boolean ShowAllFonts;
|
|
Boolean UseCustomStartingDirectory { get; };
|
|
Boolean BackgroundImageSettingsVisible { get; };
|
|
Guid OriginalProfileGuid { get; };
|
|
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Name);
|
|
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, Guid);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Source);
|
|
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, ConnectionType);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, Hidden);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Icon);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.CloseOnExitMode, CloseOnExit);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, TabTitle);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, TabColor);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SuppressApplicationTitle);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, UseAcrylic);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Double, AcrylicOpacity);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Control.ScrollbarState, ScrollState);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, FontFace);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Int32, FontSize);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.UI.Text.FontWeight, FontWeight);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Padding);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Commandline);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, StartingDirectory);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, BackgroundImagePath);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Double, BackgroundImageOpacity);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.UI.Xaml.Media.Stretch, BackgroundImageStretchMode);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.ConvergedAlignment, BackgroundImageAlignment);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Control.TextAntialiasingMode, AntialiasingMode);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, RetroTerminalEffect);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, ForceFullRepaintRendering);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SoftwareRendering);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, ColorSchemeName);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Foreground);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Background);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, SelectionBackground);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, CursorColor);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Int32, HistorySize);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SnapOnInput);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, AltGrAliasing);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Core.CursorStyle, CursorShape);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(UInt32, CursorHeight);
|
|
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.BellStyle, BellStyle);
|
|
}
|
|
|
|
runtimeclass DeleteProfileEventArgs
|
|
{
|
|
Guid ProfileGuid { get; };
|
|
}
|
|
|
|
enum ProfilesPivots
|
|
{
|
|
General = 0,
|
|
Appearance = 1,
|
|
Advanced = 2
|
|
};
|
|
|
|
runtimeclass ProfilePageNavigationState
|
|
{
|
|
Windows.Foundation.Collections.IMapView<String, Microsoft.Terminal.Settings.Model.ColorScheme> Schemes;
|
|
IHostedInWindow WindowRoot; // necessary to send the right HWND into the file picker dialogs.
|
|
|
|
ProfileViewModel Profile;
|
|
ProfilesPivots LastActivePivot;
|
|
|
|
event Windows.Foundation.TypedEventHandler<ProfilePageNavigationState, DeleteProfileEventArgs> DeleteProfile;
|
|
};
|
|
|
|
[default_interface] runtimeclass Profiles : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
{
|
|
Profiles();
|
|
ProfilePageNavigationState State { get; };
|
|
|
|
Boolean IsBellStyleFlagSet(UInt32 flag);
|
|
void SetBellStyleAudible(Windows.Foundation.IReference<Boolean> on);
|
|
void SetBellStyleWindow(Windows.Foundation.IReference<Boolean> on);
|
|
void SetBellStyleTaskbar(Windows.Foundation.IReference<Boolean> on);
|
|
|
|
IInspectable CurrentCursorShape;
|
|
Boolean IsVintageCursor { get; };
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CursorShapeList { get; };
|
|
|
|
IInspectable CurrentBackgroundImageStretchMode;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> BackgroundImageStretchModeList { get; };
|
|
|
|
IInspectable CurrentAntiAliasingMode;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> AntiAliasingModeList { get; };
|
|
|
|
IInspectable CurrentCloseOnExitMode;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CloseOnExitModeList { get; };
|
|
|
|
IInspectable CurrentScrollState;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> ScrollStateList { get; };
|
|
|
|
IInspectable CurrentFontWeight;
|
|
Boolean IsCustomFontWeight { get; };
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FontWeightList { get; };
|
|
|
|
Microsoft.Terminal.Settings.Model.ColorScheme CurrentColorScheme;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Model.ColorScheme> ColorSchemeList { get; };
|
|
|
|
IInspectable CurrentFontFace { get; };
|
|
}
|
|
}
|