Comments 114
Мне кажется, Far под Windows уже достаточно давно (но видимо уже после начала разработки far4l, иначе в этой части вообще ничего не пришлось дорабатывать) использует sqlite для конфигов. Почему решили идти в сторону ini-файлов?
А обмен кодовой базой хоть в каком-то виде с оригинальным проектом ведётся (в обе стороны)?
Не особенно. Предлагали бекпортировать multiarc, так как в far2l он прямо хорош, куда интересней оригинала. Но заняться этим оказалось особенно некому.
А, стоп. Движок regexp'ов в far2l как раз в этом году обновили из Far3, вот!
Да, в MultiArc всегда немного раздражала промежуточная распковка tar.gz-архивов. Но думаю, с этим ничего не делали, т.к. формат для Windows не нативный, а для поддержки пришлось бы заметно усложнить сам плагин.
Но в текущей версии Far'а на смену MultiArc-у пришел ArcLite (я про идущий плагин из коробки, вроде, какое-то время была возможность поставить MultiArc), в котором ценой уменьшения поддерживаемого числа записываемых форматов (по моему, плагин построен вокруг архиватора 7-zip, но доступны также zip/gzip/bzip2/tar/wim/xz) обеспечена более нативная работа (MultiArc запускает команды и это происходит слишком заметно для пользователя).
Кстати, я не понял по поводу MultiArc. В плагине под оригинальный Far всегда была возможность добавления каких угодно форматов - необходимо было просто в диалоге настроек прописать команды для работы с этим форматом и используемое расширение. При этом не все команды были обязательными (как минимум, необходимо было указать команду для чтения архива). Таким образом, например, добавляли поддержку ISO-формата, подсовывая утилиту для чтения/распаковки образа, хотя из коробки он не поддерживался изначально.
Так что вот обмен кодовой базой, например:
https://github.com/elfmz/far2l/pull/1065
Бекпортировали поиск в помощи по F7 из Far3 вот
https://github.com/elfmz/far2l/commit/db8e1fe3581314575b2e1c7f76ca768a6a5e0302
Это было основное отличие Far 3 от Far 2, перенос всех параметров из реестра в sqlite'овые таблицы, основная цель, насколько я помню - сделать Far полностью портабельным. Чуть позже добавилось второе радикальное отличие - замена старого макроязыка на LUA движок (первые версии Far 3 всё ещё использовали старый макроязык). Ну а поскольку за основу для far2l были взяты исходники Far 2, решили по-видимому не усложнять и идти стандартным UNIX way, через текстовые конфиги.
Lua портировали для far2l вот:
https://github.com/elfmz/far2l/discussions/1197
Первый нах. Фидо помню и любил.
Очень рад за проект, очень рад изменениям которые привнёс 2021 год.
Если есть иксы зачем тратить время на WX?
Скорее вопрос в wayland. X'ы закапывают (авторы X'ов), так что либо будет большой форк, либо надо wayland.
Часть, привязанная к иксам, собирается в отдельный модуль. Если иксы завтра кончатся, ничего катастрофического не случится. И можно будет сделать такой же модуль для вэйленда со временем.
Не можно. Вейланд, как более лучший и современный протокол дисплейного сервера, даёт доступ к буферу обмена не когда попало, а когда окно приложения в фокусе. У консольного приложения своего собственного окна нет, оно в эмуляторе терминала находится. При запуске через ssh его тоже нет.
Как пишет основной разработчик, в текстовых терминалках никогда не будет в точности так же, как в винде, мелкие недостатки там и тут убьют весь вкус классического Far. Он ведь хорош не потому, что он Far, а потому, что в нём есть много облегчающих жизнь мелочей, некоторые из которых сложно воспроизвести в *nix консоли. А вообще вопрос вполне интересный, такая дискуссия ведется тут.
Если в wx версии, хотя бы в теории, можно было бы реализовать что-то наподобие такого функционала, как просмотр картинок - например, для Windows-версии есть такой макрос: https://forum.farmanager.com/viewtopic.php?t=8128 - то однозначно нужна. Понятно, что в обычной консоли через терминал такое невозможно, но если десктопная система - Linux, то наверное пусть будет. Может, со временем какой-нибудь API добавите, в графической версии на панели самостоятельно рисовать, и получилось бы что-то подобное написать.
Обсуждалось такое, ага :)
https://github.com/elfmz/far2l/issues/601 например
https://github.com/elfmz/far2l/issues/356 или вот
Спасибо за проект, пользуюсь с удовольствием!
Голосую за наличие простого установщика FAR для Маков. А то пока что далеко не каждый сможет его запустить на маке )
А в чём проблема?
![](https://habrastorage.org/getpro/habr/upload_files/e68/fcb/7c6/e68fcb7c654f622cda31ac50d9da7ae9.png)
например, вот
бигсюр, всё актуальное
Это проблема или неустановленных Command Line Tools, или brew. У меня такое было, когда включал обратную совместимость в brew, работая на бета-версии мак-оси, потом забыл выключить, когда накатывал релиз. Сейчас точно не помню, что было, но проблема на форуме brew описана и решается.
Всё установлено, всё свежее, brew актуальный. Решилось принудительной переустановкой CLT, как, собственно, прямо на экране и написано.
Всё решается - мне даже на бете из исходников удалось собрать в итоге, но с час потратить пришлось.
Об этом и речь: хочется просто перетащить в applications, а оно чтоб само работало.
Прошу прощения, установщик для Маков оказывается уже есть - https://github.com/elfmz/far2l/releases
Пару месяцев назад его еще не было (или я очень плохо смотрел). Проверил на голом ноуте жены - становится, ничего доставлять не требует )
Позвал маководов из чата в тред. Кстати, у нас чатик есть, подключайтесь: https://t.me/far2l_ru
Спасибо за far2l, использую на десктопной FreeBSD.
Хочу фичу: по Ctrl-Enter и Ctrl-F не эскейпить пробелы в пути с помощью символов "обратный слэш". Такой путь не принимается большинством X-овых приложений, приходится руками удалять слэши, что сильно напрягает. :)
Для копирования в буфер обмена без экранирования обратным слэшом в far2l используются:
Ctrl+Ins - имя файла
Ctrl+Alt+Ins - полный путь
ну а затем куда угодно можно вставить через Shift+Ins или Ctrl+V
Спасибо, не знал про эту фичу. Но, я бы предпочел опцию настроек для поведения 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 организовано меню настроек.
Вариант "Do not escape" глупый, потому что в таком случае вставленное в командную строку имя файла не получится использовать в, собственно, командной строке.
А вот вариант "Escape using quotes", по-хорошему, надо бы сделать вариантом по умолчанию. Потому что оно и в командной строке работать будет, и при необходимости в буфер обмена копировать удобно.
Вариант "Do not escape" глупый
Но это как раз то, что мне требуется и я выше написал почему. Повторю: X-овые приложения не принимают обратный слэш или кавычки в путях. А вот путь с пробелами без слэшэй - очень даже принимают. По этому мне приходится постоянно ручками убирать слэши, что жутко напряжно.
В качестве упрощенного варианта: сделать Ctrl+Shift+F и Ctrl+Shift+Enter которые бы вставляли в буфер обмена без слэшей, но я только что обнаружил что эти комбинации уже задействованы под какие-то не извесные мне фичи. :(
Интересно, а как в макоси, ведь на маках нет клавиши insert.
с минимальными зависимостями (т.е. базис оболочки по работе с файлами) для сборки стандартным GCC (devx пакет) используемым в сборках LiveCD Linux Puppy?
P.S. Сейчас, по мере потребностей приходится использовать Double Commander с такой настроенной темой — doublecmd.xml.zip или из под Wine — Far2.
Кстати, а Ваш проект DN2L в замороженном состоянии?
А, то тут разработчики NDN запилили порт своего файл менеджера даже для KolibriOS.
Есть portable сборка, которая вообще на всём должна запускаться, по идее. А зависимости большей частью опциональные — без них просто не соберутся некоторые плагины и часть функционала будет отсутствовать.
DN2L сейчас не пилю активно, да. Может быть когда-нибудь продолжу :) Там фишка в том, что DN сделан на Turbo Vision. А паскалевская TV — проприетарная (в опенсорс только сишную выкладывали). Опенсорсная паскалевая TV есть тоже (из freepascal), она переделана из сишной, но там, похоже, не 100% совместимость, а в DN ещё и своя кастомизированная версия используется, как я понял. Пересадить его на опенсорсную TV — задачка нетривиальная, учитывая, что не очень ясно, как её на небольшие части попилить можно. Навскидку за десяток вечеров не вышло.
Вероятно, NDN не показывает код именно потому, что с кодом этим есть юридические проблемки.
Есть portable сборка, которая вообще на всём должна запускаться, по идее
Да, спасибо portable версия запускается на LiveCD Linux 64,
а 32-бит может быть собрана или
Вот для i386. Только она на чуть более позднем дистре сделана (ubuntu 16.04), на более старых может не взлететь.
far2l
, но в повседневном использовании он пока так и не сумел полностью вытеснить mc
. Понимаю, что должен оформить полноценные баг-репорты или патчи, но все руки не доходят:- при просмотре бинарных файлов
far2l
стабильно сносит крышу терминалуkitty
(начинает рисовать что попало): с одной стороны, терминал, конечно, сам по себе местами кривоват, но тот-жеmc
в аналогичных условиях, такого эффекта не производит; - хотелось бы консистентной поддержки схем оформления и режима 256-цветов в консоли — сейчас радикально поменять раскраску крайне сложно из-за необходимости перекрывать настройки в многочисленных правилах подсветки файлов. Если как-то добавить поддержку готовых схем из
/usr/share/mc/skins
, то это вообще будет праздник; - вроде у меня вполне дефолтная графическая конфигурация X11 для интеловской графики, но при этом wx версия в простое отъедает 3-4% процессорного времени на i5-6600K.
Подскажите как пользоваться переназначением клавиш макросами? Что-то не понял. В частности на Макбуке нет Gray +, Gray - и Gray *
Ctrl+> запускает и останавливает запись клавиш для макроса. Потом у вас спросят комбинацию клавиш, по которой макрос должен выполняться.
Слушайте, а можете сдалеть, чтобы при старте он не на home переходил, а открывал в панелях - текущий каталог.
Ну не удобно же, забурился вглубь на 100500 каталогов, запустил far2l чтобы посмотреть файлы, а он раз, и выкинул опять на домашний каталог.
far2l --tty --ee .
ну вот почему так? в том же mc достаточно просто его запустить. А тут еще наизусть флаги какие-то запоминать нужно. Неужели трудно сделать настройку, чтобы он по дефолту мог запускаться с текущим каталогом?
Конечно, нетрудно, это же Линукс!
alias f='far2l --tty --ee .'
И дальше запускайте просто по команде f
unix way. alias не?
это не far way. По хорошему, вы заглубляетесь с помощью far'а, а уже из него запускаете всё что нужно.
Ну если лично вам не подходит - уже предлагали алиас.
Подходы к работе в win и linux отличаются.
В винде - да, я с вами вогласен что запускается far и далее все работает через него.
В линуксе же - основа это command line. Он и запускается первым, и работаем все в основном через него. А far /mc уже запускаются по-месту, когда это реально нужно
Это зависит от предпочтений пользователя, здесь реализация системы вообще не при чём. Знаю людей, которые под linux из-под mc не вылазят в принципе, т.е., при запуске терминала первая команда - mc, а дальше вся работа (на сколько это возможно) производится через него. И кстати, по идее, никто не мешает прописать mc вместо sh/bash/zsh etc в качестве шелла при входе.
Сам я совсем отвык от mc по двум причинам: немного странный кеймаппинг, который неохота изучать (я так понимаю, это в том числе следствие недоступности некоторых комбинаций клавиш в терминалах); а самое главное - в основном с linux-ом работаю на серверах, на половине из которых он просто не стоит (да и не стоит ставить лишний софт на production-сервера).
кстати, только что проверил, не работает и --tty -ee.
версию сказать не могу, так как
far2l --version
тоже не работает.
Пробел между --ee и точкой
выдает ошибку
"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
Понять, что это приведет к запуску в текущем каталоге?
--tty — наверное, что-то связанное с терминалом
Вместе — открывать текущий каталог. Логично ;)
Да, как из него выходят то? ;) По F10 у меня вызывается меню терминала, по F9 (как у mc) меню выхода из программы я не нашел.
Я решил для себя эту проблему правкой файла panel.ini
[Panel/Left]
...
Folder=$PWD
Пробовал "наобум", но как ни странно, оно заработало, и именно так, как я и расчитывал. Единственный недостаток, если сохраняешь настройки через Shift-F9, приходится править panel.ini
заново. Меня вот обратное больше интересует, как после выхода из far2l остаться в последнем рабочем каталоге? Пока не смог разобраться.
как после выхода из far2l остаться в последнем рабочем каталоге
А никак. Дочерний процесс не может сменить текущую директорию родителю.
Кого и когда это останавливало?
alias mc='source /usr/lib/mc/mc-wrapper.sh'
Работает же?
Что мешает сделать такой же для far2l ?
Нужен ли FAR на линуксе когда есть MidnightCommander ?
А почему бы и нет? Больше софта хорошего и разного. Другое дело, что я как лет 10 назад окончательно переехал на линух (начинал общение с компами года с 96 с DOS и vc, dos navigator и, конечно, far раньше использовал очень плотно) так я все чаще замечаю, что файловые менеджеры использую меньше и меньше. Мне гораздо удобнее делать файловые операции просто командами консоли.
Может я конечно "старая гвардия", но за 10 лет так и не привык к mc.
А сегодня попробовал far2l и влюбился.
Энциклопедия Far 2 — от виндовой версии, и всё же полезна, там есть про макро язык, например
И ещё о консольном режиме. Не забываем про параметр командной строки --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. Вот и вся история, довльно логично и никакой мистики.
используется как загадочная клавиша MetaОбычно Meta и Alt совпадают. Во многих терминалах последовательное нажатие Meta, Key эквивалентно одновременному нажатию Alt+Key. Но так было не всегда — раньше termcap'ы писали кто во что горазд, и единственным выходом являлось использование клавиши Esc. Даже сейчас, нажатие Alt-Tab обычно используют для переключения между окнами, поэтому автодополнение нужно вызывать через Esc-?..
Одна из веселых комбинаций в редакторе: Esc,9,f,i — вставить текст из файла (аналог shift-F5)…
Попробовал, няшная штука. Один вопрос - если запускать из эмулятора терминала с `--notty`, пускается нормально. А если с той же опцией пускать из меню FVWM-а, процесс появляется, а окна нет. Могут быть явные причины?
А как FVWM должен угадать, в какой именно терминалке вы хотите его запустить?
Попробуйте так:
gnome-terminal -- far2l --tty --ee
А, пардон, прочитал неправильно, вам как раз графическая версия нужна. Хм, тогда не соображу сходу, он, похоже, почему-то всё же консольную пытается запускать, и она болтается без консоли в процессах как раз. Почему не хочет запускать графическую — не ясно, надо смотреть логи.
export FAR2L_STD=/path/to/log/file
А не подскажите, как этот фар под маком запускать как отдельный апп, чтоб терминал не запускался? И как ему зафорсить чтоб тачбар в режиме ф-клавишь работал. А то они там дико неудобно и глючно тачбар поддержали, а в фаре это прямо важно. Я даже не пойму, как фар в список исключений добавить.
Вопрос к автору. А можно скомпилить под UEFI? Было бы удобно запускать без операционки для рекавери, етц.
Отличный формат дайджеста?
Одобряю. Как всегда спасибо разработчикам.
А кто собирал новую версию, с tmux работа все так же плохо ?
Вот тут пишут, что норм там всё.
Если есть конкретные проблемы, может, стоит оформить тикет?
Хм Попробую собрать под centos7 новую версию и сделать тесты с tmux
Увы проблема есть Вот с tmux
![](https://habrastorage.org/getpro/habr/upload_files/ce4/803/ffb/ce4803ffb8999d92fd3d3684e07ebf0b.png)
вот без
![](https://habrastorage.org/getpro/habr/upload_files/776/003/16b/77600316b56bec5da2d0f330f4b6c612.png)
Спасибо за тестирование!
https://github.com/elfmz/far2l/issues ;)
Ого! Впервые узнал, что НАКОНЕЦ появился FAR для Linux.
О функционале...
Конечно, сил у небольшой команды сразу на всё не хватит (или же как-то грамотно разложить код с архитектурной точки зрения, чтобы поменьше переписывать), но нужна и чисто консольная версия (пусть с некоторыми ограничениями по функционалу), и версия максимально повторяющая Windows-поведение.
На мой взгляд, необходимо МАКСИМАЛЬНО точно повторять поведение программы, а не функционал. Это поможет и популярности Линкуса, между прочим!!!
Если какого-от функционала нет, так это и на Windows при разных версиях FAR наблюдается. Но, если на обоих разных версиях какая-то функция есть, то работает она одинаковыми клавишами!
Если под Линукс придётся учить новые комбинации, то это уничтожит весь эффект! Придётся учить ещё одну новую программу! А тем, кто редко использует, придётся постоянно сидеть в документации, что оттолкнёт их и уменьшит популярность программы: вот, зачем мне, например, с целью сэкономить несколько секунд FAR'ом, перед этой экономией потратить 5 минут на изучение документации, как это делается в этом линуксовом ФАРе? Уж лучше я тогда просто за 15 секунд наберу ручками команду в чистой консоли.
А, вот, то, что настройки Линуксового ФАРа могут делаться не так, как на виндовом — не страшно (в отличии от интерфейса пользователя). Это делается редко и всё равно без документации почти никогда не обойтись. Время на чтение придётся выделять в любом случае.
При повышении популярности FAR2L, при его стандартизированном поведении на Windows и Linux, увеличится и интерес человечества к нему, и команда разработчиков автоматически вырастет!!!
Желаю успехов! И буду пробовать! А, там, глядишь, и примкну... ))
Вот на днях я установил себе вот такой вот ностальгичный скрин под Far, как на первом скрине. Потом чуть пальцы не сбил когда рефлекторно когда хотел выйти из программы нажимал Alt+X И не сразу понял что же не работает :-)
Кстати, никто не в курсе, почему при просмотре картинок из архивов, через несколько секунд они исчезают из вьюера?
Обсуждение переноса поддержки Far2l Extensions в kitty:
https://habr.com/ru/post/524370/comments/#comment_23805667
Немножко статистики из чата (общее число голосов около 30)
portalbe-сборки для linux теперь есть не только для amd64, но и для i386 и для aarch64
ура, мы теперь beta!
https://github.com/elfmz/far2l/commit/3159e2101b077dbb6418d649cf21b42a3c79bbc5
Линукс-порт Far Manager: что нового за 2021