Вопрос звучит как сабж. Но для лучшего понимания ситуации, опишу суть проблемы, с которой я столкнулся.
У меня присутствуют 2 макроса:
BufferScroll и ConsoleControl
В BufferScroll присутствует строка, проверяющая наличие большого объёма консоли, в случае, если таковой консоли нет, скрипт завершается:
if win.GetConsoleScreenBufferInfo().WindowTop==0 then return end
После запуска фара: far /w большого объёма консоли нет, соответственно, макрос bufferscroll не загружается.
После нажатия хоткея: CtrlAltF9 (ф-ция ConsoleControl) - получаем большой буфер консоли. Но макрос bufferscroll уже некативен.
Получается, нужно в ф-цию consoleControl добавить строчку, перезапускающую макрос bufferscroll
Насколько я понял, конкретный макрос можно перезагрузить по uid, примерно так: Plugin.Command(LuaMacroGuid, "load")
Но не вкурил, а как для Bufferscroll (для всего скрипта а не конкретной его ф-ции) назначить uid
Спасибо вам за ответ!
Назначить UID макросу или перезагрузить определённый макрос
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Назначить UID макросу или перезагрузить определённый макрос
Не делайте так. Для этого есть функция condition в спецификации макроса.
И где в документации такое написано?
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Назначить UID макросу или перезагрузить определённый макрос
Вместо этого можно перегрузить все макросы.
Ту строчку можно просто убрать.
А если пользуетесь фаром в режиме /w, то удобно установить большой размер буфера раз и навсегда.
Назначить UID макросу или перезагрузить определённый макрос
Спасибо большое! Тогда можно не перезагружать макросы
Назначить UID макросу или перезагрузить определённый макрос
Подскажите плз, как включить большой буфер постоянно.
window.mode сделал, хочется при загрузке отводить буфер
Понимаю, что нужно сделать
ConsoleControl.BufferSize(0, 1000);
Keys("CtrlY c l s Enter")
Но куда вставить код, чтобы он выполнился после инициализации ConsoleControl?
P.S. Только не понял, что такое ctrlY тут)
window.mode сделал, хочется при загрузке отводить буфер
Понимаю, что нужно сделать
ConsoleControl.BufferSize(0, 1000);
Keys("CtrlY c l s Enter")
Но куда вставить код, чтобы он выполнился после инициализации ConsoleControl?
P.S. Только не понял, что такое ctrlY тут)