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

показывает не запушенное

Или в справку добавить, или как-то переименовать, а то натуральное ощущение, как будто чего-то не хватает.

Типа базово репозиторий разбирается плагином, но для полной функциональности поставьте git. 😁

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

фиксанул, давно мешало, но не мешало потому что как правило мне актуальна ветка которую не пушнул. Короче теперь как надо

angel_il ★★★★★
()

Я ещё такое заметил.

Если заменить одну из панелей на информационную, то она не обновляется при переходе из каталога в каталог. То есть при переходе на уровень ниже продолжает отображать свойства выделенного каталога или ссылки на каталог, а при переходе выше продолжает отображать свойства ".." или свойства каталога или ссылки, если после перехода не было перемещения курсора.

В «ванильном» mc поведение такое же. Это для совместимости, или я неправильно понял логику работы панели?

Radjah ★★★★★
()

@angel_il, а какой лимит на размер файла в структурированном просмотре?
Кстати, хотелось бы такого просмотра и для TOML. Он и для .ini подойдёт.

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

Может ли форк автоматом менять настройки? Например изменил что-то в ini, в стороннем редакторе или скриптом. Без явного «Save setup» и перезапуска приложения. Может есть какой-нибудь сигнал?

dmitry237 ★★★★★
()

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

А куда нажать, чтобы JSON отображался структурой, как на гифке? А то у меня красиво рендерится только Markdown и всё.

Может какие зависимости не установил для сборки, или запускаю как-то не так? У меня всё в /opt/mc6 лежит и дистровый mc стоит. Я пробовал mcview и mcedit полным путём запускать, но JSON отображается простым текстом.

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

/opt/mc6

Лучше пересобрать, проект переименован в mcommander. И в глобальное меню добавлены настройки редактора и вьюера. Там и можно включить структурированный вид.

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

достаточно большие файлы нормально сворачивает, я его тестил на чайлах примерно 100Мб, работало - ок, гигабайт не обещаю.

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

там мест не так много когда настройки грузятся и применяются, и это не уверен что просто поменять.

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

А куда нажать, чтобы JSON отображался структурой, как на гифке?

есичо то в F1 прописано, но так то ‘t’ во вьювере

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

Режим отключался с сообщением, что файл слишком большой.
Я поэтому и спрашивал про лимит.

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

можно сделать внешней настройкой, сейчас константа MCTREE_DEFAULT_MAX_PARSE_SIZE + MCTREE_DEFAULT_MAX_NODES (сейчас вроде миллион нод)

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

можно сделать внешней настройкой

Было бы здорово!

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

Ничего себе, страсти! :(

это не страсти, вот то ли дело гитхаб, просто грохнул учетку и репы сына в которых он делал дашборд для faceit, без предупреждений, без претензий, без уведомлений. Просто молча грохнул, как говорится - «а что ты мне сделаешь, я вообще в другом городе. за мат извени» (с).

angel_il ★★★★★
()

А, вспомнил, что сегодня набрал в mcterm git commit -a, и после ввода комментария нажал F2. И в mcedit вызвалось пользовательское меню.

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

А, вспомнил, что сегодня набрал в mcterm git commit -a, и после ввода комментария нажал F2. И в mcedit вызвалось пользовательское меню.

это когда панели были показаны? при скрытых панелях f2 не должно показывать меню

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

это когда панели были показаны?

Нет. И нажал в mcedit.

Ещё, если в mcterm (при скрытых панелях) выполнить, например, ping 0, то после нажатия F1 или F9 появившиеся виджеты мигают.

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

Нет. И нажал в mcedit.

а… я понял! я вообще изначально неправильно прочел и потому неправильно понял.

Ещё, если в mcterm (при скрытых панелях) выполнить, например, ping 0, то после нажатия F1 или F9 появившиеся виджеты мигают.

да такое чинил для htop и всех кто работает в альтскрине, а для cat, ping и всех их обычного тоже фиксану, там не сложно, добавлю колбэк редрава.

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

там не сложно, добавлю колбэк редрава.

Это я просто такой пример привёл.
Так-то слишком много вариантов.

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

не-не, не много, есть те кто работает в альтскрине и те кто не в альтскрине, других вариков нет..

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

В справке на русском про «t» нет в начале, только про F4.

The internal file viewer provides three display modes: ASCII, hex and   
structured (tree). To toggle between ASCII and hex, use the F4 key. To toggle
the structured mode, use Alt-s or t.
Встроенная программа просмотра файлов имеет два режима просмотра: режим ASCII и 
шестнадцатеричный (hex). Для переключения режимов используется клавиша F4. Если 
у вас установлена программа gzip проекта GNU, она будет использована для
автоматического просмотра сжатых файлов.
Radjah ★★★★★
()
Ответ на: комментарий от angel_il

Режим отключался с сообщением, что файл слишком большой.

готово

Спасибо, теперь открылся! ~230MB xml-файл занял в памяти 3GB.
Оказалось, что фильтр текста не работает в структурированном просмотре. Хотелось бы! :)
Ещё было бы хорошо с каким-то шагом обновлять прогресс сканирования при фильтрации. А то он обновляется только при нажатии клавиш во время сканирования.

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

Ещё накопилось за время использования mcterm:

  • Можно по F1 в mcterm при скрытых панелях показывать раздел справки mcterm?
  • Хотелось бы фильтров по Alt-S и Alt-Shift-S, как в панелях. Фильтр по выделенному тексту оказался не очень удобным.
  • Может быть очищать mcterm по F8?
  • И разрешить стандартные F7 и Shift-F4?
dataman ★★★★★
() автор топика
Ответ на: комментарий от Radjah

В справке на русском про «t» нет в начале, только про F4.

блин… устраню.

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

есть проблемка, но решаемая для иерархии нужен полный скан иначе нельзя понять где конец структуры. а проблема с фильтром такая - надо будет разворачивать узел обратно (как в поиске сейчас). Но если востребована фича то можно, посмотрю сколько будет «стоить» в терминах биг «O» нотейшен.

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

Может быть очищать mcterm по F8?

именно по этому пункту было принято осознанное решение не на F8 из-за реальной опасности запутаться и случайно удалить файл

остальные пункты вполне понятны и логичны

angel_il ★★★★★
()

@angel_il, собрал со свежим Arcmc. По-моему, после вычисления размера по Ctrl-Space в архиве, не нужно двигать курсор, если он на ...

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

Оказалось, что фильтр текста не работает в структурированном просмотре. Хотелось бы!

добавил, хотелось бы узнать как по скорости.

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

Спасибо! Скорость устраивает. Наверное, раз файл уже распарсен, скорость можно и увеличить многопоточной обработкой, но может и не нужно усложнять. :)
А можно добавить на кнопку * и свёртывание ноды?


А вот в поиске и фильтре mcterm стало больше проблем (пишу со смартфона, что вспомнил):

  • Создаём каталоги «1», «11», «123».
  • В mcterm выполняем ls -1.
  • Нажимаем Alt-S в mcterm.
  • Вводим «1».
  • И курсор устанавливается не на верхнюю единицу.
  • А если после ввода «1» в поиске нажать Esc, то курсор устанавливается не на строку промпта. И с фильтром по Alt-Shift-S тоже так.
dataman ★★★★★
() автор топика
Ответ на: комментарий от dataman

И курсор устанавливается не на верхнюю единицу.

сейчас поиск вверх, как в less. но в принципе могу добавить опцию search_direction

А если после ввода «1» в поиске нажать Esc, то курсор устанавливается не на строку промпта.

в этом же и задумка - найти и не потерять, если в этот момент начать печатать то ввод будет в промпте (если это не так то это баг) или нажать таб

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

но в принципе могу добавить опцию search_direction

Да, круто! :)

в этом же и задумка - найти и не потерять

Обычно Esc — отмена, то есть искать не нужно, а вернуть, как было.

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

Обычно Esc — отмена, то есть искать не нужно, а вернуть, как было.

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

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