Ru-Board.club
← Вернуться в раздел «Программы»

» Far Manager

Автор: Angel_Ka
Дата сообщения: 04.04.2016 23:03
Victor_VG
Понятно. Благодарю Вас за своевременную информацию!
Автор: Alexyz21
Дата сообщения: 05.04.2016 10:43
Shmuel
В lua5.1.exe (Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio), коим пользовался до FAR3 и продолжаю пользоваться вне его, можно употреблять конструкции string:gmatch(pattern) - единообразие в синтаксисе для всех функций - это удобно.

Почему в FAR3 используется compiled_pattern:func(string)? - Интуитивно я ожидал string:func(compiled_pattern или not_compiled_pattern).
Автор: shmuz1
Дата сообщения: 05.04.2016 11:08
Alexyz21

Цитата:
Почему в FAR3 используется compiled_pattern:func(string)? - Интуитивно я ожидал string:func(compiled_pattern или not_compiled_pattern).

Есть разные причины для этого. Одна из причин - это использование одинаковых имён (например, "match") как для библиотеки string, так и для библиотеки regex. Кроме того, никто не запрещает подгрузить ещё и внешнюю библиотеку, например rex_pcre - там тоже есть метод match. Как Lua узнает, который match нужно вызвать, если метатаблица Lua-типа string определяет только "свой" match?

Сразу оговорюсь, что дискутировать это не буду.
Автор: Victor_VG
Дата сообщения: 05.04.2016 18:19
Глянул тут плагин Creware FileVersionInfo - ну на первый взгляд интересен, но доработка нужна т.к.:

1) вариант для far3 конфликтует с FarHints что непредсказуемо вызывает AV в последнем;
2) замечен конфликт с FarColorer при просмотре Lua файлов приводящий к отключению
последнего, при этом поймать условия возникновения ошибок сложно - ошибка может воспроизвестись на казалось бы ровном месте, а после удаления данного плагина воспроизвести её невозможно.

Т.к. управления и настроек у него нет, то звал его через скрипт:

Цитата:
local CVID="CC79335A-4CBB-4583-A5E8-6D68BE1628DF"
local CVMID="A5305211-C599-4C77-A263-9BC7644B1248"

Macro {
description="Creware FileVersionInfo Plugin"; area="Shell View"; key="AltShiftV"; action=function()
Plugin.Menu(CVID,CVMID)
end;
}

на нём и сбой колорера получил. Из косметики - код выводит версии ОС для которой собран бинарник, но выше XP/2003 ОС не знает.

Что до 1) я считаю что первопричина ошибок в FarHints ибо он уже не раз становился причиной AV и сбоев иных плагинов и его давно пора бы доработать, в том числе и его модуль ТЕКСТ который с версией 1.20 не работает, а удобен тем, что позволяет быстро оценить интересен ли текст или не стоит время тратить.
Автор: Victor_VG
Дата сообщения: 06.04.2016 05:03
Возился с последними билдами (4610/4611) и случайно вылезло что ArcLite из макроса просто так не вызвать - с Plugin.Menu зовётся только основное меню, а диалоги там не позвать, с Plugin.Call() то же не получилось. Можно проверить к примеру с таким скриптом:

Цитата:
local ALID="65642111-AA69-4B84-B4B8-9249579EC4FA"
local ALMID="7BCFBA0E-4EF5-466D-B5B9-23523459D6AF"
local lang=win.GetEnv("FarLang")
local ln1="/(English|German|Hungarian|Italian|Polish|Slovak|Ukrainian)/i";
local ln2="Spanish";
local ln3="Russian";

if lang == ln1 then local a1,a2,a3 = "C","E","T"
else if lang == ln2 then local a1,a2,a3 = "C","E","";
else local a1,a2,a3 = "С","Р","П"; end; end;

Macro {
description="ArcLite: Main Menu"; area="Shell"; key="LAltC"; action=function()
Plugin.Menu(ALID,ALMID)
end;
}

Macro {
description="ArcLite: Creat archive"; area="Shell"; key="LAltP"; action=function()
Plugin.Call(ALID,a1) -- Plugin.Menu(ALID) Keys(a1)
end;
}

Macro {
description="ArcLite: Extract archive"; area="Shell"; key="LAltX"; action=function()
Plugin.Call(ALID,a2) -- Plugin.Menu(ALID) Keys(a2)
end;
}
Macro {
description="ArcLite: Test archive"; area="Shell"; key="LAltT"; action=function()
Plugin.Call(ALID,a3) -- Plugin.Menu(ALID) Keys(a3)
end;
}

у меня пока только меню плагина зовётся.


Добавлено:
Интересное явление в Far b4611 и NetBox v2.2.2.434.

Посмотрел - с одной стороны панель сессий NetBox вроде должна допускать поиск, но то что мы видели - совсем не понятно очень бы хотелось без этого обойтись...
Автор: shmuz1
Дата сообщения: 06.04.2016 12:23
[more] Victor_VG


Код: local ALID="65642111-AA69-4B84-B4B8-9249579EC4FA"
local ALMID = "EAABFBA1-D321-4D8C-9573-A2A06EC22684"

Macro {
description="ArcLite: Main Menu"; area="Shell"; key="LAltC"; action=function()
Plugin.Menu(ALID)
end;
}

Macro {
description="ArcLite: Create archive"; area="Shell"; key="LAltP"; action=function()
Plugin.Menu(ALID); if Area.Menu and Menu.Id==ALMID then Keys("2*Down Enter") end
end;
}

Macro {
description="ArcLite: Extract archive"; area="Shell"; key="LAltX"; action=function()
Plugin.Menu(ALID); if Area.Menu and Menu.Id==ALMID then Keys("3*Down Enter") end
end;
}
Macro {
description="ArcLite: Test archive"; area="Shell"; key="LAltT"; action=function()
Plugin.Menu(ALID); if Area.Menu and Menu.Id==ALMID then Keys("4*Down Enter") end
end;
}
Автор: Victor_VG
Дата сообщения: 06.04.2016 13:02
shmuz1

Знаю. У меня он на CtrlS как в mc посажен скриптом. UNIX-привычки.

Добавлено:
Странное поведение поиска по AltF7 в панели NetBox v2.2.2.434 зарепортил вместе со своими наблюдениями Issues#200 на ГитХаб. DrKnS правильно оценил данное поведение как "странное", но оно даже более странное чем он описал в своём кратком отчёте, дополнено.
Автор: Victor_VG
Дата сообщения: 07.04.2016 03:16
Скрипт для навигации всё ещё работает?:

Цитата:
Alexander84
Thu 07 Apr, 2016 00:43

Скрипт для навигации всё ещё работает? А то после вызова плагина по Alt+Shift+S курсор остаётся в панели, откуда был вызван — соответственно, когда курсор перемещаешь вверх/вниз, панелька с размерами просто моргает рядышком, пересчитывая одно и то же.

Скрипт работает так как и был задуман - навигация происходит с клавиатуры, а использование для этого колеса мыши не задумано изначально. Клавиши навигации Enter Home End Up Down PgUp PgDn Left Right CtrlPgUp CtrlPgDn позволяют перемещаться по дереву каталогов без блокировки курсора. Проверено на b4617.
Автор: shmuz1
Дата сообщения: 07.04.2016 09:10
Для любителей кастомных сортировок, в т.ч. трепетно ждавших улучшений. Изменения были сделаны 13 марта (билды 4577-4578), но очевидно прошли незамеченными.

Суть изменений - в добавлении ф-ции Condition, что позволяет использовать меню CtrlF12 без навешивания макросов на его пункты. Диалог интерактивной настройки сортировки должен вызываться из Condition(), после его закрытия по Enter вызываем Panel.LoadCustomSortMode() и возвращаем true (после закрытия по Esc ничего не делаем).

Если хотим вызвать кастомную сортировку макросом из панелей, то в макросе достаточно просто вызвать Panel.SetCustomSortMode(). При наличии ф-ции Condition она будет вызвана автоматически.

Естественно, никто не заставляет пользоваться этим новым механизмом, если старый полностью устраивает.

Добавлено:
Да, вызов Panel.LoadCustomSortMode() после закрытия диалога по Enter не обязателен, т.к. можно просто модифицировать параметры сортировки на основании данных диалога.
Автор: Alexyz21
Дата сообщения: 07.04.2016 12:56
Panel.CustomSortByName.lua обновлён. Добавлены истории для режимов Regexp и Func(), а также быстрая помощь по F1 для всех элементов диалога.
Автор: Angel_Ka
Дата сообщения: 07.04.2016 16:12
Alexyz21

Цитата:
Panel.CustomSortByName.lua обновлён.

БОЛЬШОЕ СПАСИБО! Бегло опробовал. Вроде бы все опции работают как и раньше, то есть отлично.

Цитата:
Добавлены истории для режимов Regexp и Func()

Замечательно! И хорошо бы ещё для Symbols тоже историю добавить. Всякие вычурные сочетания быстро восстанавливать чтобы.

Добавлено:
shmuz1

Цитата:
Изменения были сделаны 13 марта (билды 4577-4578), но очевидно прошли незамеченными.

Благодарю Вас за то, что акцентировали на этом внимание! Непридание особого значения нововведению по большей части объясняю позитивным фактом. Тем, что макросы уважаемого Alexyz21 Panel.CustomSortByAttributes.lua и Panel.CustomSortByName.lua в действительности позволяют производить "самые изощрённые сортировки". Вплоть до того, что не все их возможности ещё и опробованы то по-настоящему. По крайней мере мною.

Вместе с тем, применение поля 'Condition' в Panel.LoadCustomSortMode без теперешних Ваших пояснений персонально мне так и оставалось бы непостижимым. А в кое-что я и сейчас всё ещё не врубаюсь. В частности, мне не понятно, что конкретно означает оборот: "Данная функция может использоваться, например, в интерактивном режиме работы ... сортировки, ... для её отмены"? Мне представляется, что я либо использую конкретную сортировку, либо нет. А что тогда отменять? Но, вполне возможно, что я что-то глубинно не понимаю. По возможности, поясните, пожалуйста, этот момент тоже.
Автор: shmuz1
Дата сообщения: 07.04.2016 16:38
Angel_Ka
1. Интерактивный режим сортировки - это с диалогом, где вы что-то настраиваете. Неинтерактивный - немедленная сортировка, без вызова диалога.

2. Ну вот вы вызвали диалог сортировки и через 5 секунд решили, что вам сейчас этого не надо, и вышли из диалога по Esc. В этом случае функция Condition() ничего не должна делать, в частности, не должна возвращать true.
Автор: Angel_Ka
Дата сообщения: 07.04.2016 16:58
shmuz1
Вот теперь предельно ясно! БОЛЬШОЕ СПАСИБО за краткое и полностью доходчивое разъяснение!
Автор: Alexyz21
Дата сообщения: 07.04.2016 17:32
Angel_Ka
Добавил, обновил.
Автор: Angel_Ka
Дата сообщения: 07.04.2016 19:29
Alexyz21
Погонял Panel.CustomSortByName.lua от 17:20 07-04-2016 более основательно (в т.ч. с офтопиковыми регексами и другим разнообразием; особо поигрался с Symbols отдельно и вкупе с регексами). Кажется всё работает великолепно!
Ещё и ещё раз БОЛЬШОЕ СПАСИБО Вам за замечательный макрос, по функциональности практически плагин!

Автор: shmuz1
Дата сообщения: 08.04.2016 00:47
После того как нажал во Входящих и Отправленных на "Удалить выбранные сообщения", удалились все, хотя ни одно не было выбрано.
После этого отправил 3 сообщения (2 для Victor_VG, 1 - самому себе) - в Отправленных ничего не появилось.
Приехали.
Автор: VictorVG4
Дата сообщения: 09.04.2016 03:10
shmuz1

Так меня к тому моменту снова грохнуло. Примерно в 23:35 07.04.2016. Заодно и VictorVG3 снесло, хот это чудо уцелело ...
Автор: Angel_Ka
Дата сообщения: 09.04.2016 14:55
Del.
Автор: shmuz2
Дата сообщения: 09.04.2016 15:34
<Удалено>

Добавлено

Angel_Ka
Попытался вам ответить, но заново зарегистрированные могут отправлять ЛС только через 3 дня после регистрации.
Короче - всё в порядке.
Автор: VictorVG4
Дата сообщения: 09.04.2016 18:09
Легонца своё поправил - ночью сделал опечатки в тексте, а заодно и новые бинарники включил. Уже лежит там же, ну и кто PH пользуется у меня версия 3.0.0.58 лежит - 27 коммитов сегодня капнули.
Автор: dvt7
Дата сообщения: 11.04.2016 03:34
Как мышкой выделить (insert) файл или папку в 3-й версии Far?
Автор: VictorVG4
Дата сообщения: 11.04.2016 08:06
dvt7

Если не включены Настройки панели - Правый клик помечает файлы и Пометка папок, то Ctrl+RMsClick или ПКМ с зажатой ЛКМ.
Автор: Alexyz21
Дата сообщения: 11.04.2016 12:20
с 4610 на far3 падучая напала, в 4618 тоже самое - падает спонтанно.
Автор: VictorVG4
Дата сообщения: 11.04.2016 13:52
[more] [more][/more] Alexyz21

Один раз словил AV, и то на b4618 r14030 с чего от удивления ажо дар речи потерял. Более ни разу не видел. Win7 SP1 x64, Far 3.0 x64. Единственное что за последние дни в оси обновил это Power Shell т.к. у меня Process Hacker 3.0.0 (r69) не собирался т.к. неправильно работал скрипт makesdk.ps1 выдавая ошибку мол в PATH ему NULL прибегает. По совету dmex обновил KB3134760 и ошибка ушла. Других обнов нет и Far у меня не падает. Но, глянь, я на это уже не раз нарывался - если у тебя стоит плагин FarHints, то он очень чувствителен к ошибкам в своей БД конфигов CDF48DA0-0334-4169-8453-69048DD3B51C.db и для устранения сбоев мне хватало её удаления и пересоздания с нуля. Могут и быть и иные плагины ведущие себя подобным образом, в частности NetBox при ошибках в своей БД 42E4AEB1-A230-44F4-B33C-F195BB654931.db падает сам и вслед за собой в итоге роняет Far. Это подводные камни которые я достоверно знаю. [/more]
Автор: Benchmark
Дата сообщения: 11.04.2016 15:53
Alexyz21

Цитата:
с 4610 на far3 падучая напала, в 4618 тоже самое - падает спонтанно

В 4618 была правка "Где-то портится память и в результате иногда падает." Видать не до конца поправили.
Автор: VictorVG4
Дата сообщения: 11.04.2016 16:23
Benchmark

Правилось конкретное место и ситуация - Можно ли присваивать AlternateFileName нулевой адрес?. Это исправлено, что подтвердил NightRoman в своём ответе. Других баг-репортов по поводу падений вызванных порчей памяти я не встретил.
Автор: skipik001
Дата сообщения: 11.04.2016 17:55
Заметил такую особенность в последних ночных сборках: если скачивать файл из интернета в папку и эта папка будет открыта на одной из панелей, то размер файла будет обновляться автоматически и увеличиваться. Раньше это не происходило и нужно было вручную обновлять панель. Так и не понял, баг это или фича.
Автор: wseventeen
Дата сообщения: 11.04.2016 18:31

Цитата:
Заметил такую особенность в последних ночных сборках

Фраза осмысленна, если Вы проверили, что в более ранних сборках этой особенности сейчас нет.
Автор: dvt7
Дата сообщения: 11.04.2016 18:40
VictorVG4

Цитата:
Правый клик помечает файлы и Пометка папок, то Ctrl+RMsClick или ПКМ с зажатой ЛКМ.

Вариант "ПКМ с зажатой ЛКМ" вне конкуренции! Спасибо
Автор: skipik001
Дата сообщения: 11.04.2016 18:48
wseventeen
Могу ошибаться, но имхо это следствие этого:

Цитата:
drkns 26.03.2016 01:03:37 +0200 - build 4602

1. Раскрашиваем файлы в панели не все сразу, а по мере необходимости.
Должно дать заметный эффект при большом количестве групп и/или файлов.

Перепроверил сейчас на 4601 — там описанного мной явления нет.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: оффтоп


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.