diff --git a/src/plugins/terminal/terminalwidget.cpp b/src/plugins/terminal/terminalwidget.cpp index 3ff38722c2c..2d798d34d45 100644 --- a/src/plugins/terminal/terminalwidget.cpp +++ b/src/plugins/terminal/terminalwidget.cpp @@ -360,7 +360,12 @@ void TerminalWidget::copyToClipboard() const Internal::CellIterator end = m_surface->iteratorAt(m_selection->end); std::u32string s; - std::copy(it, end, std::back_inserter(s)); + for (; it != end; ++it) { + if (it.gridPos().x() == 0 && !s.empty()) + s += U'\n'; + if (*it != 0) + s += *it; + } const QString text = QString::fromUcs4(s.data(), static_cast(s.size()));