Skip to content

MTN2 v0.4.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 07:10
· 30 commits to main since this release
Immutable release. Only release title and notes can be modified.

Что нового в v0.4.0

Новое

  • Для Linux появилась пробная графическая версия mtn2-sdl: то же окно с панелями, просмотрщиком, редактором, консолью и плагинами, но в окне SDL2 и со шрифтом из системы (нужны libSDL2 и libfreetype). Работают мышь, колесо, ввод в любой раскладке, буфер обмена рабочего стола; файл, брошенный в окно из файлового менеджера, вставляется как путь. Быстрый просмотр показывает настоящие картинки: BMP всегда, PNG, JPEG и другие форматы при установленной libSDL2_image. Размер шрифта меняется Ctrl и колесом, Ctrl+ и Ctrl-. Входит в архив tar.gz и пакет .deb (команда mtn2-sdl); .deb рекомендует libsdl2, libfreetype6 и libsdl2-image.
  • Появилась версия для терминала Linux – mtn2-tui: те же панели с вкладками, просмотрщик, редактор, консоль и терминалы, диалоги и меню, но внутри обычного терминала (по SSH, в tmux, в контейнере, без графической среды). Мышь, вставка в скобках, буфер обмена через OSC 52, TrueColor с откатом на 256 и 16 цветов; сочетания с Ctrl+Shift работают в терминалах с протоколом kitty keyboard. Оболочки берутся из /etc/shells, корзина – по спецификации freedesktop.org, колонка «Attr» показывает права доступа. Подробности – в docs/LINUX.md.
  • В версии для Linux работают плагины: временная панель, плагины на WASM и архивы через установленную программу 7-Zip (7zz или 7z, пакет 7zip или p7zip-full). Если программы нет, при открытии архива показывается подсказка, что установить.
  • В Linux команда «Атрибуты» показывает права доступа: режим (0644), владельца и группу можно изменить, в том числе для вложенных папок. Терминалам без протокола kitty keyboard теперь запрашивается режим modifyOtherKeys, поэтому сочетания с Ctrl+Shift работают и в xterm-подобных терминалах.
  • В Linux при отказе в доступе операцию можно повторить от администратора через sudo: пароль спрашивается в окне программы и нигде не сохраняется.
  • Версия для Linux обновляет себя: «Помощь – Проверить обновления» скачивает пакет linux-x64.tar.gz, проверяет его контрольную сумму и после установки перезапускает программу в том же терминале.
  • Версия для Linux поставляется архивом tar.gz со скриптом install.sh (установка для себя или для всех, удаление) и пакетом .deb.
  • В Linux файлы, скопированные или вырезанные на панели, попадают в буфер рабочего стола (нужен xclip или wl-clipboard): их можно вставить в файловый менеджер, а файлы, скопированные там, вставляются в панель.
  • В версии для Linux быстрый просмотр (Ctrl+Q) показывает картинки цветными блоками прямо в терминале: нужна программа chafa (пакет chafa), работает в любом терминале с TrueColor, в том числе по SSH. Без chafa на месте картинки подсказка, какой пакет поставить.
  • Каталог bin разделён по платформам: bin\win64 для Windows и bin\linux64 для Linux.
  • Ctrl+Tab и Ctrl+Shift+Tab всегда переключают рабочие пространства: из просмотра, редактора и терминала в панели и обратно одной и той же клавишей. Вкладки файловой панели переключаются Alt+PgDn и Alt+PgUp (сочетания меняются в раскладке клавиш).
  • Когда вкладки сессий не помещаются в строку, их названия сокращаются с многоточием (не короче трёх колонок), чтобы остались видны кнопка [+], плашки фоновых задач и кнопки окна. Место под плашки резервируется заранее.
  • В диалоге «Шрифт / экран» появился флажок «Курсор в неактивной панели». Если его снять, строка под курсором в панели без фокуса рисуется как обычная строка, и по подсветке видно, какая панель активна (особенно в схеме FAR). Выделенные файлы остаются выделенными. По умолчанию флажок включён.
  • Появился немецкий интерфейс: язык выбирается в диалоге «Шрифт / экран» (Deutsch). Переведены меню, диалоги, строка клавиш, строка состояния и справка F1. Недостающие строки показываются по-английски.
  • Китайские, японские и корейские иероглифы (в пределах основной таблицы Unicode: иероглифы, хирагана, катакана, хангыль, полноширинные формы) занимают в консоли и панелях две колонки, как в других терминалах: текст не сжимается, колонки не съезжают, длинные имена файлов с иероглифами сокращаются по ширине, а вкладки, заголовки окон и строка состояния считают положение по колонкам. Символы вне основной таблицы (редкие иероглифы, эмодзи) пока рисуются как раньше. В редакторе иероглифы рисуются в две колонки, но положение курсора в строке с ними пока считается по символам.
  • Плагин может показать диалог из файла plugins\<id>\dialogs\<имя>.json в своей папке: вместо текста JSON в ShowDialog / show_dialog достаточно передать имя файла.
  • В раскладке клавиш можно назначать знаки пунктуации: /, ,, ., ', =, а также Semicolon и Minus (например, Ctrl+/ на действие «Корень диска»). Несколько сочетаний на одно действие перечисляются через ;.

Изменено

  • Плагин с поверхностью получает Esc и F10 в обработчик клавиш раньше программы: если он их обработал, вкладка не закрывается и полноэкранный режим не меняется (например, Esc закрывает просмотр одним нажатием).
  • Кнопки в нижней строке диалогов выровнены одинаково: ряд по центру (без учёта тени кнопок), зазор между кнопками 2, кнопки одного ряда одной ширины, где подписи позволяют. В русском и других языках расположение теперь совпадает с английским. Диалоги «Заменить» и редактор темы стали чуть шире, чтобы кнопки поместились. В диалогах из одной строки (например, выбор алгоритма контрольной суммы) над строкой и под ней теперь пустая строка. Поля ввода, выпадающие списки и флажки, которыми заканчивается строка диалога, растянуты до правого края.
  • Запуск быстрее: WASM-плагины компилируются один раз и дальше берутся из кэша на диске (например, большой плагин на Go больше не добавляет секунду-другую к каждому старту).
  • Кнопка программы на панели задач с самого запуска подписана «Modern Terminal Navigator 2», а не «Mtn2».
  • Прерывание операции теперь спрашивает подтверждение: Esc, кнопка «Отмена» или щелчок вне окна прогресса, «Отмена» и «Отменить все» в списке заданий, Esc во время поиска. Кнопка «Продолжить» по умолчанию и привязана к Esc, поэтому случайный Esc или Enter ничего не прерывает. После «Прервать» окно прогресса закрывается сразу, а задание заканчивает остановку в фоне: пока оно не остановилось, плашка не показывается, запись остаётся в списке заданий.
  • Enter на кнопке «Отмена» в окне прогресса нажимает её (и открывает вопрос), а не игнорируется.
  • Ссылка создаётся в папке противоположной панели, как при копировании (если там обычная локальная папка; иначе – в папке активной панели), под тем же именем, что и источник. Диалог «Создание ссылки» сразу выбирает тип по источнику и правам: для папки – символьную ссылку на каталог, для файла – на файл; если создавать символьные ссылки нельзя (нет режима разработчика и прав администратора), для папки предлагается junction, а для файла на том же диске – жёсткая ссылка. Если Windows отказывает в праве создать символьную ссылку, в сообщении подсказано, что помогут режим разработчика, запуск от администратора или junction для папок.

Исправлено

  • В Linux папка с файлами, в именах которых есть управляющие символы (такие имена остаются после сбоев файловой системы), читается и показывается целиком: раньше панель оставалась на «Reading...». Такие файлы можно копировать, удалять и переименовывать.
  • В версии для Linux дополнение путей по Tab в командной строке читает абсолютные пути как есть: /usr/ больше не превращается в \usr\, а C: и \ не считаются признаками пути. Дерево папок строится от корня /, а Ctrl+\ и «Корень диска» открывают корень файловой системы.
  • В версии для Linux имена, различающиеся только регистром (A.zip и a.zip, Foo и foo), больше не смешиваются в кэше архивов, запоминании паролей архивов и дереве папок.
  • В версии для Linux скрипты .sh, .run и .AppImage отмечаются в панелях как исполняемые.
  • В версии для Linux закрытие терминала (Ctrl+Shift+N) иногда завершалось ошибкой доступа к памяти: отложенные вызовы читающего потока обращались к уже освобождённой сессии.
  • В версии для Linux быстрый поиск по Alt и список истории Alt+Left/Right закрываются сами через 1,5 с после последнего нажатия: терминал не сообщает об отпускании Alt.
  • В версии для Linux картинка в быстром просмотре (Ctrl+Q) появляется сразу, как только готова, а не после перерисовки окна.
  • Закрытие панели или окна во время копирования, перемещения или удаления иногда портило память: отложенные обновления окна прогресса обращались к уже освобождённому заданию.
  • В версии для Linux язык интерфейса и остальные настройки окна «Шрифт / Отображение» применяются: раньше окно закрывалось без последствий.
  • В Linux Ctrl+Left и Ctrl+Right переключают диск панели после короткой паузы: терминал не сообщает об отпускании Ctrl, поэтому раньше менялась только линейка дисков.
  • В Linux в окне смены диска заполнены размер и точка монтирования, а список открывается без задержки.
  • Окна плагинов (просмотр картинок и видео в собственном окне) переживают F11 и смену масштаба экрана: раньше вкладка после этого оставалась пустой.
  • Выход через «..» из папки, открытой по ссылке (junction или символическая ссылка), ведёт в папку, где лежит сама ссылка, а не в родителя её целевой папки; курсор встаёт на ссылку.
  • Переименование по Shift+F6 и копирование по Shift+F5 в имя, которое уже есть в папке, теперь спрашивают, перезаписать ли существующий файл, а не заменяют его без вопроса.
  • При переключении рабочих пространств и вкладок панели курсор остаётся на том же файле, где был, а не уходит в начало списка.
  • Пробел на кнопке диалога (например, «Отмена» в окне прогресса) мог оставить кнопку нажатой без действия; теперь кнопка срабатывает при отпускании пробела.

Все изменения по версиям: CHANGELOG.md

Установка

Распакуйте архив в любую папку и запустите MTN2.exe (Windows x64). Инсталлятор не нужен. Архивов два, программа в них одна и та же:

Архив Где хранятся настройки, история, раскладка клавиш
MTN2-v0.4.0-win64.zip %APPDATA%\MTN2 – у каждого пользователя Windows свои
MTN2-v0.4.0-win64-portable.zip рядом с MTN2.exe – для флешки или папки, которую носите с собой

Переносной режим включает файл portable.dat рядом с MTN2.exe: удалите его, чтобы перейти на %APPDATA%\MTN2, или создайте, чтобы перейти обратно (настройки при этом не переносятся). Для переносной копии папка должна быть доступна на запись. Встроенное обновление работает в обоих вариантах и сохраняет portable.dat и настройки.

Linux

MTN2-v0.4.0-linux-x64.tar.gz и MTN2-v0.4.0-linux-x64.deb (Linux x86-64): mtn2-tui работает внутри окна терминала, в том числе по SSH и в tmux; mtn2-sdl – пробная версия в обычном окне SDL2. Установка: tar xzf MTN2-*-linux-x64.tar.gz && ./mtn2/install.sh или sudo apt install ./MTN2-*-linux-x64.deb, затем mtn2 или mtn2-sdl. Зависимости и параметры – в LINUX.md.

Ответы на частые вопросы (сеть и приватность, SmartScreen, масштаб экрана, темы, плагины) – в FAQ.md.

Поддержка 7z-архивов (7z.dll)

В архив входит 7z.dll из 7-Zip (x64): с ней плагин mtn.7z открывает .7z и другие архивы.
7-Zip распространяется под GNU LGPL (с частями под BSD и ограничением unRAR); тексты лицензий лежат в
plugins\mtn.7z\license.txt, сведения о сторонних компонентах – в THIRD-PARTY.md. Библиотеку можно заменить своей:
положите x64-версию 7z.dll в plugins\mtn.7z\.

Full Changelog: v0.3.16...v0.4.0