Macro Browser alt. — обозреватель макросов

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
John Doe
Бюрократ
Posts: 12658
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 271 times

Macro Browser alt. — обозреватель макросов

Post by John Doe »

Особенности

Действия с макросами в списке
Фильтры
Сортировка
Прочее

Скрипт и функции всех макросов можно проверить никуда не устанавливая, через меню пользователя.
FarMenu.ini прилагается .

Запуск:
  • Пункт в меню плагинов Macro Browser alt. открывает полный список назначенных макросов.
  • Аналогичный пункт в меню конфигурации плагинов (AltShiftF9) позволяет настроить собственные макросы скрипта (открывает список макросов, относящихся к Macro Browser alt.)
    Отсюда удобно менять комбинации клавиш, или отключать неиспользуемые макросы.
Макросы:
Дополнительные макросы:
В качестве модуля:
Требования:
Предупреждение для неопытных пользователей

http://forum.farmanager.com/viewtopic.php?f=15&t=10376

Отзывы и пожелания приветствуются.

Attachments
MacroBrowserAlt.7z
r1.3
(13.06 KiB) Downloaded 424 times

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Re: GetMacroCopy

Post by gotar »

Latest post of the previous page:

John Doe, почему в конце Вашего макроса нет "return Show"?

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

Re: GetMacroCopy

Post by John Doe »

Это же не модуль.

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Re: GetMacroCopy

Post by gotar »

Почему не модуль? У меня, например, директория scripts давно уже в package.path. На мой взгляд, функцию Show было бы полезно вызывать не только из макросов.

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

Re: GetMacroCopy

Post by John Doe »

gotar wrote:Почему не модуль? У меня, например, директория scripts давно уже в package.path.
Не считаю это хорошей практикой.

К тому же подозреваю что у вас определена глобальная функция Macro, и значит в момент require будут добавлены копии макросов.
В лучшем случае могу предложить сделать так: http://forum.farmanager.com/viewtopic.p ... 84#p108184
gotar wrote:На мой взгляд, функцию Show было бы полезно вызывать не только из макросов.
А откуда же вы хотите её вызывать, если не из макросов, и главное зачем?

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Re: GetMacroCopy

Post by gotar »

Держать две одинаковые копии файла(одну для макросов, другую для функции Show в директории modules) совсем плохой вариант. Вы согласны с тем, что сделать доступной функцию Show было бы полезно?

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Re: GetMacroCopy

Post by gotar »

А откуда же вы хотите её вызывать, если не из макросов, и главное зачем?
Из пользовательских меню, из других макросов, в общем там же где lua_explorer

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

Re: GetMacroCopy

Post by John Doe »

Не надо 2 одинаковые копии. Держите 1 модуль, а в scripts только макросы.
Плюсом будет то, что можно создать свои макросы на любые клавиши, и при обновлении скрипта они не слетят.
Вы согласны с тем, что сделать доступной функцию Show было бы полезно?
В отличии от обсуждаемой lua_explorer это действительно функция широкого применения.

А из других макросов, из меню - это да, вопрос пока нерешённый.
Лучшего способа чем предложил выше не знаю.

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Re: GetMacroCopy

Post by gotar »

Глобальная функция Macro, скрипт в директории macros и return Show (и других полезных функций) для Вас приемлемый вариант?
Last edited by gotar on Fri 03 May, 2013 18:06, edited 1 time in total.

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

Re: GetMacroCopy

Post by John Doe »

Самостоятельная функция там 1. Но для полноценного её использования в макросах нужен доступ к вспомогательным функциям, которые передаются в Show в виде параметра.

Если бы я задумывал скрипт как модуль, то сделал бы всё иначе.
Возможно и переделаю когда-нибудь.
А пока лучший для вас вариант это добавить непосредственно перед макросами строку
return {Show=Show,doFilter=doFilter,filterBy=filterBy,listFilters=listFilters}

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

Re: GetMacroCopy

Post by gotar »

Почему не

Code: Select all

return {Show,doFilter,filterBy,listFilters}

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

Re: GetMacroCopy

Post by John Doe »

Это как вам удобнее

User avatar
Wave
Posts: 1771
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Re: GetMacroCopy

Post by Wave »

John Doe wrote:- Исправлена эта и другие ошибки.
- Добавлены фильтры
- Изменились BreakKeys для фильтров
...
Поставил эту штуку попробовать — мама дорогая! Шикарно, шикарно! Единственное что, можно хотелку высказать? Разные режимы сортировки. В частности мне бы сортировку по описаниям, они у меня чуть детальней, чем макрообласти. Например:

AudioPlayer: prev file
MediaInfo: следующий файл
Dialog: Clear selection

все три макроса — в диалоговой области, но относятся два к разным плагинам, ещё один ко всем диалогам вообще.


Правильно я понял, что это один из минимум двух или трёх аналогов?

P.s. Ага, увидел LuaManager. А ещё вижу, что мне пора немного навести порядок среди макросов (и это только-только на тройку переехал)))
Пользуюсь ФАРом больше 20 лет © собирательный.

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

Re: GetMacroCopy

Post by John Doe »

Варианты сортировки сделаю.

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

Post by John Doe »

  • Более подробная информация по F3
  • Избавился от far.MacroPost (стоит перепроверить переход к файлам и открытие редактора, модального и немодального)
  • Новая команда по CtrlPgDn - переход к файлу и его открытие (как обычно - в позиции функции action)

    Уже писал, не знаю какие клавиши удобнее, например для эксперимента продублировал действие AltF4 на CtrlTab (открыть макрос в редакторе немодально, т.е. без возможности возврата обратно в список)
  • Новая команда для перегрузки макросов: CtrlR
    Кто не знает: чтобы после редактирования файла внесённые изменения вступили в силу - необходимо в списке нажать CtrlR.
    Также прилагается макрос для редактора, см. ниже.
  • Режимы сортировки, выбор из списка по нажатию CtrlF12: Area Key Descr Id File
    Выбранный режим сохраняется
Изменения в фильтрах:
  • Было и в прошлой версии, но обращаю внимание на то, что в фильтре по файлу есть отдельная группа [no file], куда попадают макросы из internal, а также добавленные с помощью MacroAdd: .
    Internal также можно определить отфильтровав по Priority (200)
  • Новые фильтры: по флагам, по группам событий
  • При фильтрации по Area или FileName курсор изначально устанавливается на значения, соответствующие текущей области/файлу
  • Снова изменил хоткеи для фильтров, вероятно окончательно

    Code: Select all

     Info:
      • F3       - Краткая информация о макросе
      • Enter    - Открыть таблицу макроса в lua explorer
    
     Edit:
      • F4       - Открыть макрос в модальном редакторе
                   и установить курсор на функцию action
      • AltF4    - Закрыть список и открыть макрос в редакторе
      • CtrlPgDn - Закрыть список, перейти к файлу с макросом,
                   и открыть макрос в редакторе
    
     Goto:
      • CtrlPgUp - Закрыть список и перейти к файлу с макросом
    
     Filters:
      • `        - список всех фильтров
      • 0        - Сбросить фильтр
      Активировать фильтр
      • 1        - по клавише (запрашивается интерактивно)
      • 2        - по области
      • 3        - по файлу
      • 4        - по маске
      • 5        - по флагам
      • 6        - по приоритету
      • 7        - события по группам
    
     Misc
      • CtrlF12  - выбор критерия для сортировки
      • CtrlR    - перезагрузить макросы
    
Изменения в макросах:
Common:
  • RCtrlShift` LCtrl` - выбор фильтра ("`" это знак под тильдой ~)
  • RCtrlShift1 LCtrlNumLock - фильтр по клавише (главный для меня макрос)
  • RCtrlShift2 - список макросов для текущей макрообласти
  • RCtrlShift3 - макросы определённые в текущем файле (открытом в редакторе/вьювере, или в панелях под курсором)
  • RCtrlShift4 - фильтр по маске
  • RCtrlShift5 - internal-макросы
  • RCtrlShift6 - автостартующие
  • RCtrlShift7 - события по группам
Editor (*.lua):
  • CtrlEnter CtrlR - Перезагрузка макросов
    Макросы перечитываются с диска, поэтому убедитесь что файл сохранён.
    (Есть расширенная версия, но её включу в другой раз.)
Макросов много, чтобы уменьшить вероятность конфликтов понизил их приоритет до 40.
Т.е. если у вас существует макрос на ту же клавишу - сработает ваш.

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

Re:

Post by HaRT »

John Doe wrote:чтобы после редактирования файла внесённые изменения вступили в силу - необходимо в списке нажать CtrlR.
Если это возможно, было бы здорово рисовать звёздочку при тех макросах, которые были изменены, но ещё не перегружены. Если в редактировавшемся файле несколько макросов, то может оказаться, что помечать придётся все скопом.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Smitis
Posts: 1611
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 18 times
Been thanked: 39 times

Re: GetMacroCopy

Post by Smitis »

У файла MacroBrowserLite.lua в начале файла отсутствует сигнатура UTF-8. Поэтому не все редакторы нормально его отображают.
Разум когда-нибудь победит.

Post Reply

Return to “Полезные макросы и скрипты”