LINUX.ORG.RU

Копировать в буфер иксов из редактора Midnight Commander

 , ,


0

3

Редактор запущен в консоли. Для определённости — Konqueror. Чтобы скопировать текст из консоли в другую программу через буфер, его надо выделить мышью.

Но текст в редакторе MC можно выделять и стрелками с шифтом или через F3 и Shift-F3. Есть даже команда для копирования этого выделения в буфер обмена, но это свой отдельный буфер ~/.cache/mc/mcedit/mcedit.clip. В баг-трекере есть 2 просьбы использовать общеиксовый буфер, одна помечена как выполненная, но требует громоздить пирамиду костылей, другая висит 11 лет без изменений:
https://midnight-commander.org/ticket/30
https://midnight-commander.org/ticket/3081

Как пользоваться иксовым буфером обмена? Существует ли способ проще, чем по ссылкам?

★★★★★
Ответ на: комментарий от question4

поддержка системного буфера обмена не только в редакторе, но и для другого использования

Разумеется.

Проблема в том, что MC – кроссплатформенный. Но для Windows я делать не собираюсь. :)
Не думаю, что такой PR примут.


Хотя нужно посмотреть, поддерживает ли Виндовый терминал OSC 52.

dataman ★★★★★
()
Последнее исправление: dataman (всего исправлений: 1)
Ответ на: комментарий от dataman

поддерживает ли Виндовый терминал OSC 52

Если этот символ получается при нажатии Ctrl-Ins, то нет, вроде. Хотя в последних обновлениях Windows 11 появился новый эмулятор терминала похожий на линуксовые — там, возможно, можно это настроить.

question4 ★★★★★
() автор топика
Последнее исправление: question4 (всего исправлений: 1)
Ответ на: комментарий от question4

Если этот символ получается при нажатии Ctrl-Ins, то нет, вроде.

Нет, когда ЭТ получает OSC 52, то копирует текст в буфер обмена: https://github.com/microsoft/terminal/blob/main/src/cascadia/TerminalControl/ControlCore.cpp#L1297

    // Called when the Terminal wants to set something to the clipboard, i.e.
    // when an OSC 52 is emitted.
    void ControlCore::_terminalCopyToClipboard(wil::zwstring_view wstr)
    {
        copyToClipboard(wstr, {}, {});
    }

Короче, поддерживает с какой-то версии. :)

dataman ★★★★★
()
Ответ на: комментарий от dataman

https://github.com/microsoft/terminal/blob/main/src/cascadia/TerminalControl/ControlCore.cpp#L1297

Как я понял, это и есть новый терминал, который автоматически ставится при обновлении Windows 11. На 10 и 2022 старый.

question4 ★★★★★
() автор топика