a900ababdc
## Summary of the Pull Request * Introduces info bar shown upon session failure, that guides the user how to configure termination behavior * Allows this info bar to be dismissed permanently (choice stored in state) * Allows "keyboard service" info bar to be dismissed permanently ## PR Checklist * [x] Closes #10798, #8699 * [x] CLA signed. * [ ] Tests added/passed * [ ] Documentation updated. * [ ] Schema updated. * [ ] I've discussed this with core contributors already. ## Detailed Description of the Pull Request / Additional comments UI: * Introduce an additional info bar for "close on exit" configuration tip * Stack this bar after "keyboard service" bar * Add "Don't show again" button to both bars Dismiss Permanently: * Introduce a set of "dismissed messages" to the Application State * Add verification the message is not dismissed before showing an info bar * "Don't show again" persists the choice under "dismissed messages" Wiring the Info Bar: * Register `TerminalPage` on `TermControl`'s `ConnectionStateChanged` event * Once event is triggered check whether the state is failure * If so and the message was not dismissed permanently, show the info bar
37 lines
1 KiB
Plaintext
37 lines
1 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
import "Command.idl";
|
|
import "GlobalAppSettings.idl";
|
|
|
|
namespace Microsoft.Terminal.Settings.Model
|
|
{
|
|
enum InfoBarMessage
|
|
{
|
|
CloseOnExitInfo = 0,
|
|
KeyboardServiceWarning
|
|
};
|
|
|
|
runtimeclass WindowLayout
|
|
{
|
|
WindowLayout();
|
|
|
|
Windows.Foundation.Collections.IVector<ActionAndArgs> TabLayout;
|
|
Windows.Foundation.IReference<LaunchPosition> InitialPosition;
|
|
Windows.Foundation.IReference<Windows.Foundation.Size> InitialSize;
|
|
};
|
|
|
|
[default_interface] runtimeclass ApplicationState {
|
|
static ApplicationState SharedInstance();
|
|
|
|
void Reload();
|
|
|
|
String FilePath { get; };
|
|
|
|
Windows.Foundation.Collections.IVector<WindowLayout> PersistedWindowLayouts { get; set; };
|
|
|
|
Windows.Foundation.Collections.IVector<String> RecentCommands { get; set; };
|
|
|
|
Windows.Foundation.Collections.IVector<InfoBarMessage> DismissedMessages { get; set; };
|
|
}
|
|
}
|