FastMacro – Быстрый поиск доступных макросов
FastMacro – Быстрый поиск доступных макросов
По нажатию клавиш (или их комбинаций) в списке скриптов будут оставаться только те, у которых эта клавиша(или комбинация) присутствует в ключе
Настройки: переменная gConfig в начале скрипта или (более высокий приоритет) файл fastmacro.cfg, который должен находиться в той же папке, что и текущий скрипт.
Клавиши управления по умолчанию:
Enter – запуск макроса.
Esc – отмена последнего фильтра для ключа или отмена поиска.
Up,Down – перемещение по списку.
Клавиши (или их комбинации), не задействованные в настройках: установка/сброс фильтра для ключа.
Нюансы:
Образец файла настройки:
Настройки: переменная gConfig в начале скрипта или (более высокий приоритет) файл fastmacro.cfg, который должен находиться в той же папке, что и текущий скрипт.
Клавиши управления по умолчанию:
Enter – запуск макроса.
Esc – отмена последнего фильтра для ключа или отмена поиска.
Up,Down – перемещение по списку.
Клавиши (или их комбинации), не задействованные в настройках: установка/сброс фильтра для ключа.
Нюансы:
Образец файла настройки:
- Attachments
-
- fastmacro47.lua.7z
- (6.78 KiB) Downloaded 74 times
Last edited by LAT on Thu 24 Sep, 2020 19:22, edited 39 times in total.
FastMacro – Быстрый поиск доступных макросов
LAT,
Эта функция есть в обозревателе макросов "Macro Browser alt." и её можно вызвать отдельным макросом тоже.
И тем не менее Ваш макрос очень интересен и полезен.
Эта функция есть в обозревателе макросов "Macro Browser alt." и её можно вызвать отдельным макросом тоже.
И тем не менее Ваш макрос очень интересен и полезен.
FastMacro – Быстрый поиск доступных макросов
Не получилось воспроизвести.sToLp wrote: ↑Wed 21 Nov, 2018 09:37 1. При наличии макроса 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: 13860
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
FastMacro – Быстрый поиск доступных макросов
Зачем?
У меня не выскакивает, но даже если бы выскакивало - это была бы проблема MacroBrowserAlt.
FastMacro – Быстрый поиск доступных макросов
Спасибо!
А сами то чего? Стесняетесь?
В win10x64 LTSB с fastmacro9.lua .
А вот при вызове fastmacro10.lua упомянутого нюанса .
Но вот если потом сбросить меню кликом мышки за его пределами, то .
FastMacro – Быстрый поиск доступных макросов
О таком развитии событий я не подумал . Вроде бы исправил в fastmacro11.
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: 13860
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
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?