diff --git a/src/cascadia/TerminalCore/Terminal.cpp b/src/cascadia/TerminalCore/Terminal.cpp index c77ab1ab764..67a1523e99b 100644 --- a/src/cascadia/TerminalCore/Terminal.cpp +++ b/src/cascadia/TerminalCore/Terminal.cpp @@ -89,6 +89,7 @@ void Terminal::UpdateSettings(ICoreSettings settings) _trimBlockSelection = settings.TrimBlockSelection(); _autoMarkPrompts = settings.AutoMarkPrompts(); _rainbowSuggestions = settings.RainbowSuggestions(); + _clipboardOperationsAllowed = settings.AllowVtClipboardWrite(); if (_stateMachine) { diff --git a/src/cascadia/TerminalCore/Terminal.hpp b/src/cascadia/TerminalCore/Terminal.hpp index 8ac499c97e2..0ff2cb1955e 100644 --- a/src/cascadia/TerminalCore/Terminal.hpp +++ b/src/cascadia/TerminalCore/Terminal.hpp @@ -413,6 +413,7 @@ class Microsoft::Terminal::Core::Terminal final : Microsoft::Console::Types::Viewport _mutableViewport; til::CoordType _scrollbackLines = 0; bool _detectURLs = false; + bool _clipboardOperationsAllowed = true; til::size _altBufferSize; std::optional _deferredResize; diff --git a/src/cascadia/TerminalCore/TerminalApi.cpp b/src/cascadia/TerminalCore/TerminalApi.cpp index e6edec3ee92..7d8a7062740 100644 --- a/src/cascadia/TerminalCore/TerminalApi.cpp +++ b/src/cascadia/TerminalCore/TerminalApi.cpp @@ -140,7 +140,10 @@ unsigned int Terminal::GetInputCodePage() const noexcept void Terminal::CopyToClipboard(wil::zwstring_view content) { - _pfnCopyToClipboard(content); + if (_clipboardOperationsAllowed) + { + _pfnCopyToClipboard(content); + } } // Method Description: