<h1 dir="auto">Environment</h1>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="OS: Microsoft Windows [Version 10.0.18362.295]
WT: Version: 0.3.2171.0"><pre lang="none" class="notranslate"><code class="notranslate">OS: Microsoft Windows [Version 10.0.18362.295]
WT: Version: 0.3.2171.0
</code></pre></div>
<h1 dir="auto">Steps to reproduce</h1>
<ol dir="auto">
<li>Open terminal</li>
<li>Open a second tab</li>
<li>Attempt to select text by clicking and dragging (I'm using a track pad, might be issue around that, don't have mouse available to test difference)</li>
</ol>
<h1 dir="auto">Expected behavior</h1>
<p dir="auto">Text should be highlighted</p>
<h1 dir="auto">Actual behavior</h1>
<p dir="auto">Nothing</p>
<p dir="auto">If I select text in the original tab, then try it in the new, second tab, selection starts working.</p>
<p dir="auto">Let me start by saying I did not read the whole source so I might have missed important details.</p>
<p dir="auto">I was looking at the source code to understand how you're handling the <code class="notranslate">commandline</code> setting and saw that many methods in the <code class="notranslate">Profile</code> class do not move the instance of the <code class="notranslate">std::wstring</code> received and instead create a copy.</p>
<p dir="auto">Also, why do you mark the methods <code class="notranslate">noexcept</code> when some strings might not be small enough to allow SSO? (e.g. a long command line)</p>

<h1 dir="auto">Proposed technical implementation details (optional)</h1>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="void Profile::SetCommandline(std::wstring cmdline) noexcept
{
    _commandline = std::move(cmdline);
}
"><pre class="notranslate"><code class="notranslate">void Profile::SetCommandline(std::wstring cmdline) noexcept
{
    _commandline = std::move(cmdline);
}

</code></pre></div>