MacroLib — Far Macro Library

Здесь можно обсудить ваш любимый плагин.
Skaramush
Posts: 48
Joined: Mon 16 May, 2011 04:03
Has thanked: 3 times
Been thanked: 1 time

Re: MacroLib — Far Macro Library

Post by Skaramush »

Latest post of the previous page:

Far 3.0.4003
В меню пользователя при использовании именованного списка истории (например: net:!?$WS$Имя машины?!) блокирует открытие выпадающего списка по комбинации Ctrl - стрелка вниз.
Проблема точно отсутствует в билде 3.0.3695.
Аналогичная проблема и с плагином PanelTabs.

Marty
Posts: 170
Joined: Sun 29 Jan, 2006 12:29

MacroLib — Как пользоваться?

Post by Marty »

Здравствуйте!

Рискую конечно нарваться на недовольство старожилов, но я опять ни черта не понял :)

Суть вопроса: есть Far под ConEmu, задача сделать так, чтобы по Shift+Enter запускался файл под курсором, но при этом не открывалась новая консоль во всплывающем окне, а создавалась новая вкладка в ConEmu.
Оффтопик

Нашел файлы fml, в том числе и для ShiftEnter, выяснил, что это наборы для плагина MacroLib.

Скачал MacroLib, создал каталог Macros в папке плагина, скопировал нужный fml, перезапустил Far. Пробую - ShiftEnter не работает. Стал читать доку (опять старый добрый текст) по MacroLib. Там справочная информация - как из ком строки вызывать, как использовать из макросов. А почему у меня ShiftEnter не работает и где искать проблему - я так и не понял. И где копать, откуда начинать, не понятно

PS У ConEmu нашлись аналогичные чисто .lua макросы - вроде заработало почти как надо, и наверно буду их допиливать, но с MacroLib тоже хотелось бы разобраться.

Оффтопик

User avatar
HaRT
Moderator
Posts: 9331
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 99 times
Been thanked: 213 times

Post by HaRT »

Marty
1. Вопросы про специфику ConEmu — это офтопик во всём данном форуме.
2. Правила необходимо соблюдать (в т.ч. п.2.2.1).
Для осознания этих нехитрых фактов отдохните от форума недельку в бане.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

Re: MacroLib — Как пользоваться?

Post by Max Rusov »

Marty

Если Вы скопировали "fml" то это устаревший формат. Актуальная версия для Far3 имеет расширений fmlua, и соответственно, должна быть переписана на LUA.
Marty wrote:PPS Ну почему никто не делает html-документацию в дополнение к голому тексту? И почему никто не делает квик-старты, чтобы не зарываться на неделю в справочные руководства, а просто и быстро решить возникшую проблему?
Вероятно, потому что за это не платят.

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

Re: MacroLib — Как пользоваться?

Post by John Doe »

Marty wrote:но с MacroLib тоже хотелось бы разобраться
Большинство возможностей MacroLib уже перекочевало в LuaMacro.
Имхо, MacroLib сейчас актуален в основном для тех пользователей, которые успели накопить солидную библиотеку макросов в формате fmlua.

Yegor
Posts: 1054
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 10 times
Been thanked: 24 times

Re: MacroLib — Far Macro Library

Post by Yegor »

Я пользуюсь MacroLib только из-за вот этого макроса:

Code: Select all

macro Description="EMenu: Mouse Activation"
  Area="Shell"
  Key="MSRClick"
  EatOnRun=0 
{{
  Keys("MSRClick")
}}

macro Description="EMenu: Mouse Activation"
  Area="Shell"
  Key="MSRClick:Release"
  EatOnRun=0 
{{
  Keys("F11") 
  if Menu.Select("EMenu") > 0 then 
    Keys("Enter c")
  end
}}
Поведение по умолчанию (из коробки) при вызове Emenu по правой кнопке мыши мягко скажем не юзабельное (по крайней мере для тех кто этим пользуется, а не раз в полгода нажимает правую кнопку мыши :))

Если есть альтернатива, как исправить поведение из коробки или сделать родной LUA макрос, welcome.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

Re: MacroLib — Far Macro Library

Post by John Doe »

На эту тему есть макрос http://forum.farmanager.com/viewtopic.php?f=60&t=7200.
Или уточните желаемое поведение, т.к. я не уверен что понимаю какое тут поведение у MacroLib.

Yegor
Posts: 1054
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 10 times
Been thanked: 24 times

Re: MacroLib — Far Macro Library

Post by Yegor »

В данном случае я имею в виду не дополнительные фичеры, а решение простых проблем, например таких: http://forum.farmanager.com/viewtopic.php?f=9&t=7540
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

Re: MacroLib — Far Macro Library

Post by John Doe »

Yegor wrote:В данном случае я имею в виду не дополнительные фичеры, а решение простых проблем, например таких: http://forum.farmanager.com/viewtopic.php?f=9&t=7540
Продолжаем там: http://forum.farmanager.com/viewtopic.p ... 86#p124186

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

MacroLib — Far Macro Library

Post by John Doe »

А как в макролибе решается вопрос с автоповтором клавиш?
Например, назначен макрос на Key1:Hold.
Что произойдёт, если продолжать удерживать Key1 и после срабатывания макроса?

И другой пример: Key2:Double.
Сработает ли макрос, если просто удерживать клавишу до активации автоповтора?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

MacroLib — Far Macro Library

Post by Max Rusov »

Hold срабатывает только один раз. Double не срабатывает на автоповтор.

Еще, кстати, есть "Release" и "Up"

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

Re: MacroLib — Far Macro Library

Post by John Doe »

Max Rusov wrote:Hold срабатывает только один раз. Double не срабатывает на автоповтор.
Но что же будет происходить, если продолжать удерживать клавиши и после срабатывания?
Будут ли нажатия (автоповтор) передаваться в фар? Или будут съедаться до тех пор, пока клавиша не будет отпущена?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

MacroLib — Far Macro Library

Post by Max Rusov »

Вроде, "съедаются" до отпускания.

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

Re: MacroLib — Far Macro Library

Post by John Doe »

Max Rusov wrote: Еще, кстати, есть "Release" и "Up"
А что за Up?
В документации не вижу.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

MacroLib — Far Macro Library

Post by Max Rusov »

- Новые модификаторы нажатий - Down и Up:

Down - Макрос срабатывает только при нажатии (без автоповтора)
Up - Макрос срабатывает при отпускании. В отличии от Release
макрос срабатывает при отпускании префиксных клавиш, даже
если были комбинированные нажатия
Мне это было нужно для макросов, которые срабатывают при отпускании префиксной клавиши после набора текста, типа ShellBookmark/PanelFilter. Возможно, в LUA это можно сделать иначе и эти модификаторы уже лишние...

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

Post by John Doe »

Иначе можно, например запуская в момент нажатия отдельный поток, который будет по таймеру опрашивать состояние клавиши.
Или же можно (в корне изменив подход) объединить все в одном цикле, в конце которого проверять состояние клавиши-модификатора.

Но я хочу поговорить совсем о другом: что если научить макролиб запускать обычные макросы luamacro?
Ну не совсем обычные, а с модификаторами (Hold, Double, Release, Up, Down,…), а обычные в том плане, что загружаться они будут наряду с прочими штатным образом, а функция макролиб будет состоять только в их запуске.

Post Reply

Return to “Обсуждение плагинов”