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

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

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 654 times
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

Latest post of the previous page:

Находясь в меню Macro Browser alt. ("главном" или "дочернем" — всё равно) вызываю фильтр. Нажимаю & (амперсанд), которых у меня сейчас в макросах полно, но получаю пустое меню, в заголовке которого: [&].
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

John Doe wrote:
sToLp wrote: Для поисков этот фильтр особенно хорош. А вот для оперативного запуска макросов всё таки недостаточно его, по моему.
Почему же?
Попытаюсь пояснить свои резоны желательности применения в Macro Browser alt. хоткеев на примере. Возьмём упомянутый уже ранее мною реальный макрос-запускатель: [b]lua:local browseMacros = require"MacroBrowserAlt" browseMacros("Key","CtrlShiftN")[/b]

Он вызывает меню в 40 строк, среди которых искомый мною макрос я определить с первого взгляда не могу. Хорошо помню только, что ему назначен шорткат [b]&z[/b] и что в поясняющем его тексте (т.е. в description) точно есть слова: "в данной области".

Вариант 1, (когда по хоткею макрос запустить нельзя): вызываю фильтр и начинаю набирать: "[b]в да[/b]". В результате чего в меню остаются 3 позиции — 3 макроса, среди которых отчетливо вижу нужный мне сейчас. Подвожу к нему курсор и запускаю макрос на исполнение.

Вариант 2: просто нажимаю хоткей [b]z[/b].

А вот если ещё позволительно было бы пофантазировать, то уж совсем чудесно было бы следующее. По одноразовому нажатию хоткея курсор позиционируется на позиции с макросом, обладающим данным хоткеем. По повторному одноразовому нажатию — переходит на другую позицию (если она есть). А по двойному нажатию — запускается данный макрос. И т.д., и т.п.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

sToLp wrote: По одноразовому нажатию хоткея курсор позиционируется на позиции с макросом, обладающим данным хоткеем. По повторному одноразовому нажатию — переходит на другую позицию (если она есть). А по двойному нажатию — запускается данный макрос. И т.д., и т.п.
Есть и друггая схема — она давно реализована в плагине AltHistory. Там по просто символам список фильтруется, по символу с Alt происходит позиционирование на пункт списка, а по символу с Ctrl — сразу применение пункта списка.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

sToLp wrote: Находясь в меню Macro Browser alt. ("главном" или "дочернем" — всё равно) вызываю фильтр. Нажимаю & (амперсанд), которых у меня сейчас в макросах полно, но получаю пустое меню, в заголовке которого: [&].
На мантис.
Воспроизводится при использовании FMENU_SHOWAMPERSAND, например: far.Menu({Flags="FMENU_SHOWAMPERSAND"},{{text="&"}})
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

sToLp wrote: Вариант 2: просто нажимаю хоткей z.
Вариант 3: назначаю хоткей так, чтобы макрос вызывался сразу, без промежуточного CtrlShiftN
sToLp wrote:
Вариант 4: используя MacroEx назначаю макрос на CtrlShiftN-Z
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

John Doe wrote:
sToLp wrote: Находясь в меню Macro Browser alt. ("главном" или "дочернем" — всё равно) вызываю фильтр. Нажимаю & (амперсанд), которых у меня сейчас в макросах полно, но получаю пустое меню, в заголовке которого: [&].
На мантис.
Воспроизводится при использовании FMENU_SHOWAMPERSAND, например: far.Menu({Flags="FMENU_SHOWAMPERSAND"},{{text="&"}})
Дико извиняюсь, но это уже однозначно за рамками моей скромной компетенции. К стыду своему, но я ничегошеньки не понял из приведённого Вами пояснения. Будьте уж так добры.
John Doe wrote:Вариант 3: назначаю хоткей так, чтобы макрос вызывался сразу, без промежуточного CtrlShiftN
Для наиболее часто употребляемых макросов так и делаю. А неповседневные удобнее группировать и воспроизводить через меню. После того, как стало возможно назначать макросы на один и тот же шорткат сделалось намного комфортнее работать с ними.
John Doe wrote:Вариант 4: используя MacroEx назначаю макрос на CtrlShiftN-Z
Иногда в области панелей (shell) это действительно бывает удобно. Но вот в редакторе, например, обеспечивающий визуализацию метод группировки макросов, имхо, намного предпочтительнее.

То есть и первый, и второй, и третий, и четвёртый варианты для меня приемлемы и применимы мною. Но по-разному в разных случаях. Практически же наиболее часто применяемыми, наиболее удобными оказываются второй (группировочный) и третий (непосредственный, если можно так выразиться) варианты.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

HaRT wrote:
sToLp wrote: По одноразовому нажатию хоткея курсор позиционируется на позиции с макросом, обладающим данным хоткеем. По повторному одноразовому нажатию — переходит на другую позицию (если она есть). А по двойному нажатию — запускается данный макрос. И т.д., и т.п.
Есть и другая схема — она давно реализована в плагине AltHistory. Там по просто символам список фильтруется, по символу с [b]Alt[/b] происходит позиционирование на пункт списка, а по символу с [b]Ctrl[/b] — сразу применение пункта списка.
Поскольку не практиковал AltHistory, не знал о таком варианте. Если он удобнее или привычнее, то, по-моему, это вполне приемлемая альтернатива. Большое спасибо за информацию! И я вполне за то, чтобы автор сабжа применил этот вариант. Естественно, если это устроит John`а Doe.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Для начала требуется сама возможность назначения хоткеев. Не обещаю ничего такого в ближайшее время.
Возможно вас устроит упрощённый вариант: найдите и удалите подстроку FMENU_SHOWAMPERSAND=1,
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

John Doe wrote:найдите и удалите подстроку FMENU_SHOWAMPERSAND=1,
Опа: и в меню обозревателя макросов Macro Browser alt. проявились хоткеи, назначенные пользователями макросам! Да Вы ещё и фокусник, уважаемый John Doe! Конечно так значительно удобнее! Большое спасибо! И дальнейших Вам успехов в совершенствовании обозревателя!
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Хоткеи появились, но кое-где у вас наверняка рамки съехали.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

Не-а. Покрутил всякие меню Macro Browser alt. по-разному, и вроде всё в порядке. Но может потому, что у меня сейчас экран широченный?

А в целом очень здорово! Особенно в совокупности с ConcurrentHotkeys.lua и ConcurrentHotkeys2.lua!
Второй вариант, правда, в Macro Browser alt. буксует — позиционирует только на первое вхождение. И оба варианта объяснимо не работают пока с хоткеями-цифрами, т.к. цифры в обозревателе заточены под фильтры. Но, ведь, лиха беда начало. А здесь то уже и не начало вовсе, а мощное продолжение!

Про третий вариант ConcurrentHotkeys в той теме сообщил.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

В теме "Улучшение меню с дублирующимися хоткеями" изложил очередную свою хотелку, реализация которой в МВА также весьма желательна.
sToLp wrote: А нельзя ли ещё сделать так, чтобы после сброса пользователем отфильтрованного меню (по Esc или F10) происходил возврат к родительскому меню?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Скорее всего вас устроит двукратное нажатие BS.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

John Doe

За неимением гербовой пишут на простой, разумеется.

А в данном случае Ваш макрос "Reset filters" выступает именно в роли "гербовой". И он устраивает вполне. Большое спасибо за очередной подарок пользователям!
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

John Doe wrote: Sat 24 Nov, 2018 12:00
sToLp wrote: Sat 24 Nov, 2018 10:58 как вычленять макросы с невалидными ключами, которые используются для вызова макросов из макросов функцией eval.
Вычленить их можно в MacroBrowserAlt, если актуально, то пишите в соответствующей теме.
Весьма даже актуально. Например, для развития темы Индицировать привязку шортката к нативной команде Фара мне нужно сформировать массу макросов, в которых для оперативных переходов от одних меню к другим требуются невалидные ключи. Есть у меня и другие макросы и задумки макросов, в которых также целенаправленно применяются невалидные ключи.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Такая возможность предусмотрена пользовательским фильтром, доступным из макробраузера по клавише 0 (как и сказано в справке).
Или же макробраузер можно сразу открыть отфильтрованным, используя штатный макрос на RCtrlNumLock-0.

В открывшемся диалоге нужно ввести условие отбора макросов.
В данном случае одной строкой вводить не очень удобно, но тем не менее:

Code: Select all

return key and not keyregex and 
(function(keys)
  for k in keys:gmatch"%S+" do
    k = k:lower():gsub("^lctrl","ctrl"):gsub("^lalt","alt"):gsub("ctrllalt","ctrlalt")
    if not far.NameToInputRecord(k) and not k:match"%w.?[-:]." then return true end
  end
end)(key)
(макросы MacroEx исключаются из списка одним регэкспом %w.?[-:]. для простоты, но можно сделать и точнее)

Когда-нибудь добавлю этот фильтр в поставку.
Post Reply

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