mirror of
https://github.com/microsoft/terminal.git
synced 2025-12-10 00:48:23 -06:00
`pathTranslationStyle` has four options: - `none`: Do no translation - `wsl`: Translate `C:\` to `/mnt/c` and `\\wsl$\Foo\bar` to `/bar` - `cygwin`: Translate `C:\` to `/cygdrive/c` - `msys2`: Translate `C:\` to `/c` It is intended as a broadly-supported replacement for us checking the source every time the user drops a path. We no longer need to push the source name all the way down to the control. I am hesitant to commit to using other folks' product names in our settings model, however, these are almost certainly more recognizable than whatever other weird names we could come up with. The Git Bash fragment extension profile could conceivably use `pathTranslationStyle` `msys2` to make sure drag/dropped paths look right. (cherry picked from commit 068906714fa190e89020a3f59809ed9237b94708) Service-Card-Id: PVTI_lADOAF3p4s4AmhmQzgW9l6A Service-Version: 1.22
82 lines
3.3 KiB
Plaintext
82 lines
3.3 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "ICoreState.idl";
|
|
import "IControlSettings.idl";
|
|
import "ControlCore.idl";
|
|
import "EventArgs.idl";
|
|
import "InteractivityAutomationPeer.idl";
|
|
|
|
|
|
namespace Microsoft.Terminal.Control
|
|
{
|
|
|
|
[default_interface] runtimeclass ControlInteractivity
|
|
{
|
|
ControlInteractivity(IControlSettings settings,
|
|
IControlAppearance unfocusedAppearance,
|
|
Microsoft.Terminal.TerminalConnection.ITerminalConnection connection);
|
|
|
|
ControlCore Core { get; };
|
|
void UpdateSettings();
|
|
void Initialize();
|
|
void GotFocus();
|
|
void LostFocus();
|
|
|
|
UInt64 Id { get; };
|
|
|
|
void AttachToNewControl(Microsoft.Terminal.Control.IKeyBindings keyBindings);
|
|
void Detach();
|
|
|
|
void Close();
|
|
|
|
InteractivityAutomationPeer OnCreateAutomationPeer();
|
|
|
|
Boolean CopySelectionToClipboard(Boolean singleLine, Windows.Foundation.IReference<CopyFormat> formats);
|
|
void RequestPasteTextFromClipboard();
|
|
void SetEndSelectionPoint(Microsoft.Terminal.Core.Point point);
|
|
|
|
void PointerPressed(MouseButtonState buttonState,
|
|
UInt32 pointerUpdateKind,
|
|
UInt64 timestamp,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Microsoft.Terminal.Core.Point pixelPosition);
|
|
void TouchPressed(Microsoft.Terminal.Core.Point contactPoint);
|
|
|
|
Boolean PointerMoved(MouseButtonState buttonState,
|
|
UInt32 pointerUpdateKind,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Boolean focused,
|
|
Microsoft.Terminal.Core.Point pixelPosition,
|
|
Boolean pointerPressedInBounds);
|
|
|
|
void TouchMoved(Microsoft.Terminal.Core.Point newTouchPoint,
|
|
Boolean focused);
|
|
|
|
void PointerReleased(MouseButtonState buttonState,
|
|
UInt32 pointerUpdateKind,
|
|
Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Microsoft.Terminal.Core.Point pixelPosition);
|
|
void TouchReleased();
|
|
|
|
Boolean MouseWheel(Microsoft.Terminal.Core.ControlKeyStates modifiers,
|
|
Int32 delta,
|
|
Microsoft.Terminal.Core.Point pixelPosition,
|
|
MouseButtonState state);
|
|
|
|
void UpdateScrollbar(Single newValue);
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, OpenHyperlinkEventArgs> OpenHyperlink;
|
|
event Windows.Foundation.TypedEventHandler<Object, ScrollPositionChangedArgs> ScrollPositionChanged;
|
|
event Windows.Foundation.TypedEventHandler<Object, PasteFromClipboardEventArgs> PasteFromClipboard;
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> Closed;
|
|
|
|
event Windows.Foundation.TypedEventHandler<Object, Object> Attached;
|
|
|
|
// Used to communicate to the TermControl, but not necessarily higher up in the stack
|
|
event Windows.Foundation.TypedEventHandler<Object, ContextMenuRequestedEventArgs> ContextMenuRequested;
|
|
|
|
};
|
|
}
|