Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.
Буфер обмена в консольной версии
Теперь far2l, как и mc, умеет использовать буфер обмена X11 даже в консольной версии (в графической умел с самого начала). Для этого собирается отдельный модуль взаимодействия с X, который загружается, только если в системе установлена библиотека libx11. Можно даже ходить на удаленные сервера через ssh -X, буфер обмена будет работать и там (опять же, если libx11 на сервере установлена).
И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.
Кстати, о клавиатуре в консоли. Горячие клавиши в сторонних терминалах поддерживаются практически все — по крайней мере, я знаю только про проблемы с комбинациями Ctrl+цифра, над ними идёт работа.
Человеческие сообщения об ошибках
Долгое время все сообщения об ошибках 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)
cmdorexe
05.12.2021 01:35Первый нах. Фидо помню и любил.
Очень рад за проект, очень рад изменениям которые привнёс 2021 год.
Если есть иксы зачем тратить время на WX?
amarao
05.12.2021 01:37Скорее вопрос в wayland. X'ы закапывают (авторы X'ов), так что либо будет большой форк, либо надо wayland.
unxed Автор
05.12.2021 01:42Часть, привязанная к иксам, собирается в отдельный модуль. Если иксы завтра кончатся, ничего катастрофического не случится. И можно будет сделать такой же модуль для вэйленда со временем.
kekekeks
05.12.2021 11:49-1Не можно. Вейланд, как более лучший и современный протокол дисплейного сервера, даёт доступ к буферу обмена не когда попало, а когда окно приложения в фокусе. У консольного приложения своего собственного окна нет, оно в эмуляторе терминала находится. При запуске через ssh его тоже нет.
unxed Автор
05.12.2021 01:39+6Как пишет основной разработчик, в текстовых терминалках никогда не будет в точности так же, как в винде, мелкие недостатки там и тут убьют весь вкус классического Far. Он ведь хорош не потому, что он Far, а потому, что в нём есть много облегчающих жизнь мелочей, некоторые из которых сложно воспроизвести в *nix консоли. А вообще вопрос вполне интересный, такая дискуссия ведется тут.
IvanShatsky
05.12.2021 02:19Если в wx версии, хотя бы в теории, можно было бы реализовать что-то наподобие такого функционала, как просмотр картинок - например, для Windows-версии есть такой макрос: https://forum.farmanager.com/viewtopic.php?t=8128 - то однозначно нужна. Понятно, что в обычной консоли через терминал такое невозможно, но если десктопная система - Linux, то наверное пусть будет. Может, со временем какой-нибудь API добавите, в графической версии на панели самостоятельно рисовать, и получилось бы что-то подобное написать.
unxed Автор
05.12.2021 02:19Обсуждалось такое, ага :)
https://github.com/elfmz/far2l/issues/601 например
https://github.com/elfmz/far2l/issues/356 или вот
Max_D
05.12.2021 03:31+3Спасибо за проект, пользуюсь с удовольствием!
Голосую за наличие простого установщика FAR для Маков. А то пока что далеко не каждый сможет его запустить на маке )
KoCMoHaBT61
05.12.2021 09:31А в чём проблема?
lexey111
05.12.2021 13:36например, вот
бигсюр, всё актуальноеDVF
05.12.2021 19:08Это проблема или неустановленных Command Line Tools, или brew. У меня такое было, когда включал обратную совместимость в brew, работая на бета-версии мак-оси, потом забыл выключить, когда накатывал релиз. Сейчас точно не помню, что было, но проблема на форуме brew описана и решается.
lexey111
05.12.2021 19:14Всё установлено, всё свежее, brew актуальный. Решилось принудительной переустановкой CLT, как, собственно, прямо на экране и написано.
Всё решается - мне даже на бете из исходников удалось собрать в итоге, но с час потратить пришлось.
Об этом и речь: хочется просто перетащить в applications, а оно чтоб само работало.
Max_D
05.12.2021 15:42Прошу прощения, установщик для Маков оказывается уже есть - https://github.com/elfmz/far2l/releases
Пару месяцев назад его еще не было (или я очень плохо смотрел). Проверил на голом ноуте жены - становится, ничего доставлять не требует )
unxed Автор
05.12.2021 11:14Позвал маководов из чата в тред. Кстати, у нас чатик есть, подключайтесь: https://t.me/far2l_ru
checkpoint
05.12.2021 03:52+1Спасибо за far2l, использую на десктопной FreeBSD.
Хочу фичу: по Ctrl-Enter и Ctrl-F не эскейпить пробелы в пути с помощью символов "обратный слэш". Такой путь не принимается большинством X-овых приложений, приходится руками удалять слэши, что сильно напрягает. :)
kruphi
05.12.2021 14:52+2Для копирования в буфер обмена без экранирования обратным слэшом в far2l используются:
Ctrl+Ins - имя файла
Ctrl+Alt+Ins - полный путьну а затем куда угодно можно вставить через Shift+Ins или Ctrl+V
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 организовано меню настроек.
mayorovp
06.12.2021 01:03+1Вариант "Do not escape" глупый, потому что в таком случае вставленное в командную строку имя файла не получится использовать в, собственно, командной строке.
А вот вариант "Escape using quotes", по-хорошему, надо бы сделать вариантом по умолчанию. Потому что оно и в командной строке работать будет, и при необходимости в буфер обмена копировать удобно.
checkpoint
06.12.2021 01:11Вариант "Do not escape" глупый
Но это как раз то, что мне требуется и я выше написал почему. Повторю: X-овые приложения не принимают обратный слэш или кавычки в путях. А вот путь с пробелами без слэшэй - очень даже принимают. По этому мне приходится постоянно ручками убирать слэши, что жутко напряжно.
В качестве упрощенного варианта: сделать Ctrl+Shift+F и Ctrl+Shift+Enter которые бы вставляли в буфер обмена без слэшей, но я только что обнаружил что эти комбинации уже задействованы под какие-то не извесные мне фичи. :(
mayorovp
06.12.2021 10:13Убрать кавычки гораздо проще чем убрать бакслеши. На винде меня схожая необходимость ни разу не напрягала.
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.unxed Автор
05.12.2021 10:59+2Есть portable сборка, которая вообще на всём должна запускаться, по идее. А зависимости большей частью опциональные — без них просто не соберутся некоторые плагины и часть функционала будет отсутствовать.
DN2L сейчас не пилю активно, да. Может быть когда-нибудь продолжу :) Там фишка в том, что DN сделан на Turbo Vision. А паскалевская TV — проприетарная (в опенсорс только сишную выкладывали). Опенсорсная паскалевая TV есть тоже (из freepascal), она переделана из сишной, но там, похоже, не 100% совместимость, а в DN ещё и своя кастомизированная версия используется, как я понял. Пересадить его на опенсорсную TV — задачка нетривиальная, учитывая, что не очень ясно, как её на небольшие части попилить можно. Навскидку за десяток вечеров не вышло.Вероятно, NDN не показывает код именно потому, что с кодом этим есть юридические проблемки.
forthuser
05.12.2021 11:43Есть portable сборка, которая вообще на всём должна запускаться, по идее
Да, спасибо portable версия запускается на LiveCD Linux 64,
а 32-бит может быть собрана иликак её собрать самостоятельноувидел скрипты для сборки.unxed Автор
05.12.2021 14:36+1Вот для i386. Только она на чуть более позднем дистре сделана (ubuntu 16.04), на более старых может не взлететь.
borisxm
05.12.2021 09:27Регулярно пересобираю
far2l
, но в повседневном использовании он пока так и не сумел полностью вытеснитьmc
. Понимаю, что должен оформить полноценные баг-репорты или патчи, но все руки не доходят:- при просмотре бинарных файлов
far2l
стабильно сносит крышу терминалуkitty
(начинает рисовать что попало): с одной стороны, терминал, конечно, сам по себе местами кривоват, но тот-жеmc
в аналогичных условиях, такого эффекта не производит; - хотелось бы консистентной поддержки схем оформления и режима 256-цветов в консоли — сейчас радикально поменять раскраску крайне сложно из-за необходимости перекрывать настройки в многочисленных правилах подсветки файлов. Если как-то добавить поддержку готовых схем из
/usr/share/mc/skins
, то это вообще будет праздник; - вроде у меня вполне дефолтная графическая конфигурация X11 для интеловской графики, но при этом wx версия в простое отъедает 3-4% процессорного времени на i5-6600K.
- при просмотре бинарных файлов
savostin
05.12.2021 09:55Подскажите как пользоваться переназначением клавиш макросами? Что-то не понял. В частности на Макбуке нет Gray +, Gray - и Gray *
unxed Автор
05.12.2021 11:12Ctrl+> запускает и останавливает запись клавиш для макроса. Потом у вас спросят комбинацию клавиш, по которой макрос должен выполняться.
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
catBasilio
05.12.2021 10:47+4Слушайте, а можете сдалеть, чтобы при старте он не на home переходил, а открывал в панелях - текущий каталог.
Ну не удобно же, забурился вглубь на 100500 каталогов, запустил far2l чтобы посмотреть файлы, а он раз, и выкинул опять на домашний каталог.
unxed Автор
05.12.2021 10:56far2l --tty --ee .
catBasilio
05.12.2021 11:07+4ну вот почему так? в том же mc достаточно просто его запустить. А тут еще наизусть флаги какие-то запоминать нужно. Неужели трудно сделать настройку, чтобы он по дефолту мог запускаться с текущим каталогом?
unxed Автор
05.12.2021 11:17+2Конечно, нетрудно, это же Линукс!
alias f='far2l --tty --ee .'И дальше запускайте просто по команде f
catBasilio
05.12.2021 11:31+25По моему, тут к месту бородатый анекдот:
"В линкусе ты можешь настроить все.
И ты будешь настраивать все!!!"
rrrad
05.12.2021 21:09это не far way. По хорошему, вы заглубляетесь с помощью far'а, а уже из него запускаете всё что нужно.
Ну если лично вам не подходит - уже предлагали алиас.
catBasilio
05.12.2021 21:54+2Подходы к работе в win и linux отличаются.
В винде - да, я с вами вогласен что запускается far и далее все работает через него.
В линуксе же - основа это command line. Он и запускается первым, и работаем все в основном через него. А far /mc уже запускаются по-месту, когда это реально нужно
rrrad
05.12.2021 23:24+2Это зависит от предпочтений пользователя, здесь реализация системы вообще не при чём. Знаю людей, которые под linux из-под mc не вылазят в принципе, т.е., при запуске терминала первая команда - mc, а дальше вся работа (на сколько это возможно) производится через него. И кстати, по идее, никто не мешает прописать mc вместо sh/bash/zsh etc в качестве шелла при входе.
Сам я совсем отвык от mc по двум причинам: немного странный кеймаппинг, который неохота изучать (я так понимаю, это в том числе следствие недоступности некоторых комбинаций клавиш в терминалах); а самое главное - в основном с linux-ом работаю на серверах, на половине из которых он просто не стоит (да и не стоит ставить лишний софт на production-сервера).
catBasilio
05.12.2021 11:12кстати, только что проверил, не работает и --tty -ee.
версию сказать не могу, так как
far2l --version
тоже не работает.
unxed Автор
05.12.2021 11:18Пробел между --ee и точкой
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
Понять, что это приведет к запуску в текущем каталоге?
unxed Автор
05.12.2021 11:33--tty запускает в консоли, без графического окна
--ee избавляет от необходимости нажимать ESC дважды
а вот
-e задает файл, который нужно сразу открыть для редактированияпуть в конце строки — папка, которую надо открыть на панели
вообще-то, правильнее так:
--tty --ee -cd .и, да, это есть в выдаче --help
unsignedchar
05.12.2021 13:20+6--ee — какой-то хак с Esc
--tty — наверное, что-то связанное с терминалом
Вместе — открывать текущий каталог. Логично ;)unxed Автор
05.12.2021 13:44unsignedchar
05.12.2021 14:12+2КМК, логичное поведение для файл-манагера — открывать текущую директорию без специального тюнинга. И запускаться в том же терминале, где родитель, тоже. А у вас как-то наоборот.
Да, как из него выходят то? ;) По F10 у меня вызывается меню терминала, по F9 (как у mc) меню выхода из программы я не нашел.unxed Автор
05.12.2021 14:28выход — ну, например, командой
exit far
по поводу контринтуитивного поведения можно тикет написать :)
IvanShatsky
05.12.2021 11:45+2Я решил для себя эту проблему правкой файла
panel.ini
[Panel/Left] ... Folder=$PWD
Пробовал "наобум", но как ни странно, оно заработало, и именно так, как я и расчитывал. Единственный недостаток, если сохраняешь настройки через Shift-F9, приходится править
panel.ini
заново. Меня вот обратное больше интересует, как после выхода из far2l остаться в последнем рабочем каталоге? Пока не смог разобраться.mayorovp
05.12.2021 12:31как после выхода из far2l остаться в последнем рабочем каталоге
А никак. Дочерний процесс не может сменить текущую директорию родителю.
khim
05.12.2021 13:04+3Кого и когда это останавливало?
alias mc='source /usr/lib/mc/mc-wrapper.sh'
Работает же?
Что мешает сделать такой же для far2l ?
IvanShatsky
05.12.2021 13:45+1О, спасибо большое за подсказку! На данный момент мешает отсутствие у far2l ключа, аналогичного по функциональности ключу -P для mc, но feature request разработчику уже в процессе написания :)
freezlite
05.12.2021 11:03+1Нужен ли FAR на линуксе когда есть MidnightCommander ?
mistergrim
05.12.2021 11:40+19Нужен ли теперь Midnight Commander, когда на линуксе наконец есть Far?
IvanShatsky
05.12.2021 12:07+3Я думал, что бы ответить, но варианта лучше придумать вряд ли бы смог. Пять баллов! [плачет]
Dolios
05.12.2021 12:07+2А почему бы и нет? Больше софта хорошего и разного. Другое дело, что я как лет 10 назад окончательно переехал на линух (начинал общение с компами года с 96 с DOS и vc, dos navigator и, конечно, far раньше использовал очень плотно) так я все чаще замечаю, что файловые менеджеры использую меньше и меньше. Мне гораздо удобнее делать файловые операции просто командами консоли.
savostin
05.12.2021 12:19+6Может я конечно "старая гвардия", но за 10 лет так и не привык к mc.
А сегодня попробовал far2l и влюбился.
unxed Автор
05.12.2021 14:09+1Энциклопедия Far 2 — от виндовой версии, и всё же полезна, там есть про макро язык, например
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. Вот и вся история, довльно логично и никакой мистики.
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)…
lealxe
05.12.2021 15:33Попробовал, няшная штука. Один вопрос - если запускать из эмулятора терминала с `--notty`, пускается нормально. А если с той же опцией пускать из меню FVWM-а, процесс появляется, а окна нет. Могут быть явные причины?
unxed Автор
05.12.2021 15:41А как FVWM должен угадать, в какой именно терминалке вы хотите его запустить?
Попробуйте так:
gnome-terminal -- far2l --tty --ee
unxed Автор
05.12.2021 15:47А, пардон, прочитал неправильно, вам как раз графическая версия нужна. Хм, тогда не соображу сходу, он, похоже, почему-то всё же консольную пытается запускать, и она болтается без консоли в процессах как раз. Почему не хочет запускать графическую — не ясно, надо смотреть логи.
export FAR2L_STD=/path/to/log/file
srez
05.12.2021 19:28А не подскажите, как этот фар под маком запускать как отдельный апп, чтоб терминал не запускался? И как ему зафорсить чтоб тачбар в режиме ф-клавишь работал. А то они там дико неудобно и глючно тачбар поддержали, а в фаре это прямо важно. Я даже не пойму, как фар в список исключений добавить.
lexey111
05.12.2021 21:05Поставить из дмг, запустить с клавишей кмд/ктрл, а то не сможет проверить разработчика, всё.
А что с тачбаром не так? Вроде нормально пишет все действия, даже с модификаторами.
ciuafm
05.12.2021 20:16Вопрос к автору. А можно скомпилить под UEFI? Было бы удобно запускать без операционки для рекавери, етц.
ogustbiller
05.12.2021 20:55+1Отличный формат дайджеста????
Одобряю. Как всегда спасибо разработчикам.
icCE
06.12.2021 09:49А кто собирал новую версию, с tmux работа все так же плохо ?
unxed Автор
06.12.2021 10:45Вот тут пишут, что норм там всё.
Если есть конкретные проблемы, может, стоит оформить тикет?
APh
06.12.2021 10:47+1Ого! Впервые узнал, что НАКОНЕЦ появился FAR для Linux.
О функционале...
Конечно, сил у небольшой команды сразу на всё не хватит (или же как-то грамотно разложить код с архитектурной точки зрения, чтобы поменьше переписывать), но нужна и чисто консольная версия (пусть с некоторыми ограничениями по функционалу), и версия максимально повторяющая Windows-поведение.
На мой взгляд, необходимо МАКСИМАЛЬНО точно повторять поведение программы, а не функционал. Это поможет и популярности Линкуса, между прочим!!!
Если какого-от функционала нет, так это и на Windows при разных версиях FAR наблюдается. Но, если на обоих разных версиях какая-то функция есть, то работает она одинаковыми клавишами!
Если под Линукс придётся учить новые комбинации, то это уничтожит весь эффект! Придётся учить ещё одну новую программу! А тем, кто редко использует, придётся постоянно сидеть в документации, что оттолкнёт их и уменьшит популярность программы: вот, зачем мне, например, с целью сэкономить несколько секунд FAR'ом, перед этой экономией потратить 5 минут на изучение документации, как это делается в этом линуксовом ФАРе? Уж лучше я тогда просто за 15 секунд наберу ручками команду в чистой консоли.
А, вот, то, что настройки Линуксового ФАРа могут делаться не так, как на виндовом — не страшно (в отличии от интерфейса пользователя). Это делается редко и всё равно без документации почти никогда не обойтись. Время на чтение придётся выделять в любом случае.
При повышении популярности FAR2L, при его стандартизированном поведении на Windows и Linux, увеличится и интерес человечества к нему, и команда разработчиков автоматически вырастет!!!
Желаю успехов! И буду пробовать! А, там, глядишь, и примкну... ))icCE
06.12.2021 12:41но нужна и чисто консольная версия
так far в чистой консоли и запускается, что не так ?
Ironcast
06.12.2021 11:27Вот на днях я установил себе вот такой вот ностальгичный скрин под Far, как на первом скрине. Потом чуть пальцы не сбил когда рефлекторно когда хотел выйти из программы нажимал Alt+X И не сразу понял что же не работает :-)
uburame
06.12.2021 16:30+1Немного потестировал - пока всё отлично, и уже вполне можно мигрировать с mc.
Но вот не смог разобраться с жирным шрифтом: имена директорий и всех файлов кроме скрытых написаны болдом. Как это можно убрать? Речь про tty-режим.Ищу цветовую схему без ярких цветов...
rrrad
Мне кажется, Far под Windows уже достаточно давно (но видимо уже после начала разработки far4l, иначе в этой части вообще ничего не пришлось дорабатывать) использует sqlite для конфигов. Почему решили идти в сторону ini-файлов?
unxed Автор
Дискуссии особой не было: @elfmz просто сделал .ini, и всех устроило :) Думаю, для полноценной БД тут не те объемы и нагрузка, вполне хватает и текстовых файлов. Ну и KISS-принцип же :)
rrrad
А обмен кодовой базой хоть в каком-то виде с оригинальным проектом ведётся (в обе стороны)?
unxed Автор
Не особенно. Предлагали бекпортировать multiarc, так как в far2l он прямо хорош, куда интересней оригинала. Но заняться этим оказалось особенно некому.
А, стоп. Движок regexp'ов в far2l как раз в этом году обновили из Far3, вот!
rrrad
Да, в MultiArc всегда немного раздражала промежуточная распковка tar.gz-архивов. Но думаю, с этим ничего не делали, т.к. формат для Windows не нативный, а для поддержки пришлось бы заметно усложнить сам плагин.
Но в текущей версии Far'а на смену MultiArc-у пришел ArcLite (я про идущий плагин из коробки, вроде, какое-то время была возможность поставить MultiArc), в котором ценой уменьшения поддерживаемого числа записываемых форматов (по моему, плагин построен вокруг архиватора 7-zip, но доступны также zip/gzip/bzip2/tar/wim/xz) обеспечена более нативная работа (MultiArc запускает команды и это происходит слишком заметно для пользователя).
Кстати, я не понял по поводу MultiArc. В плагине под оригинальный Far всегда была возможность добавления каких угодно форматов - необходимо было просто в диалоге настроек прописать команды для работы с этим форматом и используемое расширение. При этом не все команды были обязательными (как минимум, необходимо было указать команду для чтения архива). Таким образом, например, добавляли поддержку ISO-формата, подсовывая утилиту для чтения/распаковки образа, хотя из коробки он не поддерживался изначально.
unxed Автор
Промежуточную распаковку .tar.gz в far2l давно убрали, к слову :)
unxed Автор
Так что вот обмен кодовой базой, например:
https://github.com/elfmz/far2l/pull/1065
IvanShatsky
Это было основное отличие Far 3 от Far 2, перенос всех параметров из реестра в sqlite'овые таблицы, основная цель, насколько я помню - сделать Far полностью портабельным. Чуть позже добавилось второе радикальное отличие - замена старого макроязыка на LUA движок (первые версии Far 3 всё ещё использовали старый макроязык). Ну а поскольку за основу для far2l были взяты исходники Far 2, решили по-видимому не усложнять и идти стандартным UNIX way, через текстовые конфиги.