Action manager

From Miranda NG
Revision as of 01:06, 26 December 2017 by Goraf (talk | contribs) (Imported translation using page migration)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Plugin:Actman/ru
Jump to navigation Jump to search
Other languages:
Action manager
Нет изображения
Имя файла Actman.dll
Автор Awkward
Скачать
Стабильная версия: 32-bit, 64-bit
Версия в разработке: 32-bit, 64-bit

Управление «горячими» клавишами и действиями, такими как открытие окна контакта, вставка текста, запуск сторонних программ и вызов сервисов.

Установка

Actman 3.0 несовместим с настройками предыдущей версии плагина, поэтому во время установки настройки старой версии будут сконвертированы в новый формат.

Основные возможности

Вкладка диалога Действия

Основное окно настроек состоит из двух списков: списка групп действий (сверху) и списка отдельных действий. Кнопки управления позволяют добавлять новые пункты в список, удалять их или перемещать. Рядом со списком групп действий находятся также кнопки для проверки введенных действий и отмены изменений, импорта и экспорта (последние две временно отключены). Переименование групп действий либо самих действий происходит по двойному клику на названии либо при нажатии кнопки F2. Если установлен плагин Variables, и содержимое текстового поля помечено как «S» (скрипт), то текст предварительно будет обработан этим плагином.

Chain (Выполнение другой цепочки)

Необходимо просто выбрать имя группы действий из списка. После прекращения выполнения ее, управление передастся обратно вызывающей цепочке.

Contact (Открытие окна беседы для контакта)

Необходимо выбрать нужный контакт из списка. Именно для него и будет высвечено окно сообщений либо сохранён хандл.

Database (Чтение-запись данных профиля)

Действие предназначено для чтения или записи данных профиля пользователя. Ниже выбора операции (чтение или запись) можно выбрать тип данных, которые мы хотим прочитать или записать. Последний результат — это результат выполнения предыдущего действия. Настройки в выпадающем списке задают тип контакта, для которого осуществляется операция чтения-записи:

Свои настройки — все операции осуществляются с настройками пользователя
Параметр — используются настройки контакта с хандлом, переданным в параметре при вызове
Последний результат — хандл контакта берется из результата выполнения предыдущего действия
Вручную — контакт выбирается из списка

Строка '<proto>' в имени модуля заменяется на название протокола для выбранного контакта.

Function call (Вызов функции)

Вызов функции из различных DLL с различным числом и типом параметров. Поддерживаются типы вызовов cdecl и stdcall. Поддерживается список шаблонов из services.ini

INI

Работа с INI-файлами (чтение, запись, удаление настроек).

InOut (Ввод/вывод)

Вывод последнего результата в окно сообщений активного контакта, запись (дописывание) текста в файл, чтение текста из файла, а также вставка в буфер обмена или чтение из него. При выборе работы с буфером обмена становятся доступны опции, устанавливающие тип текста (ANSI/Unicode) и направление (в буфер/из буфера). Работа с файлами заключается в чтении, дополнении либо записи юникодного текста из файла / в файл.

Jump (Переход)

Проверка на заданное условие и переход на другое действие макроса либо прекращение его выполнения.

MessageBox (Окно сообщений)

Реализация вывода стандартного MessageBox. Можно ввести заголовок и текст для окна сообщения, а также указать, какие кнопки и (если надо) значок будут показаны в сообщении. В следующем действии можно будет проверить результат (код нажатой кнопки). Текст <last> в заголовке либо тексте будет заменен на значение последнего результата.

Notes (Заметки)

Текстовые заметки, никак не влияющие на выполнение макроса. Могут быть использованы в качестве описания работы макроса или сохранения прочих заметок.

Program (Запуск программы)

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

  • <param> — параметр
  • <last> — результат последнего действия

Service (Выполнение сервиса)

Несколько сложные на вид, но универсальные настройки для вызова сервиса Миранды. Комбобоксы wParam и lParam в верхней части позволяют выбрать тип параметра:

number value — целое число
ANSI string — строка ANSI
Unicode string — строка Unicode
current contact — параметр - хандл текущего контакта. Это контакт, которому принадлежит активное окно беседы.
last result — результат предыдущего действия
parameter — параметр, заданный при запуске группы действий на выполнение
structure — параметр - структура, которая может быть отредактирована в окне настроек.

Поля wParam и lParam в нижней части — для значений, передаваемых в сервис. Если в папке плагинов присутствует файл services.ini, то, находясь в диалоге настроек, можно нажать F1 для того, чтоб увидеть короткую справку для выбранного в комбобоксе имени сервиса. Большая часть сверху занята тем, что нужно сделать с результатом выполнения сервиса: показать во всплывающем окне или окне сообщений или вставить в текст. Результат может быть представлен как целое число, шестнадцатеричное число, строка (ANSI или Unicode) либо элемент структуры. Строка '<proto>' в имени сервиса перед выполнением заменяется на название протокола для контакта, хандл которого хранится как параметр при вызове последовательности действий.

Редактор структур

Окно (список) слева будет содержать элементы структуры. Первый столбец — тип, второй — размер элемента (фактически, только для массивов), третий — значение элемента. Чекбокс в первом столбце служит для пометки, какой элемент структуры будет использован для возврата значения после выполнения сервиса. Кнопки справа от списка служат для добавления элемента, удаления его и перемещения к началу/концу структуры. Выпадающий список справа вверху служит для выбора типа элемента структуры. Поле размера данных (поле под выпадающим списком) предназначено для указания размера блока памяти в байтах в случае массивов и указателей на буфер. Длинное поле ниже поля размера данных служит для ввода непосредственно самого значения. При этом часть текста типа $#### (для массивов или указателей на слова) или $##, где ## — шестнадцатеричные цифры, будут представлены как слова или байты соответственно. Знак «|» используется как разделитель полей в итоговом описании структуры, поэтому нежелательно его использование в текстах, вместо этого можно написать $7C или $007C (в случае юникодного текста) Это описание можно получить и нажав F1 или кнопку «Помощь» в окне диалога.

Settings (Настройки)

Специальные настройки внешнего вида списка контактов, списка сервисов, а также некоторые опции текущего в списке макроса. Эти настройки никак не влияют на текущее действие, добавлены в общий список для простоты обработки.

Storage (Хранилище)

Место для сохранения-восстановления значения последнего результата.

Text (Вставка текста)

Текст или скрипт, результат выполнение которого может быть использован в последюущих действиях. В самом тексте можно указывать некоторые специальные макросы, список которых можно посмотреть, нажав F1.

Вкладка диалога Планировщик

Диалог содержит настройки для создания заданий для вызова макросов по времени. Время выполнения можно задать абсолютным либо относительным от запуска задачи, а также — моментальным. Группа настроек ниже поможет задать количество и интервал повторов. Самая нижняя группа предназначена для выбора, надо ли порождать событие Миранды при выполнении задачи.

Вкладка диалога Хуки

Диалог содержит большую таблицу со списком пользовательских перехватов событий. Сами настройки, событие и вызываемый для него макрос можно выбрать в выпадающем списке внизу. Список событий Миранды может иметь несколько предустановленных значений при наличии в папке плагинов файла services.ini. Нажатие на кнопку над списком или клавиши F1 выдаст в таком случае развернутую подсказку.

Вкладка диалога Использование действий

В этом диалоге можно задать способ вызова макросов. Возможные варианты:

  • Горячая клавиша
  • Панель инструментов TabSRMM при наличии соответствующего плагина
  • Панель инструментов TopToolBar при наличии соответствующего плагина
  • Главное меню
  • Меню контакта
  • Меню протоколов
  • Меню статусов
  • Меню в трее (если доступно, пока для Clist_modern)

Также можно задать отображение пунктов меню при условии выполнения скрипта, если установлен плагин Variables.