<!-- 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 This PR splits the anchored and unanchored tab switcher into two. The anchored tab switcher is now baked into `nextTab`/`prevTab`, and the unanchored tab switcher command is just named `tabSearch`. `tabSearch` takes no arguments. To reflect this distinction, `CommandPalette.cpp` now refers to one as `TabSwitchMode` and the other as `TabSearchMode`. I've added a global setting named `useTabSwitcher` (name up for debate) that makes the Terminal use the anchored tab switcher experience for `nextTab` and `prevTab`. I've also given the control the ability to detect <kbd>Alt</kbd> KeyUp events and to dispatch keybinding events. By listening for keybindings, the ATS can react to `nextTab`/`prevTab` invocations for navigation in addition to listening for <kbd>tab</kbd> and the arrow keys. Closes #7178 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] CLA signed. * [x] Documentation updates: microsoftdocs/terminal#107 * [x] Schema updated.
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "Command.idl";
|
|
import "IDirectKeyListener.idl";
|
|
|
|
namespace TerminalApp
|
|
{
|
|
[default_interface] runtimeclass CommandPalette : Windows.UI.Xaml.Controls.UserControl, Windows.UI.Xaml.Data.INotifyPropertyChanged, IDirectKeyListener
|
|
{
|
|
CommandPalette();
|
|
|
|
String NoMatchesText { get; };
|
|
String SearchBoxText { get; };
|
|
String ControlName { get; };
|
|
String ParentCommandName { get; };
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Command> FilteredActions { get; };
|
|
|
|
void SetCommands(Windows.Foundation.Collections.IVector<Command> actions);
|
|
void SetKeyBindings(Microsoft.Terminal.TerminalControl.IKeyBindings bindings);
|
|
void EnableCommandPaletteMode();
|
|
|
|
void SelectNextItem(Boolean moveDown);
|
|
|
|
void SetDispatch(ShortcutActionDispatch dispatch);
|
|
|
|
void EnableTabSwitcherMode(Boolean searchMode, UInt32 startIdx);
|
|
void OnTabsChanged(IInspectable s, Windows.Foundation.Collections.IVectorChangedEventArgs e);
|
|
}
|
|
}
|