MacroEx — запуск макросов нетрадиционными способами

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Sun 20 Jul, 2014 00:42

Есть полезнейшая возможность в MacroLib — запуск макросов удержанием, двойным нажатием, и др.
Хорошо бы подобное и в родные макросы (тикет на мантисе есть).

А пока попробуем приблизится к решению задачи имеющимися средствами.

Предлагаю скрипт MacroEx, расширяющий возможности запуска макросов следующим образом:
  1. В имени клавиши через двоеточие теперь можно указывать дополнительные модификаторы Hold и Double:
    • key:Double — макрос будет выполнен при двукратном нажатии клавиши (в течении 300 мс, не отпуская клавиши-модификаторы)
    • key:Hold — макрос будет выполнен при удержании (>300 мс)
      Пример:
  2. Поддерживаются последовательности из двух нажатий, перечисленные через "-":
    • key-key2 — макрос будет выполнен при нажатии последовательности клавиш.
      Последовательность следует нажимать так: .
      Если вторая клавиша последовательности в течении секунды не будет нажата, то появится подсказка: из описаний возможных макросов.
      Пример:

    На один и тот же key можно назначить произвольное число макросов, конфликты разрешаются по правилам, принятым в LuaMacro.
    Макросы с модификаторами не лишают указанную комбинацию исходного значения: короткое нажатие выполнит исходное действие (или макрос, если назначен).

Ограничения:
  • В качестве key поддерживаются только комбинации клавиш с модификаторами Ctrl/Alt/Shift.

Установка: достаточно расположить прилагаемый macroEx.lua где-либо в scripts.
Attachments
macroEx-3.2.7z
(3.69 KiB) Downloaded 60 times

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

Re: MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Tue 19 Aug, 2014 20:55

Latest post of the previous page:

Обновление:
  • Последовательности теперь указываются через знак - (минус), например CtrlK-B.
  • В качестве модификатора теперь поддерживается и Shift.
Всё в шапке.

Update: исправлена ошибка

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: MacroEx — запуск макросов нетрадиционными способами

Postby AleXH » Thu 21 Aug, 2014 10:54

Напомню что в символы верхнего регистра в фаре фигурируют без Shift, это учитывается и поддерживается.

Удачная ли это мысль, учитывая, что в FAR принято иначе? Также возникает путаница: CtrlK-B это CtrlShift-k-b? Имхо лучше, когда Shift указывается явно.

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

Re: MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Thu 21 Aug, 2014 11:00

Я плохо объяснил.
Без Shift могут быть только только простые клавиши, без Ctrl/Alt. Именно так принято в фаре. Т.е. в этом месте путаницы быть не может.

Удачная ли это мысль, я пока не решил, считайте что это эксперимент.
Возможно фичу оставлю, а описание уберу, чтобы не путало.

Имхо лучше, когда Shift указывается явно.
Да, но не бывает например Shift5.

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

Re: MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Fri 22 Aug, 2014 23:40

Обновление:
  • Исправлена ошибка, модификатор Double не работал с лево/правосторонними комбинациями

В шапке.

P.S.
Только что выложенный Macro Browser alt. r1.3 использует такие комбинации, рекомендую обновиться.

User avatar
LanKing
Posts: 180
Joined: Thu 31 Aug, 2006 20:39

MacroEx — запуск макросов нетрадиционными способами

Postby LanKing » Wed 17 Dec, 2014 23:58

Ctrl/:Double не работает.

Примечание модератора: http://bugs.farmanager.com/view.php?id=2899

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

turbo — работа с выделением в редакторе

Postby HaRT » Thu 16 Jul, 2015 20:40

Некрасивость: при (быстром) нажатии незадействованной комбинации (например, CtrlK-O) происходит срабатывание CtrlK, но в строке статуса при этом остаётся висеть сообщение CtrlO. Хотелось бы, чтобы ни того, ни другого не происходило, а вместо всего этого кратковременно (например, там же в строке статуса) выводилось сообщение, что вызвана незадействованная (unassigned) комбинация.
Кстати, конкретно на CtrlK-O (чтобы как в Студии) я собираюсь повесить переход к парному файлу (только пока не сконвертировал на Луа).
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Thu 16 Jul, 2015 21:03

HaRT wrote:Source of the post при (быстром) нажатии незадействованной комбинации (например, CtrlK-O) происходит срабатывание CtrlK
Не должно быть срабатывания, и в моей рабочей версии MacroEx его и нет (как и сообщения CtrlO).
HaRT wrote:Source of the post сообщение, что вызвана незадействованная (unassigned) комбинация.
Запишу себе.

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

MacroEx — запуск макросов нетрадиционными способами

Postby HaRT » Thu 16 Jul, 2015 21:08

John Doe wrote:Source of the post в моей рабочей версии MacroEx его и нет
Планируете ли её опубликовать?
John Doe wrote:Source of the post Запишу себе.
Спасибо.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Thu 16 Jul, 2015 21:20

HaRT wrote:Source of the post Планируете ли её опубликовать?
В текущем виде не хотелось бы (и не знаю буду ли заниматься в ближайшее время).
Но если реально мешают какие-нибудь баги...

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

MacroEx — запуск макросов нетрадиционными способами

Postby HaRT » Thu 16 Jul, 2015 21:28

John Doe wrote:Source of the post если реально мешают какие-нибудь баги...
Я вот только сегодня столкнулся то ли с конфликтом между Turbo (выделение строки) и Editor_SmartHomeEnd от SimSU (выделение до начала/конца строки), то ли с ошибкой в одном из них. Пока не разбирался. Как разберусь, отпишусь в соответствующей теме.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

MacroEx — запуск макросов нетрадиционными способами

Postby HaRT » Mon 20 Jul, 2015 14:16

HaRT wrote:Source of the post чтобы была возможность вставить разделители с текстом
John Doe wrote:Source of the post разделитель будет свойством пункта, перед которым должен появиться
John Doe wrote:
HaRT wrote:Source of the post А как-нибудь более самостоятельно?
Предлагайте.
Как я понимаю, подсказку MacroEx компонует, собирая в подходящих областях (например, Editor, Common) макросы, у которых начало аккорда совпадает с уже нажатым кнопкосочетанием (скажем, CtrlQ), а дальше идёт дефис. Это так?
Если да, то разделителями можно было бы считать те макросы, у которых этим дефисом аккорд и заканчивается (т.е. CtrlQ-), — тогда и с принадлежностью к семейству макросов вопросов не возникнет, и спокойно можно вставить в общую последовательность.
Реально?
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Mon 20 Jul, 2015 14:31

Этих псевдо-макросы представляются мне некрасивой и избыточной конструкцией.
Чтобы luamacro их загрузил обязательно должно быть задано поле action.
Плюс эти макросы-разделители будут видны и в MacroBrowser (скорее всего совершенно не в том порядке, как вам хотелось бы)

Стоит оно того?

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

MacroEx — запуск макросов нетрадиционными способами

Postby HaRT » Mon 20 Jul, 2015 15:31

John Doe wrote:Source of the post Стоит оно того?
Для меня — да. Чтобы угодить и тем, кому нет, можно добавить опцию.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Mon 20 Jul, 2015 18:02

Так используйте, если устраивает. Должно работать и сейчас.

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Wed 29 Jul, 2015 09:27

Задача из темы lurii @ Пользовательское меню как замена WEB Editor с помощью MacroEx решается например так:

Code: Select all

local Symbols = {
  q="«",
  w="»",
  Space=" ",
  [","]="<",
  ["."]=">",
  ["'"]=""",
  ["7"]="&",
  r="®",
  t="™",
  c="©",
}
local hk = "AltS"
local descr = "Web editor:"
local keys = ""
for key,str in pairs(Symbols) do
  Macro { description=("%5s: %s "):format(key,str);
    area="Editor"; key=hk.."-"..key;
    action=function()
      print(str)
    end;
  }
end

lurii
Posts: 13
Joined: Fri 25 Nov, 2011 11:54
Been thanked: 1 time

MacroEx — запуск макросов нетрадиционными способами

Postby lurii » Wed 29 Jul, 2015 10:24

John Doe wrote:Source of the post Задача из темы lurii @ Пользовательское меню в редакторе с помощью MacroEx решается так:

К сожалению, работает все, кроме пробела.
Сочетание AltS+Пробел вызывает появление виндовой менюшки far как буд-то кликнули мышкой по иконке окна слева вверху.
(Восстановить, Переместить, Размер, Свернуть, Развернуть ...)

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

MacroEx — запуск макросов нетрадиционными способами

Postby John Doe » Wed 29 Jul, 2015 10:42

lurii wrote:Source of the post К сожалению, работает все, кроме пробела.
Это особенность консоли, решаемо: XKeys — скрипт для замены одноимённого плагина
(впрочем, это может и не понадобиться, см. ниже)

lurii wrote:Source of the post MacroEx тоже выводить сообщение с подсказкой, но при этом необходимо постоянно удерживать клавишу Alt чтобы сработала 3-я клавиша и тянуться на другой край клавы не всегда получится.
Если в начале MacroEx.lua можно закомментировать строчку local break_sequence_on_mod_release = true, то можно будет не удерживать.


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

Who is online

Users browsing this forum: No registered users and 1 guest