Предыдущий пост про порт 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
    05.12.2021 01:32

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


    1. unxed Автор
      05.12.2021 01:41
      +6

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


      1. rrrad
        05.12.2021 01:53
        +3

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


        1. unxed Автор
          05.12.2021 01:57
          +3

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

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


          1. rrrad
            05.12.2021 02:07

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

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

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


            1. unxed Автор
              05.12.2021 02:10
              +1

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


        1. unxed Автор
          05.12.2021 02:03
          +1

          Так что вот обмен кодовой базой, например:
          https://github.com/elfmz/far2l/pull/1065


    1. IvanShatsky
      05.12.2021 03:18
      +1

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


  1. cmdorexe
    05.12.2021 01:35

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

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

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


    1. amarao
      05.12.2021 01:37

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


      1. unxed Автор
        05.12.2021 01:42

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


        1. kekekeks
          05.12.2021 11:49
          -1

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


          1. unxed Автор
            05.12.2021 12:02
            +2

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


    1. unxed Автор
      05.12.2021 01:39
      +6

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


  1. IvanShatsky
    05.12.2021 02:19

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


    1. unxed Автор
      05.12.2021 02:19

      Обсуждалось такое, ага :)
      https://github.com/elfmz/far2l/issues/601 например
      https://github.com/elfmz/far2l/issues/356 или вот


  1. Max_D
    05.12.2021 03:31
    +3

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

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


    1. KoCMoHaBT61
      05.12.2021 09:31

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


      1. lexey111
        05.12.2021 13:36

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


        1. DVF
          05.12.2021 19:08

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


          1. lexey111
            05.12.2021 19:14

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

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

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


            1. unxed Автор
              05.12.2021 19:27
              +1

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


              1. lexey111
                05.12.2021 19:30

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


      1. Max_D
        05.12.2021 15:42

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

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


    1. unxed Автор
      05.12.2021 11:14

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


  1. checkpoint
    05.12.2021 03:52
    +1

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

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



    1. kruphi
      05.12.2021 14:52
      +2

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

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


      1. checkpoint
        06.12.2021 00:20
        +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 организовано меню настроек.


        1. mayorovp
          06.12.2021 01:03
          +1

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


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


          1. checkpoint
            06.12.2021 01:11

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

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

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


            1. mayorovp
              06.12.2021 10:13

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


      1. tendium
        07.12.2021 21:57

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


  1. forthuser
    05.12.2021 04:35
    +1

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

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

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


    1. unxed Автор
      05.12.2021 10:59
      +2

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

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

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


      1. forthuser
        05.12.2021 11:43

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

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


        1. unxed Автор
          05.12.2021 14:36
          +1

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


  1. borisxm
    05.12.2021 09:27

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

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


    1. unxed Автор
      05.12.2021 11:10
      +1

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


  1. savostin
    05.12.2021 09:55

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


    1. unxed Автор
      05.12.2021 11:12

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


      1. savostin
        05.12.2021 12:24
        +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


  1. catBasilio
    05.12.2021 10:47
    +4

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

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


    1. unxed Автор
      05.12.2021 10:56

      far2l --tty --ee .


      1. catBasilio
        05.12.2021 11:07
        +4

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


        1. unxed Автор
          05.12.2021 11:17
          +2

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

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


          1. catBasilio
            05.12.2021 11:31
            +25

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

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

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


        1. HectorPrima
          05.12.2021 11:20
          +1

          unix way. alias не?


        1. rrrad
          05.12.2021 21:09

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

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


          1. catBasilio
            05.12.2021 21:54
            +2

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

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

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


            1. rrrad
              05.12.2021 23:24
              +2

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

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


              1. unxed Автор
                06.12.2021 00:32
                +2

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


      1. catBasilio
        05.12.2021 11:12

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

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

        far2l --version

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


        1. unxed Автор
          05.12.2021 11:18

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


          1. catBasilio
            05.12.2021 11:28
            +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

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


            1. unxed Автор
              05.12.2021 11:33

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

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

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

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



      1. unsignedchar
        05.12.2021 13:20
        +6

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


        1. unxed Автор
          05.12.2021 13:44

          1. unsignedchar
            05.12.2021 14:12
            +2

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


            1. unxed Автор
              05.12.2021 14:28

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


    1. IvanShatsky
      05.12.2021 11:45
      +2

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

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

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


      1. mayorovp
        05.12.2021 12:31

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

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


        1. khim
          05.12.2021 13:04
          +3

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

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

          Работает же?

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


          1. IvanShatsky
            05.12.2021 13:45
            +1

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


          1. unxed Автор
            05.12.2021 13:46

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


  1. freezlite
    05.12.2021 11:03
    +1

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


    1. mistergrim
      05.12.2021 11:40
      +19

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


      1. IvanShatsky
        05.12.2021 12:07
        +3

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


      1. ogustbiller
        05.12.2021 20:53

        точно так!


      1. vtb_k
        06.12.2021 15:22
        -1

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


        1. vtb_k
          06.12.2021 18:53

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


    1. Dolios
      05.12.2021 12:07
      +2

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


    1. savostin
      05.12.2021 12:19
      +6

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

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


    1. uburame
      06.12.2021 00:08
      +1

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


  1. unxed Автор
    05.12.2021 14:09
    +1

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


  1. DirectX
    05.12.2021 14:23
    +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. Вот и вся история, довльно логично и никакой мистики.


    1. borisxm
      05.12.2021 15:59
      +3

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

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


  1. lealxe
    05.12.2021 15:33

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


    1. unxed Автор
      05.12.2021 15:41

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

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

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


    1. unxed Автор
      05.12.2021 15:47

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

      export FAR2L_STD=/path/to/log/file


  1. srez
    05.12.2021 19:28

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


    1. unxed Автор
      05.12.2021 19:37

      Это лучше спросить в чатике, там есть несколько маководов. Или вот здесь.


    1. lexey111
      05.12.2021 21:05

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

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


  1. ciuafm
    05.12.2021 20:16

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


    1. unxed Автор
      05.12.2021 20:19

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


    1. drWhy
      05.12.2021 21:00

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


    1. mayorovp
      05.12.2021 21:34

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


  1. ogustbiller
    05.12.2021 20:55
    +1

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

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


  1. icCE
    06.12.2021 09:49

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


    1. unxed Автор
      06.12.2021 10:45

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


      1. icCE
        06.12.2021 12:40

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


      1. icCE
        06.12.2021 13:12

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


        1. icCE
          06.12.2021 13:13

          вот без


          1. unxed Автор
            06.12.2021 13:25

            Спасибо за тестирование!
            https://github.com/elfmz/far2l/issues ;)


            1. icCE
              06.12.2021 13:45

              Да видимо проблема в самом tmux, так как в 7 centos он версии 1.8 :) в 3.x все нормально


              1. icCE
                06.12.2021 13:50

                Хотя вот черно белый режим не работает ^_^


  1. APh
    06.12.2021 10:47
    +1

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

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

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

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

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

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

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


    1. icCE
      06.12.2021 12:41

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

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


  1. Ironcast
    06.12.2021 11:27

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


  1. uburame
    06.12.2021 16:30
    +1

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

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

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


    1. unxed Автор
      06.12.2021 16:51
      +1

      1. uburame
        07.12.2021 14:31

        Тут тоже используются яркие цвета, и терминал их отрисовывает болдом, что мне лично не нравится. Да и лишняя яркость не нравится. Я уже поправил сам, но в любом случае спасибо!