FastMacro – Быстрый поиск доступных макросов
FastMacro – Быстрый поиск доступных макросов
По нажатию клавиш (или их комбинаций) в списке скриптов будут оставаться только те, у которых эта клавиша(или комбинация) присутствует в ключе
Настройки: переменная gConfig в начале скрипта или (более высокий приоритет) файл fastmacro.cfg, который должен находиться в той же папке, что и текущий скрипт.
Клавиши управления по умолчанию:
Enter – запуск макроса
Esc – отмена последнего фильтра для ключа или отмена поиска
Up,Down – перемещение по списку
Клавиши (или их комбинации), не задействованные в настройках: установка/сброс фильтра для ключа
Нюансы:
1. Если какая-то клавиша из настроек не нужна, соответствующую переменную нужно установить в "" или удалить
2. Если при запуске скрипта вывыдятся ненужные меню или диалоги, нужно установить gConfig.precheck в false
3. Может использоваться совместно со SmartMenuFilter (viewtopic.php?f=60&t=8463) (автор John Doe).
4. Для быстрого листания длинного списка можно использовать макрос viewtopic.php?p=151729#p151729 (автор sToLp
Образец файла настройки:
Настройки: переменная gConfig в начале скрипта или (более высокий приоритет) файл fastmacro.cfg, который должен находиться в той же папке, что и текущий скрипт.
Клавиши управления по умолчанию:
Enter – запуск макроса
Esc – отмена последнего фильтра для ключа или отмена поиска
Up,Down – перемещение по списку
Клавиши (или их комбинации), не задействованные в настройках: установка/сброс фильтра для ключа
Нюансы:
1. Если какая-то клавиша из настроек не нужна, соответствующую переменную нужно установить в "" или удалить
2. Если при запуске скрипта вывыдятся ненужные меню или диалоги, нужно установить gConfig.precheck в false
3. Может использоваться совместно со SmartMenuFilter (viewtopic.php?f=60&t=8463) (автор John Doe).
4. Для быстрого листания длинного списка можно использовать макрос viewtopic.php?p=151729#p151729 (автор sToLp
Образец файла настройки:
- Attachments
-
- fastmacro37.lua.7z
- (5.82 KiB) Downloaded 25 times
Last edited by LAT on Wed 02 Oct, 2019 20:34, edited 23 times in total.
FastMacro – Быстрый поиск доступных макросов
LAT,
Эта функция есть в обозревателе макросов "Macro Browser alt." и её можно вызвать отдельным макросом тоже.
И тем не менее Ваш макрос очень интересен и полезен.
Эта функция есть в обозревателе макросов "Macro Browser alt." и её можно вызвать отдельным макросом тоже.
И тем не менее Ваш макрос очень интересен и полезен.
FastMacro – Быстрый поиск доступных макросов
Не получилось воспроизвести.sToLp wrote: ↑Wed 21 Nov, 2018 09:371. При наличии макроса Plugin.BackgroundCopy.lua (см. в посте tstr Чт 14 мар, 2013 11:39 под спойлером) наблюдается следующее:
Вызываю сабжевый макрос (в области Shell, Dialog, Menu, или Editor), появляется меню макроса и я тут же его сбрасываю, а на экране остаётся меню "Команды плагинов".
В CtrlAltMenuDisk функция TestCond, используемая для condition, рассчитывает на параметр-строку. А приходит nil. Ошибка возникает при проверке условия запуска этого скрипта из других скриптов (например, из данного или из LuaManager).sToLp wrote: ↑Wed 21 Nov, 2018 09:372. В популярной сборке VictorVG/FarUE3_x86 с руборда установлен макрос Common_CtrlAltMenuDisk.lua и сабжевый с ним конфликтует
В новой версии добавил защиту от таких ситуаций. (А заодно исправил бажок с фильтром, и сделал сообщение, если при выборе скрипта условие запуска не выполняется.)
Но, имхо, по-хорошему, нужно бы поставить защиту и в CtrlAltMenuDisk: например первой строкой в
Code: Select all
function TestCond(key)
Code: Select all
if not key then return false end
- John Doe
- Бюрократ
- Posts: 12538
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 33 times
- Been thanked: 239 times
FastMacro – Быстрый поиск доступных макросов
Зачем?
У меня не выскакивает, но даже если бы выскакивало - это была бы проблема MacroBrowserAlt.
FastMacro – Быстрый поиск доступных макросов
Спасибо!
А сами то чего? Стесняетесь?
В win10x64 LTSB с fastmacro9.lua .
А вот при вызове fastmacro10.lua упомянутого нюанса .
Но вот если потом сбросить меню кликом мышки за его пределами, то .
FastMacro – Быстрый поиск доступных макросов
О таком развитии событий я не подумал

FastMacro – Быстрый поиск доступных макросов
v14.
1) [кажется] навел порядок в регулярных выражениях
2) для перемещения оставлены только Up и Down
3) Возвращена смена языка при xlat-е
4) комбинации клавиш можно использовать не только для установки фильтра , но и для сброса
1) [кажется] навел порядок в регулярных выражениях
2) для перемещения оставлены только Up и Down
3) Возвращена смена языка при xlat-е
4) комбинации клавиш можно использовать не только для установки фильтра , но и для сброса
FastMacro – Быстрый поиск доступных макросов
Спасибо, что развиваете макрос!
А ему, на мой взгляд, есть куда развиваться.
Например, желательно бы решить вопрос, как вычленять макросы с невалидными ключами, которые используются для вызова макросов из макросов функцией eval.
У меня в коллекции макросов достаточно много и мне не удобно перемещение по меню только по одной позиции за раз. Поэтому я для себя сделал . Он, по методу John Doe, по двойному нажатию на Up и Down, листает меню как по PgUp и PgDn, соответственно.для перемещения оставлены только Up и Down
Last edited by sToLp on Sat 24 Nov, 2018 11:09, edited 1 time in total.
- John Doe
- Бюрократ
- Posts: 12538
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 33 times
- Been thanked: 239 times
FastMacro – Быстрый поиск доступных макросов
В современном состоянии макроязыка нужды в таких макросов нет.
(Забыл про макросы запускаемые MacroEx)
Вычленить их можно в MacroBrowserAlt, если актуально, то пишите в соответствующей теме.
Last edited by John Doe on Sat 24 Nov, 2018 12:26, edited 1 time in total.
FastMacro – Быстрый поиск доступных макросов
А что имеется в виду под макросами с невалидными ключами, и зачем они нужны?
FastMacro – Быстрый поиск доступных макросов
К невалидным обычно относят любые ключи, не соответствующими стандартным, в т.ч. макросы без ключа. Чаще всего невалидные ключи используются для вызова макросов из других макросов функцией eval, гораздо реже они возникают по ошибке.
FastMacro – Быстрый поиск доступных макросов
Т.е. это те, которым в качестве ключа назначена пустая строка или же набор символов, не соответствующий какой-либо комбинации клавиш. Так они вроде бы показываются в общем списке (только для ключей-пустых строк в качестве клавиши стоит «none»).
FastMacro – Быстрый поиск доступных макросов
Да, и в нём тонут, особенно если макросов множество. Я, например, насчитал в своей тестовой сборке макросов 82 макроса с невалидными ключами. А сам список всех макросов занимает несколько страниц. Вот поэтому их и желательно вычленить. И Ваш вариант их вычленения был бы особо ценным из-за отсутствия его привязки к макробраузерам.
FastMacro – Быстрый поиск доступных макросов
Попробовал, как-то неудобно (непривычно?): если хочется сместиться и не на одну строку, но и не на целую страницу, а, например, на 2-3 строки, приходится делать паузы между нажатиями. Что раздражает.
ЗЫ. Насколько я понимаю, скрипт реагирует не только на двойное нажатие одной и той же клавиши (вверх или вниз), но и разных (вверх-вниз или вниз-вверх).
ЗЗЫ. Есть ли у такого приема преимущество перед использованием waitkey?
FastMacro – Быстрый поиск доступных макросов
Отфильтровать макросы, у которых в качестве ключа назначена пустая строка, вроде бы не сложно. А вот если в качестве ключа указан какой-нибудь мусор, даже не представляю разумного способа определить это... mf.key не дружит с регэкспами, плюс плохо реагирует на LCtrl, LAlt, может, еще на что-то.