Pull to refresh

Comments 113

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

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

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

Не особенно. Предлагали бекпортировать 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-формата, подсовывая утилиту для чтения/распаковки образа, хотя из коробки он не поддерживался изначально.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо за 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.

А, не рассматривалась ли возможность сделать возможность сборки проекта Far2L
с минимальными зависимостями (т.е. базис оболочки по работе с файлами) для сборки стандартным 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.

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

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

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

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

[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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

far2l --version

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

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

"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 запускает в консоли, без графического окна
--ee избавляет от необходимости нажимать ESC дважды
а вот
-e задает файл, который нужно сразу открыть для редактирования

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

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

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


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

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

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

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

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

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

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

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

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

Работает же?

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

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

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

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

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

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

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

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

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

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

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

UFO landed and left these words here

И ещё о консольном режиме. Не забываем про параметр командной строки --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? Было бы удобно запускать без операционки для рекавери, етц.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UFO landed and left these words here
UFO landed and left these words here

А выложите поправленную?

far2l хорош, но у нас разные вкусы - я не пользуюсь bash, а far2l не пользуется ничем кроме bash)))

Можно запилить тикет и попросить поддержку разных shell же

Кстати, никто не в курсе, почему при просмотре картинок из архивов, через несколько секунд они исчезают из вьюера?

Only those users with full accounts are able to leave comments. Log in, please.