diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp --- a/src/TerminalDisplay.cpp +++ b/src/TerminalDisplay.cpp @@ -2309,8 +2309,10 @@ } } - _lineSelectionMode = false; - _wordSelectionMode = false; + if (!ev->modifiers()) { + _lineSelectionMode = false; + _wordSelectionMode = false; + } // The user clicked inside selected text bool selected = _screenWindow->isSelected(pos.x(), pos.y());