Версия 0.4. Поддержка плагинов, пока что довольно слабая.
http://diamondz.land.ru/kfar
http://diamondz.land.ru/kfar_src.7z (исходники, включают описание API для плагинов)
http://diamondz.land.ru/kfar.ini
Список загружаемых плагинов берётся из ini-файла, там есть комментарии.
"архив=папка" подразумевалось по умолчанию. Имелась в виду работа клавиш на плагинной панели. Работают встроенный просмотрщик (F3) и операция копирования (F5) из плагинной панели. Про FAR'овскую команду Shift+F2 я знаю, а kfar ещё нет.
В меню выбора дисков начиная с ядра svn.588 для CD работают клавиши Ins и Del наподобие FAR'овского поведения - Ins загружает диск, Del, соответственно, наоборот.
По заявкам телезрителей (для справки: греческая приставка "теле" означает "далеко") в ini-файле появились параметры LeftViewMode и RightViewMode, определяющие стартовый режим - от 1 до 4.
Плагин KFar_Arc умеет заходить и работать с архивами 7-Zip.
http://diamondz.land.ru/kfar_arc.obj
http://diamondz.land.ru/kfar_arc_src.7z
Вышеупомянутый ini-файл рассчитывает на то, что kfar_arc.obj располагается в той же папке, что и kfar, но при желании можно указать другое размещение плагина.
Методы сжатия BZip2 и Deflate пока не поддерживаются, но в *.7z они бесполезны, поскольку LZMA и PPMD (поддерживаемые в полной мере) сжимают лучше. Если архив защищён паролем, плагин запросит пароль у пользователя (либо при входе в архив, если заголовок зашифрован, либо при обращении к зашифрованным файлам в противном случае).
Между прочим, формат 7z допускает всяческие извращения. Например, http://diamondz.land.ru/call$.7z - архив, содержащий сам себя. Или даже http://diamondz.land.ru/call$.2.7z - архив, содержащий сам себя и ещё несколько файлов. А вот http://diamondz.land.ru/jmp$.7z : при попытке его открыть 7-zip'овский код намертво завешивается (причём неважно, чем открывают архив: 7z/WinRAR/плагин к FAR/TC), правда, kfar_arc так просто не завесить.
KFAR - полноценный файловый менеджер
-
Ушёл к умным, знающим и культурным людям.
diamond
Безусловно тоже снимаю шляпу.
Очень хотелось бы узнать о процессе разработки плагина KFar_Arc. Он писался с нуля? или использовались открытые исходники 7-zip? Я их изучал, если так можно сказать.. Мне показались они очень сложными. Видно, что при разработке плагина был проделан колоссальный труд.
Безусловно тоже снимаю шляпу.
Очень хотелось бы узнать о процессе разработки плагина KFar_Arc. Он писался с нуля? или использовались открытые исходники 7-zip? Я их изучал, если так можно сказать.. Мне показались они очень сложными. Видно, что при разработке плагина был проделан колоссальный труд.
Serial
Ну не такие уж исходники 7-Zip и сложные, особенно, если знать, что и в каком файле искать... Кстати, если кто-нибудь собирается изучать формат 7z, настоятельно рекомендую именно первоисточник (особенно если учесть, что туда входит описание формата как таковое).
Загрузка 7-Zip архивов в основном повторяет действия из 7zip\Archive\7z\7zIn.cpp, общая процедура распаковки писалась с нуля независимо от 7-zip'овской, декодеры PPMD,BCJ,BCJ2 просто переписаны с соответствующего C++-кода из исходников 7-Zip на fasm с учётом специфики моей распаковки, декодер LZMA - немного модифицированный unpacker.inc, который в Колибри используется в куче мест, начиная от ядра и KlbrInWin и заканчивая desktop'ом и который в свою очередь представляет собой оптимизированный первоначальный вариант, портированный уже не из 7-Zip, а из LZMA SDK, где находится Сишный (не C++) вариант. AES и SHA256 писал с нуля, используя спецификации алгоритмов.
Ну не такие уж исходники 7-Zip и сложные, особенно, если знать, что и в каком файле искать... Кстати, если кто-нибудь собирается изучать формат 7z, настоятельно рекомендую именно первоисточник (особенно если учесть, что туда входит описание формата как таковое).
Загрузка 7-Zip архивов в основном повторяет действия из 7zip\Archive\7z\7zIn.cpp, общая процедура распаковки писалась с нуля независимо от 7-zip'овской, декодеры PPMD,BCJ,BCJ2 просто переписаны с соответствующего C++-кода из исходников 7-Zip на fasm с учётом специфики моей распаковки, декодер LZMA - немного модифицированный unpacker.inc, который в Колибри используется в куче мест, начиная от ядра и KlbrInWin и заканчивая desktop'ом и который в свою очередь представляет собой оптимизированный первоначальный вариант, портированный уже не из 7-Zip, а из LZMA SDK, где находится Сишный (не C++) вариант. AES и SHA256 писал с нуля, используя спецификации алгоритмов.
Я думаю, теперь надо для Kfar завести отдельную папку, корневую он уже перерос
Потестил плагин. Работает практически безотказно!
Только я не понял, как упаковывать?
Только я не понял, как упаковывать?
Вчера и сегодня залез во все имеющиеся у меня архивы 7z, копировал из них на раздел FAT32, просматривал по F3 и не заметил ни единого глюка! Smile
Только прошу ещё сделать запуск программ по Enter прямо из архива.
Только прошу ещё сделать запуск программ по Enter прямо из архива.
Значит, так, опережая расспросы. К версии 0.5 в kfar появится встроенный редактор. К версии 1.0 будет упаковка в 7z и, возможно, zip.
1. Программа в архиве может ссылаться на какие-нибудь файлы в том же архиве (простейший пример - kfm*.7z, в котором kfm.kex загружает bmp и ini).
2. (основная) Запустить файл можно только с диска. То есть нужно что-нибудь типа "временной папки" (%TEMP%/%TMP%). Но в Колибри сделать такое может быть просто невозможно - рамдиск забит, а все жёсткие диски могут быть либо вообще невидимыми (SATA), либо с NTFS.
С этим есть некоторые проблемы:Только прошу ещё сделать запуск программ по Enter прямо из архива.
1. Программа в архиве может ссылаться на какие-нибудь файлы в том же архиве (простейший пример - kfm*.7z, в котором kfm.kex загружает bmp и ini).
2. (основная) Запустить файл можно только с диска. То есть нужно что-нибудь типа "временной папки" (%TEMP%/%TMP%). Но в Колибри сделать такое может быть просто невозможно - рамдиск забит, а все жёсткие диски могут быть либо вообще невидимыми (SATA), либо с NTFS.
Сорри, это было первое пришедшее в голову. Второй пример - dosbox.7z, где dosbox загружает conf-файл с настройками.
Похоже, мы говорим о разных вещах. Я имел в виду возможности типа "подвесить на Ctrl+Alt+W действия <F4>,<Ctrl+End>,<Enter>,<Ctrl+V>,<F2>,<Esc>", которые в FAR реализуются через <Ctrl+.>,[нажать необходимые клавиши],<Ctrl+.>,[задать комбинацию] или специальным плагином - это в FAR'овской документации называется макросами.Mike wrote:хм, diamond, я думал ты в курсе.. угу, типа того. только + несколько интересных вещей типа циклов, условий, отрисовки своих диалогов
я часто использую макросы, причем держу их не в реестре, а использую из пользовательского меню. вот пара примеров: Код:
I: IP Info
del /q "%temp%\ipinfo.txt"
ipconfig /all> %temp%\ipinfo.txt
edit:"%temp%\ipinfo.txt"
macro:post CtrlHome $Rep (Editor.Lines) $if (len(Editor.value)==0) CtrlY $end Down $end CtrlHome F2
U: UPX - Pack
"%FarHome%\Tools\UPX v.2.03w\upx.exe" -!?compression level: 1 - faster, 9 - better:?! -k "!/!.!"
А ты, похоже, говоришь про главное меню, вызываемое по F2. На самом деле сделать такое относительно несложно (проще, скажем, редактора), но при текущем состоянии дел в Колибри не факт, что это принесёт много пользы - программ довольно мало (я имею в виду программы, результат которых имеет смысл для других программ, типа ipconfig), перенаправления ввода-вывода нет, связь с другими программами возможна только через IPC и когда обе программы этого хотят...
К сожалению, по скорости копирования Kfar сильно отстаёт от Kfm...
Я только что в тестовом порядке копировал фильм размером 822 мб с раздела /hd0/2/ (NTFS) на раздел /hd0/1/ (FAT32).
Kfar копировал 20 минут. Я не стал дожидаться окончания копирования. Скопировалось меньше половины фильма
Kfm скопировал его ровно за минуту.
Почему такая огромная разница?
Я только что в тестовом порядке копировал фильм размером 822 мб с раздела /hd0/2/ (NTFS) на раздел /hd0/1/ (FAT32).
Kfar копировал 20 минут. Я не стал дожидаться окончания копирования. Скопировалось меньше половины фильма
Kfm скопировал его ровно за минуту.
Почему такая огромная разница?
[offtop]похоже даже у порта фара это больное место[/offtop]
diamond
пример айпиинфо есть комбинированное ваяние - макрос
запускается по окончании работы "bat" части
...
однако, пожалуй, да. согласен. на данный момент пока рановато для макроязыка. редактор действительно важнее.
p.s. на заметку - в стане FARteam на данный момент активно обсуждается вопрос открытия сырцов. тема поднималась уже не раз, однако сейчас, похоже, все серьезно..
diamond
пример айпиинфо есть комбинированное ваяние - макрос
Code: Select all
macro:post CtrlHome $Rep (Editor.Lines) $if (len(Editor.value)==0) CtrlY $end Down $end CtrlHome F2
Code: Select all
del /q "%temp%\ipinfo.txt"
ipconfig /all> %temp%\ipinfo.txt
edit:"%temp%\ipinfo.txt"
однако, пожалуй, да. согласен. на данный момент пока рановато для макроязыка. редактор действительно важнее.
p.s. на заметку - в стане FARteam на данный момент активно обсуждается вопрос открытия сырцов. тема поднималась уже не раз, однако сейчас, похоже, все серьезно..
А что с Mfar и Kolibri Comander? Они больше не развиваются?
Мне кажется, их развитие нисколько не повредило ведущим на данный момент менеджерам файлов, наоборот - было бы больше конкуренции, а пользователю - больше выбора.
Атауальпа
Они были хорошими попытками и показали, что нет ничего невозможного. В остальном согласен с Маратом
Они были хорошими попытками и показали, что нет ничего невозможного. В остальном согласен с Маратом
в принципе не факт... Kolibri Comander довольно хорошее начинание и возможно его доведут до ума когда-нибудь... т.е. до 100% аналога Total и т.п.
Who is online
Users browsing this forum: No registered users and 1 guest