LINUX.ORG.RU

Форк Midnight Commander c поддержкой панельных плагинов

 , , , ,


4

2

https://www.opennet.ru/opennews/art.shtml?num=66018.

Выпущен консольный файловый менеджер Midnight Commander 6.0.3 (mc6), представляющий собой форк GNU Midnight Commander 4.8.33, расширенный поддержкой панельных плагинов и поставляемый со встроенным PTY-терминалом mcterm. Интегрированный в mc6 фреймворк панельных плагинов позволяет отображать в панелях не только файловые системы, но и контейнеры, Git-репозитории, базы данных и объекты удалённых хранилищ. Код проекта написан на языке Си и распространяется под лицензией GPLv3+. Готовые пакеты подготовлены для Debian и Ubuntu, Fedora и RHEL, а также Arch Linux в форматах DEB, RPM и pkg.tar.zst. Для Gentoo дополнительно предоставлен ebuild для установки через локальный overlay.

В состав выпуска вошли плагины для работы с архивами, FTP/SFTP/FTPS, Samba, Git, Docker, Kubernetes, MongoDB и S3-совместимыми хранилищами. Плагины поддерживают стандартные файловые операции, а переработанная поддержка архивов на базе libarchive заметно (в десятки или сотни раз) ускоряет обработку больших архивов.

Во встроенный текстовый редактор mcedit добавлены возможность сворачивания блоков кода, браузер истории Undo/Redo, средства управление макросами и поддержка сохранения файлов через sudo. В разы улучшена производительность при работе с очень длинными строками.

Просмотрщик mcview получил древовидное представление JSON, YAML и XML, интерактивную фильтрацию содержимого, базовую поддержку отображения разметки Markdown и режим воспроизведения файлов с ANSI-последовательностями.

В состав включён встроенный PTY-терминал mcterm с собственным эмулятором терминала, предназначенный для замены традиционного subshell-механизма.

★★★★★

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

Ага, уже что-то изменилось. Странно, но пару дней назад BS в coole вроде бы работал, как во многих других редакторах.

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

Странно, но пару дней назад BS в coole вроде бы работал, как во многих других редакторах.

как именно? какой ожидание?

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

Если курсор на нулевой колонке, то при нажатии BS строка переносится в конец строки выше.
По-моему, так делают если и не все редакторы, то большинство.

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

Поставил yaourt -S mcommander-git.

В документации сказано:

Когда панели убраны, большинство функциональных клавиш принадлежит
терминалу, и строка кнопок называет их. Просмотра, правки, копирования,
переноса и удаления там нет: они работают с файлом под курсором панели, а
этого курсора не видно. F8 намеренно оставлена пустой, чтобы привычное
движение к удалению не сделало что-то другое.
F7 создаёт каталог, а Shift-F4 правит новый файл, как и при поднятых
панелях: обе работают в каталоге панели, а это тот же каталог, в котором
стоит оболочка.

F2           копировать отмеченное в буфер обмена
F3           отметить всю выдачу или снять имеющуюся отметку
F4           оставить только строки, совпавшие с отметкой
             или со словом под курсором
F5           снять этот фильтр и поставить его снова
F6           очистить и экран, и всю выдачу

Пока оболочка ждёт у приглашения, F1, F7, Shift-F4, F9 и F10 принадлежат
файловому менеджеру, и F1 открывает помощь по этому разделу.
**Как только команда запущена, экран и все клавиши на нём принадлежат ей,
в том числе и эти. Пять клавиш выше - исключение: пока команда работает,
они остаются за терминалом.** Полноэкранное приложение, редактор или
программа постраничного просмотра забирает себе все клавиши, включая и их.

Прочитал выделенное и не понял.

С одной стороны - ‘Как только команда запущена, экран и все клавиши на нём принадлежат ей, в том числе и эти.’

С другой - ‘Пять клавиш выше - исключение: пока команда работает, они остаются за терминалом.’

Кому что принадлежит, хз, стоит менее запутанно обозначить.

Как бы то ни было, у меня – перехватывает ВСЕ клавиши:

mcommander -> Ctrl+O -> htop -> Enter

Ни одна функциональная клавиша не достигает htop. На F1, F7, F9, F10 реагирует mcommander. На остальные он не реагирует, но и в приложение – не доставляет.


Ctrl+D в сабшелле не работает. Я привык выходить из mc по Ctrl+D так же, как и из обычного bash.


Как перемещаться между строкой ввода и буфером истории с клавиатуры - не понял. Если мышкой тыкать, фокус ввода переходит. Как это получить с клавиатуры - хз.


В заголовке терминала программа всё так же идентифицирует себя как mc.

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

Ага, оказывается не работает, если [x] Backspace through tabs.

надо покумекать.

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

Хотелось бы, чтобы:


  • Было чётко документировано, какие нажатия в виде ограниченного набора обрабатывает mcommander при запущенной программе с сабшелле и как этим набором управлять.
  • Сам этот набор по умолчанию был минимальным, не мешая управлять программой в сабшелле.

Также не ясен статус mcommander в роли эмулятора псевдотерминала по отношению к дочерней программе:

  • При запуске find / он даёт возможность Ctrl+O, чтобы скрыть терминал и активировать панели.
  • При запуске htop — не даёт.
  • Явяется ли это indented behavior или недоработкой.

  • Ctrl+D в пустой строке ввода работал как ожидается.
  • Было документировано, как в эмуляторе терминала с клавиатуры переключать фокус ввода между строкой ввода и экранным буфером. Или если такого способа нет – реализован.
  • В заголове терминала программа бы себя идентифицировала как mcommander, а не mc.
wandrien ★★★★
()
Ответ на: комментарий от wandrien

в целом сейчас понятнее, думаю многое звучит логично.

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

вроде все что можно было починить - починил.

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

Ага, оказывается не работает, если [x] Backspace through tabs.

может нужно поменять?

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

Благодарю.

Я пока не успел глянуть, на работе завал. Возможно, завтра соберу и посмотрю.

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

Вдруг будет желание потестить сочетание панельного плагина git + coole git плагина? был бы признателен

angel_il ★★★★★
()

Так-с, Autotools-то выкинули, но забыли PKGBUILD в AUR обновить, он там всё ещё завязан на них. Знаю, что и как делать – у себя-то мне пофиксить это не проблема (тем более, что решение уже лежит в репозитории), а вот другим пользователям…

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.