Линукс-порт Far Manager: что нового за 2021 +90



Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.

Буфер обмена в консольной версии

Теперь far2l, как и mc, умеет использовать буфер обмена X11 даже в консольной версии (в графической умел с самого начала). Для этого собирается отдельный модуль взаимодействия с X, который загружается, только если в системе установлена библиотека libx11. Можно даже ходить на удаленные сервера через ssh -X, буфер обмена будет работать и там (опять же, если libx11 на сервере установлена).

И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.

Кстати, о клавиатуре в консоли. Горячие клавиши в сторонних терминалах поддерживаются практически все — по крайней мере, я знаю только про проблемы с комбинациями Ctrl+цифра, над ними идёт работа.

far2l в GNOME Terminal
far2l в GNOME Terminal

Человеческие сообщения об ошибках

Долгое время все сообщения об ошибках far2l показывали цифровые коды ошибок, пришедшие из мира Windows и не несущие никакой полезной информации. Теперь это исправили, все сообщения об ошибках стали семантические, а коды ошибок — родные для платформы.

Цвета в логе встроенного терминала

Во встроенный просмотрщик добавили поддержку ANSI escape-последовательностей для управления цветом отображения, так что просмотр логов встроенного терминала теперь в цвете. Удобно, когда разбираешь логи компилятора, например.

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

Ещё больше форматов архивов

В multiarc-плагине, через который в far2l сделана работа с архивами, есть поддержка псевдоформата custom, позволяющего задавать в текстовом конфиге сигнатуру архива, командные строки архиватора и формат его выдачи. Это позволяет легко и просто добавлять поддержку любых мыслимых форматов. Например, таким образом теперь поддерживаются форматы образов диска большинства виртуальных машин, и даже такая экзотика в мире Линукс как формат WIM.

Встроенный «реестр» заменен на обычные .ini файлы

Исторически настройки far2l лежали в структуре, напоминающей реестр Windows, но работающей на текстовых файлах. Такое решение было выбрано для удобства портирования, но удобным способом работы с файлами конфигурации его назвать сложно. Теперь этот рудимент исчез, а все настройки лежат в ~/.config/far2l в человекочитаемых .ini файлах

Кстати, в папке настроек тоже навели порядок — все временные рабочие файлы перенесли оттуда в ~/.cache/far2l (/tmp для них не слишком подходит, так как там могут быть критичные пользовательские данные).

Упорядочивание зависимостей

Переходом с UCD на Uchardet завершилось наведение порядка с библиотеками и зависимостями. Теперь статически собираются только libcolorer (потому что нет в репах дистрибутивов), 7z/unrar (чтоб всегда свежие были) и utf-cpp (т.к. у нас своя, слегка адаптированная версия). Все остальные библиотеки используются из дистрибутива.
Кстати, при переходе на Uchardet заодно починили запуск автоопределения кодировки текста через пункт в меню редактора и просмотрщика.

Лицензионная совместимость с Debian

После удаления из far2l библиотеки конвертации форматов UTF из clang и добавления в лицензию плагина NetRocks GPL-исключения для OpenSSL проект стал полностью совместим с лицензионными требованиями Debian, идёт работа над пакетом.

Точнее сказать — мы думаем, что совместим. Юристов в команде пока нет :)

Поддержка устаревших архивов

Командные строки для вызова распаковщиков разной экзотики вроде ARJ и ACE заменили на вызов утилит, присутствующих в актуальных версиях дистрибутивов. Теперь все форматы, заявленные как поддерживаемые — как минимум распаковываются. Для некоторых потребуется поставить сторонние утилиты, а вот поддержку формата .ha сделали встроенной — люди, которые помнят фидо, это оценят :)

CI для Mac и FreeBSD

Раньше автоматизированная сборка выполнялась только для Linux платформы, теперь скрипты continious integration есть и для BSD, и для Mac. Ошибки, проявляющиеся только на этих платформах, будут отлавливаться быстрее.

Рефакторинг

Устранена куча предупреждений компилятора и «мёртвого» кода. большая часть оставшихся — из colorer'а, который в неизменном виде берется из апстрима. Переписан код копирования файлов — улучшена поддержка символических ссылок, повышена производительность. Добавлена поддержка Copy-on-Write и sparse-файлов. Много небольших улучшений производительности, включая сетевую: поддержка сжатия SSH трафика в NetRocks и более оптимальное отображение интерфейса в терминалах.

Графический бекенд в отдельном модуле

Теперь графический бекенд, который рисует окно фара через wx widgets, собирается в отдельный модуль, который автоматически проверяет наличие нужных библиотек в системе, и, если их нет, far2l запускается в консольном режиме. Удобно: можно собрать этот модуль в отдельный пакет, зависимый от wx, а весь остальной far2l собрать в другой пакет без этой зависимости. Упростит установку на серверах без графики.

А нужна ли нам вообще wx версия, если в консоли теперь работает всё или почти всё? Есть мнение, что нужна — если мы хотим полноценный опыт работы с Far как-в-винде, без скидок и компромиссов. Обсуждаем это здесь.

PS: Все же знают, что есть пропатченная putty, в которой в far2l работает буфер обмена и все сочетания клавиш?

PPS: Энциклопедия Far 2 — от виндовой версии, и всё же полезна, там есть про макро язык, например.




Комментарии (102):

  1. rrrad
    /#23786601

    Мне кажется, Far под Windows уже достаточно давно (но видимо уже после начала разработки far4l, иначе в этой части вообще ничего не пришлось дорабатывать) использует sqlite для конфигов. Почему решили идти в сторону ini-файлов?

    • unxed
      /#23786623 / +6

      Дискуссии особой не было: @elfmz просто сделал .ini, и всех устроило :) Думаю, для полноценной БД тут не те объемы и нагрузка, вполне хватает и текстовых файлов. Ну и KISS-принцип же :)

      • rrrad
        /#23786659 / +3

        А обмен кодовой базой хоть в каком-то виде с оригинальным проектом ведётся (в обе стороны)?

        • unxed
          /#23786669 / +3

          Не особенно. Предлагали бекпортировать multiarc, так как в far2l он прямо хорош, куда интересней оригинала. Но заняться этим оказалось особенно некому.

          А, стоп. Движок regexp'ов в far2l как раз в этом году обновили из Far3, вот!

          • rrrad
            /#23786691

            Да, в MultiArc всегда немного раздражала промежуточная распковка tar.gz-архивов. Но думаю, с этим ничего не делали, т.к. формат для Windows не нативный, а для поддержки пришлось бы заметно усложнить сам плагин.

            Но в текущей версии Far'а на смену MultiArc-у пришел ArcLite (я про идущий плагин из коробки, вроде, какое-то время была возможность поставить MultiArc), в котором ценой уменьшения поддерживаемого числа записываемых форматов (по моему, плагин построен вокруг архиватора 7-zip, но доступны также zip/gzip/bzip2/tar/wim/xz) обеспечена более нативная работа (MultiArc запускает команды и это происходит слишком заметно для пользователя).

            Кстати, я не понял по поводу MultiArc. В плагине под оригинальный Far всегда была возможность добавления каких угодно форматов - необходимо было просто в диалоге настроек прописать команды для работы с этим форматом и используемое расширение. При этом не все команды были обязательными (как минимум, необходимо было указать команду для чтения архива). Таким образом, например, добавляли поддержку ISO-формата, подсовывая утилиту для чтения/распаковки образа, хотя из коробки он не поддерживался изначально.

            • unxed
              /#23786699 / +1

              Промежуточную распаковку .tar.gz в far2l давно убрали, к слову :)

    • IvanShatsky
      /#23786775 / +1

      Это было основное отличие Far 3 от Far 2, перенос всех параметров из реестра в sqlite'овые таблицы, основная цель, насколько я помню - сделать Far полностью портабельным. Чуть позже добавилось второе радикальное отличие - замена старого макроязыка на LUA движок (первые версии Far 3 всё ещё использовали старый макроязык). Ну а поскольку за основу для far2l были взяты исходники Far 2, решили по-видимому не усложнять и идти стандартным UNIX way, через текстовые конфиги.

  2. cmdorexe
    /#23786605

    Первый нах. Фидо помню и любил.

    Очень рад за проект, очень рад изменениям которые привнёс 2021 год.

    Если есть иксы зачем тратить время на WX?

    • amarao
      /#23786611

      Скорее вопрос в wayland. X'ы закапывают (авторы X'ов), так что либо будет большой форк, либо надо wayland.

      • unxed
        /#23786631

        Часть, привязанная к иксам, собирается в отдельный модуль. Если иксы завтра кончатся, ничего катастрофического не случится. И можно будет сделать такой же модуль для вэйленда со временем.

        • kekekeks
          /#23787403 / -1

          Не можно. Вейланд, как более лучший и современный протокол дисплейного сервера, даёт доступ к буферу обмена не когда попало, а когда окно приложения в фокусе. У консольного приложения своего собственного окна нет, оно в эмуляторе терминала находится. При запуске через ssh его тоже нет.

          • unxed
            /#23787417 / +2

            Посмотреть, как Parcellite будет выкручиваться, и сделать также ????????

    • unxed
      /#23786617 / +6

      Как пишет основной разработчик, в текстовых терминалках никогда не будет в точности так же, как в винде, мелкие недостатки там и тут убьют весь вкус классического Far. Он ведь хорош не потому, что он Far, а потому, что в нём есть много облегчающих жизнь мелочей, некоторые из которых сложно воспроизвести в *nix консоли. А вообще вопрос вполне интересный, такая дискуссия ведется тут.

  3. IvanShatsky
    /#23786715

    Если в wx версии, хотя бы в теории, можно было бы реализовать что-то наподобие такого функционала, как просмотр картинок - например, для Windows-версии есть такой макрос: https://forum.farmanager.com/viewtopic.php?t=8128 - то однозначно нужна. Понятно, что в обычной консоли через терминал такое невозможно, но если десктопная система - Linux, то наверное пусть будет. Может, со временем какой-нибудь API добавите, в графической версии на панели самостоятельно рисовать, и получилось бы что-то подобное написать.

  4. Max_D
    /#23786787 / +3

    Спасибо за проект, пользуюсь с удовольствием!

    Голосую за наличие простого установщика FAR для Маков. А то пока что далеко не каждый сможет его запустить на маке )

    • KoCMoHaBT61
      /#23787095

      А в чём проблема?

      • lexey111
        /#23787673

        например, вот
        бигсюр, всё актуальное

        • DVF
          /#23788499

          Это проблема или неустановленных Command Line Tools, или brew. У меня такое было, когда включал обратную совместимость в brew, работая на бета-версии мак-оси, потом забыл выключить, когда накатывал релиз. Сейчас точно не помню, что было, но проблема на форуме brew описана и решается.

          • lexey111
            /#23788517

            Всё установлено, всё свежее, brew актуальный. Решилось принудительной переустановкой CLT, как, собственно, прямо на экране и написано.

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

            Об этом и речь: хочется просто перетащить в applications, а оно чтоб само работало.

            • unxed
              /#23788555 / +1

              А просто взять отсюда .dmg — не работает?

              • lexey111
                /#23788563

                о! Спасибо тебе, добрый человек!
                Я с год назад или около того его ставил, или тогда не было, или пропустил.

      • Max_D
        /#23787961

        Прошу прощения, установщик для Маков оказывается уже есть - https://github.com/elfmz/far2l/releases

        Пару месяцев назад его еще не было (или я очень плохо смотрел). Проверил на голом ноуте жены - становится, ничего доставлять не требует )

    • unxed
      /#23787303

      Позвал маководов из чата в тред. Кстати, у нас чатик есть, подключайтесь: https://t.me/far2l_ru

  5. checkpoint
    /#23786807 / +1

    Спасибо за far2l, использую на десктопной FreeBSD.

    Хочу фичу: по Ctrl-Enter и Ctrl-F не эскейпить пробелы в пути с помощью символов "обратный слэш". Такой путь не принимается большинством X-овых приложений, приходится руками удалять слэши, что сильно напрягает. :)

    • kruphi
      /#23787853 / +2

      Для копирования в буфер обмена без экранирования обратным слэшом в far2l используются:
      Ctrl+Ins - имя файла
      Ctrl+Alt+Ins - полный путь

      ну а затем куда угодно можно вставить через Shift+Ins или Ctrl+V

      • checkpoint
        /#23789161 / +1

        Спасибо, не знал про эту фичу. Но, я бы предпочел опцию настроек для поведения Ctrl+F / Ctrl+Enter, так как кнопка Ins на моём ноутбуке доступна через кнопку Fn - получается страшная комбинация из четырех пальцев, да и Ctrl+F как-то привычней - рука уже автоматически тянется к ней. :-)

        Было бы не плохо сделать опцию "Escape method for file names" в "Command line settings" из трех вариантов: 1) Do not escape, 2) Escape using backslash, 3) Escape using quotes (Windows style).

        Сделал git clone и начал разбраться с тем, как в far2l организовано меню настроек.

        • mayorovp
          /#23789203 / +1

          Вариант "Do not escape" глупый, потому что в таком случае вставленное в командную строку имя файла не получится использовать в, собственно, командной строке.


          А вот вариант "Escape using quotes", по-хорошему, надо бы сделать вариантом по умолчанию. Потому что оно и в командной строке работать будет, и при необходимости в буфер обмена копировать удобно.

          • checkpoint
            /#23789219

            Вариант "Do not escape" глупый

            Но это как раз то, что мне требуется и я выше написал почему. Повторю: X-овые приложения не принимают обратный слэш или кавычки в путях. А вот путь с пробелами без слэшэй - очень даже принимают. По этому мне приходится постоянно ручками убирать слэши, что жутко напряжно.

            В качестве упрощенного варианта: сделать Ctrl+Shift+F и Ctrl+Shift+Enter которые бы вставляли в буфер обмена без слэшей, но я только что обнаружил что эти комбинации уже задействованы под какие-то не извесные мне фичи. :(

            • mayorovp
              /#23789679

              Убрать кавычки гораздо проще чем убрать бакслеши. На винде меня схожая необходимость ни разу не напрягала.

      • tendium
        /#23796189

        Интересно, а как в макоси, ведь на маках нет клавиши insert.

  6. forthuser
    /#23786857 / +1

    А, не рассматривалась ли возможность сделать возможность сборки проекта Far2L
    с минимальными зависимостями (т.е. базис оболочки по работе с файлами) для сборки стандартным GCC (devx пакет) используемым в сборках LiveCD Linux Puppy?

    P.S. Сейчас, по мере потребностей приходится использовать Double Commander с такой настроенной темой — doublecmd.xml.zip или из под Wine — Far2.

    Кстати, а Ваш проект DN2L в замороженном состоянии?
    А, то тут разработчики NDN запилили порт своего файл менеджера даже для KolibriOS.

    • unxed
      /#23787257 / +2

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

      DN2L сейчас не пилю активно, да. Может быть когда-нибудь продолжу :) Там фишка в том, что DN сделан на Turbo Vision. А паскалевская TV — проприетарная (в опенсорс только сишную выкладывали). Опенсорсная паскалевая TV есть тоже (из freepascal), она переделана из сишной, но там, похоже, не 100% совместимость, а в DN ещё и своя кастомизированная версия используется, как я понял. Пересадить его на опенсорсную TV — задачка нетривиальная, учитывая, что не очень ясно, как её на небольшие части попилить можно. Навскидку за десяток вечеров не вышло.

      Вероятно, NDN не показывает код именно потому, что с кодом этим есть юридические проблемки.

      • forthuser
        /#23787375

        Есть portable сборка, которая вообще на всём должна запускаться, по идее

        Да, спасибо portable версия запускается на LiveCD Linux 64,
        а 32-бит может быть собрана или как её собрать самостоятельно увидел скрипты для сборки.

        • unxed
          /#23787821 / +1

          Вот для i386. Только она на чуть более позднем дистре сделана (ubuntu 16.04), на более старых может не взлететь.

  7. borisxm
    /#23787091

    Регулярно пересобираю far2l, но в повседневном использовании он пока так и не сумел полностью вытеснить mc. Понимаю, что должен оформить полноценные баг-репорты или патчи, но все руки не доходят:

    • при просмотре бинарных файлов far2l стабильно сносит крышу терминалу kitty (начинает рисовать что попало): с одной стороны, терминал, конечно, сам по себе местами кривоват, но тот-же mc в аналогичных условиях, такого эффекта не производит;
    • хотелось бы консистентной поддержки схем оформления и режима 256-цветов в консоли — сейчас радикально поменять раскраску крайне сложно из-за необходимости перекрывать настройки в многочисленных правилах подсветки файлов. Если как-то добавить поддержку готовых схем из /usr/share/mc/skins, то это вообще будет праздник;
    • вроде у меня вполне дефолтная графическая конфигурация X11 для интеловской графики, но при этом wx версия в простое отъедает 3-4% процессорного времени на i5-6600K.

    • unxed
      /#23787293 / +1

      Я, конечно, тэгну основного разработчика, но тикеты вы, всё же, лучше запилите :)
      @elfmz

  8. savostin
    /#23787127

    Подскажите как пользоваться переназначением клавиш макросами? Что-то не понял. В частности на Макбуке нет Gray +, Gray - и Gray *

    • unxed
      /#23787297

      Ctrl+> запускает и останавливает запись клавиш для макроса. Потом у вас спросят комбинацию клавиш, по которой макрос должен выполняться.

      • savostin
        /#23787489 / +1

        Спасибо! У меня получилось так:

        [KeyMacros/Shell/Ctrl-]
        DisableOutput=0x1
        Sequence=F9 f n
        
        [KeyMacros/Shell/Ctrl=]
        DisableOutput=0x1
        Sequence=F9 f g
        
        [KeyMacros/Shell/RCtrl8]
        DisableOutput=0x1
        Sequence=F9 f i

  9. catBasilio
    /#23787231 / +4

    Слушайте, а можете сдалеть, чтобы при старте он не на home переходил, а открывал в панелях - текущий каталог.

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

    • unxed
      /#23787255

      far2l --tty --ee .

      • catBasilio
        /#23787281 / +4

        ну вот почему так? в том же mc достаточно просто его запустить. А тут еще наизусть флаги какие-то запоминать нужно. Неужели трудно сделать настройку, чтобы он по дефолту мог запускаться с текущим каталогом?

        • unxed
          /#23787311 / +2

          Конечно, нетрудно, это же Линукс!
          alias f='far2l --tty --ee .'

          И дальше запускайте просто по команде f

          • catBasilio
            /#23787337 / +25

            По моему, тут к месту бородатый анекдот:

            "В линкусе ты можешь настроить все.

            И ты будешь настраивать все!!!"

        • rrrad
          /#23788819

          это не far way. По хорошему, вы заглубляетесь с помощью far'а, а уже из него запускаете всё что нужно.

          Ну если лично вам не подходит - уже предлагали алиас.

          • catBasilio
            /#23788911 / +2

            Подходы к работе в win и linux отличаются.

            В винде - да, я с вами вогласен что запускается far и далее все работает через него.

            В линуксе же - основа это command line. Он и запускается первым, и работаем все в основном через него. А far /mc уже запускаются по-месту, когда это реально нужно

            • rrrad
              /#23789051 / +2

              Это зависит от предпочтений пользователя, здесь реализация системы вообще не при чём. Знаю людей, которые под linux из-под mc не вылазят в принципе, т.е., при запуске терминала первая команда - mc, а дальше вся работа (на сколько это возможно) производится через него. И кстати, по идее, никто не мешает прописать mc вместо sh/bash/zsh etc в качестве шелла при входе.

              Сам я совсем отвык от mc по двум причинам: немного странный кеймаппинг, который неохота изучать (я так понимаю, это в том числе следствие недоступности некоторых комбинаций клавиш в терминалах); а самое главное - в основном с linux-ом работаю на серверах, на половине из которых он просто не стоит (да и не стоит ставить лишний софт на production-сервера).

              • unxed
                /#23789173 / +2

                Именно для серверов, где ничего не стоит, я и сделал portable сборку far2l. Даже на shared хостингах работает.

      • catBasilio
        /#23787295

        кстати, только что проверил, не работает и --tty -ee.

        версию сказать не могу, так как

        far2l --version

        тоже не работает.

        • unxed
          /#23787313

          Пробел между --ee и точкой

          • catBasilio
            /#23787329 / +6

            выдает ошибку

            "It is impossible to edit the folder"

            К тому же вот скажите это какой должен быть уровен телепатии пользователя чтобы по описанию флагов:

            --tty - force using TTY backend only (disable GUI/TTY autodetection)

            --ee or --ee=N - ESC expiration in msec (100 if unspecified) to avoid need for double ESC presses

            Понять, что это приведет к запуску в текущем каталоге?

            • unxed
              /#23787343

              --tty запускает в консоли, без графического окна
              --ee избавляет от необходимости нажимать ESC дважды
              а вот
              -e задает файл, который нужно сразу открыть для редактирования

              путь в конце строки — папка, которую надо открыть на панели

              вообще-то, правильнее так:
              --tty --ee -cd .

              и, да, это есть в выдаче --help


      • unsignedchar
        /#23787637 / +6

        --ee — какой-то хак с Esc
        --tty — наверное, что-то связанное с терминалом
        Вместе — открывать текущий каталог. Логично ;)

        • unxed
          /#23787687
          • unsignedchar
            /#23787737 / +2

            КМК, логичное поведение для файл-манагера — открывать текущую директорию без специального тюнинга. И запускаться в том же терминале, где родитель, тоже. А у вас как-то наоборот.
            Да, как из него выходят то? ;) По F10 у меня вызывается меню терминала, по F9 (как у mc) меню выхода из программы я не нашел.

            • unxed
              /#23787785

              выход — ну, например, командой
              exit far
              по поводу контринтуитивного поведения можно тикет написать :)

    • IvanShatsky
      /#23787387 / +2

      Я решил для себя эту проблему правкой файла panel.ini

      [Panel/Left]
      ...
      Folder=$PWD

      Пробовал "наобум", но как ни странно, оно заработало, и именно так, как я и расчитывал. Единственный недостаток, если сохраняешь настройки через Shift-F9, приходится править panel.ini заново. Меня вот обратное больше интересует, как после выхода из far2l остаться в последнем рабочем каталоге? Пока не смог разобраться.

      • mayorovp
        /#23787521

        как после выхода из far2l остаться в последнем рабочем каталоге

        А никак. Дочерний процесс не может сменить текущую директорию родителю.

        • khim
          /#23787597 / +3

          Кого и когда это останавливало?

          alias mc='source /usr/lib/mc/mc-wrapper.sh'

          Работает же?

          Что мешает сделать такой же для far2l ?

          • IvanShatsky
            /#23787693 / +1

            О, спасибо большое за подсказку! На данный момент мешает отсутствие у far2l ключа, аналогичного по функциональности ключу -P для mc, но feature request разработчику уже в процессе написания :)

          • unxed
            /#23787695

            Отсутствие тикета, вероятно :)

  10. freezlite
    /#23787271 / +1

    Нужен ли FAR на линуксе когда есть MidnightCommander ?

    • mistergrim
      /#23787365 / +19

      Нужен ли теперь Midnight Commander, когда на линуксе наконец есть Far?

      • IvanShatsky
        /#23787439 / +3

        Я думал, что бы ответить, но варианта лучше придумать вряд ли бы смог. Пять баллов! [плачет]

      • vtb_k
        /#23790939 / -1

        Вообще тру линуксоидам ни mc ни far не нужен, когда есть vifm

        • vtb_k
          /#23791827

          Блин, новый парсер комментов съел </sarcasm>

    • Dolios
      /#23787437 / +2

      А почему бы и нет? Больше софта хорошего и разного. Другое дело, что я как лет 10 назад окончательно переехал на линух (начинал общение с компами года с 96 с DOS и vc, dos navigator и, конечно, far раньше использовал очень плотно) так я все чаще замечаю, что файловые менеджеры использую меньше и меньше. Мне гораздо удобнее делать файловые операции просто командами консоли.

    • savostin
      /#23787469 / +6

      Может я конечно "старая гвардия", но за 10 лет так и не привык к mc.

      А сегодня попробовал far2l и влюбился.

    • uburame
      /#23789133 / +1

      Определённо. Он гораздо более продвинут чем mc. К тому же развивается.

  11. unxed
    /#23787727 / +1

    Энциклопедия Far 2 — от виндовой версии, и всё же полезна, там есть про макро язык, например

  12. DirectX
    /#23787759 / +5

    И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.

    Вот как я тут недавно выяснил, это не баг, а это фича!

    А как выяснил? Купил новомодную 60% механическую клавиатуру, которая оказалась довольно-таки удобной, кроме того факта, что у нее нет функциональных клавиш. Ну нет - и нет, можно ведь нажать Fn + цифровую клавишу, и это будет F с нужным номером. Так ведь? И да и нет. Она действительно работает как F, но как дополнительная функция вроде громкости или подсветки. То, что делает Fn на стандартной клавиатуре, когда нажимаешь Fn+F. А вот найти дополнительную Fn или как-то перепрограммировать поведение не получилось.

    Так вот, к чему я. Esc в MC, как после этого я выяснил, используется как загадочная клавиша Meta, описанная в подсказках в меню. И если в подсказке написано например Meta+?, то это означает что нужно нажать Esc и сразу за этим последовательно ?. А Meta+1, 2... 9 делает то же самое, что и F1... F9. Ну и чтобы сработал Esc нужно использовать Meta+Esc или, иначе, Esc Esc. Вот и вся история, довльно логично и никакой мистики.

    • borisxm
      /#23788017 / +3

      используется как загадочная клавиша Meta
      Обычно Meta и Alt совпадают. Во многих терминалах последовательное нажатие Meta, Key эквивалентно одновременному нажатию Alt+Key. Но так было не всегда — раньше termcap'ы писали кто во что горазд, и единственным выходом являлось использование клавиши Esc. Даже сейчас, нажатие Alt-Tab обычно используют для переключения между окнами, поэтому автодополнение нужно вызывать через Esc-?..

      Одна из веселых комбинаций в редакторе: Esc,9,f,i — вставить текст из файла (аналог shift-F5)…

  13. lealxe
    /#23787941

    Попробовал, няшная штука. Один вопрос - если запускать из эмулятора терминала с `--notty`, пускается нормально. А если с той же опцией пускать из меню FVWM-а, процесс появляется, а окна нет. Могут быть явные причины?

    • unxed
      /#23787959

      А как FVWM должен угадать, в какой именно терминалке вы хотите его запустить?

      Попробуйте так:

      gnome-terminal -- far2l --tty --ee

    • unxed
      /#23787979

      А, пардон, прочитал неправильно, вам как раз графическая версия нужна. Хм, тогда не соображу сходу, он, похоже, почему-то всё же консольную пытается запускать, и она болтается без консоли в процессах как раз. Почему не хочет запускать графическую — не ясно, надо смотреть логи.

      export FAR2L_STD=/path/to/log/file

  14. srez
    /#23788557

    А не подскажите, как этот фар под маком запускать как отдельный апп, чтоб терминал не запускался? И как ему зафорсить чтоб тачбар в режиме ф-клавишь работал. А то они там дико неудобно и глючно тачбар поддержали, а в фаре это прямо важно. Я даже не пойму, как фар в список исключений добавить.

    • lexey111
      /#23788809

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

      А что с тачбаром не так? Вроде нормально пишет все действия, даже с модификаторами.

  15. ciuafm
    /#23788685

    Вопрос к автору. А можно скомпилить под UEFI? Было бы удобно запускать без операционки для рекавери, етц.

    • unxed
      /#23788691

      Это лучше тут спросить, а то автор чего-то пока не приходит в каменты :)

    • drWhy
      /#23788799

      Или как native приложение.

    • mayorovp
      /#23788873

      Это нужно ещё один порт писать будет.

  16. ogustbiller
    /#23788779 / +1

    Отличный формат дайджеста????

    Одобряю. Как всегда спасибо разработчикам.

  17. icCE
    /#23789619

    А кто собирал новую версию, с tmux работа все так же плохо ?

    • unxed
      /#23789785

      Вот тут пишут, что норм там всё.
      Если есть конкретные проблемы, может, стоит оформить тикет?

      • icCE
        /#23790301

        Хм Попробую собрать под centos7 новую версию и сделать тесты с tmux

      • icCE
        /#23790441

        Увы проблема есть Вот с tmux

  18. APh
    /#23789795 / +1

    Ого! Впервые узнал, что НАКОНЕЦ появился FAR для Linux.

    О функционале...
    Конечно, сил у небольшой команды сразу на всё не хватит (или же как-то грамотно разложить код с архитектурной точки зрения, чтобы поменьше переписывать), но нужна и чисто консольная версия (пусть с некоторыми ограничениями по функционалу), и версия максимально повторяющая Windows-поведение.

    На мой взгляд, необходимо МАКСИМАЛЬНО точно повторять поведение программы, а не функционал. Это поможет и популярности Линкуса, между прочим!!!

    Если какого-от функционала нет, так это и на Windows при разных версиях FAR наблюдается. Но, если на обоих разных версиях какая-то функция есть, то работает она одинаковыми клавишами!
    Если под Линукс придётся учить новые комбинации, то это уничтожит весь эффект! Придётся учить ещё одну новую программу! А тем, кто редко использует, придётся постоянно сидеть в документации, что оттолкнёт их и уменьшит популярность программы: вот, зачем мне, например, с целью сэкономить несколько секунд FAR'ом, перед этой экономией потратить 5 минут на изучение документации, как это делается в этом линуксовом ФАРе? Уж лучше я тогда просто за 15 секунд наберу ручками команду в чистой консоли.

    А, вот, то, что настройки Линуксового ФАРа могут делаться не так, как на виндовом — не страшно (в отличии от интерфейса пользователя). Это делается редко и всё равно без документации почти никогда не обойтись. Время на чтение придётся выделять в любом случае.

    При повышении популярности FAR2L, при его стандартизированном поведении на Windows и Linux, увеличится и интерес человечества к нему, и команда разработчиков автоматически вырастет!!!

    Желаю успехов! И буду пробовать! А, там, глядишь, и примкну... ))

    • icCE
      /#23790309

      но нужна и чисто консольная версия

      так far в чистой консоли и запускается, что не так ?

  19. Ironcast
    /#23789923

    Вот на днях я установил себе вот такой вот ностальгичный скрин под Far, как на первом скрине. Потом чуть пальцы не сбил когда рефлекторно когда хотел выйти из программы нажимал Alt+X И не сразу понял что же не работает :-)

  20. uburame
    /#23791217 / +1

    Немного потестировал - пока всё отлично, и уже вполне можно мигрировать с mc.

    Но вот не смог разобраться с жирным шрифтом: имена директорий и всех файлов кроме скрытых написаны болдом. Как это можно убрать? Речь про tty-режим.

    Ищу цветовую схему без ярких цветов...